基本的なファイルおよびディレクトリの操作
以下のコマンドは、/etc ディレクトリ内において、非アルファベット文字で始まり、その後に1つの英字が続き、その後に任意の長さの文字列を含むファイルまたはディレクトリを検索します。
find /etc -type f -o -type d | grep '^\./[^[:alpha:]][a-zA-Z].*' | sort | uniq
特定条件のファイル・ディレクトリのコピー
/etc 以下で、p で始まり、数字で終わらないすべてのファイルおよびディレクトリを /tmp/mytest1 にコピーするには、次のように実行します。
find /etc -name 'p*' -not -name '*[0-9]' -exec cp -r {} /tmp/mytest1/ \;
テキストの大文字変換と保存
/etc/issue の内容を大文字に変換し、/tmp/issue.out に書き込むための方法は以下の通りです。
tr 'a-z' 'A-Z' < /etc/issue > /tmp/issue.out
ユーザーおよびグループ管理の実践
- グループ作成:GID 2019 を持つ
distroグループを作成。
groupadd -g 2019 distro - ユーザー作成(基本組指定):UID 1005、基本グループ
distroでmandrivaを作成。
useradd -u 1005 -g distro mandriva - ユーザー作成(カスタムホームディレクトリ):UID 1100、ホームディレクトリを
/home/linuxに設定。
useradd -u 1100 -d /home/linux mageia - パスワード設定と有効期限:
mageiaのパスワードをmageduに設定し、7日後に期限切れとなるように設定。
echo "magedu" | passwd --stdin mageia
usermod -e $(date -d "7 days" +%F) mageia - ユーザー削除(ホームディレクトリ保持):
mandrivaを削除してもホームディレクトリを残す。
userdel mandriva - 複数グループを持つユーザー作成:UID 2002、基本グループ
distro、追加グループpeguinでslackwareを作成。
useradd -u 2002 -g distro -G peguin slackware - シェルの変更:
slackwareのデフォルトシェルを/bin/tcshに変更。
usermod -s /bin/tcsh slackware - ログイン禁止とグループ追加:
slackwareにadminsグループを追加し、ログイン不可に設定。
usermod -s /sbin/nologin -G admins slackware
共有ディレクトリの権限設定と制御
まず、user1~user3 を作成し、/data/test ディレクトリを初期化します。
useradd user1 && useradd user2 && useradd user3
mkdir -p /data/test
chown user1:user1 /data/test
以降の設定:
- ユーザー間のアクセス許可:
user2が/data/test内のファイルに対して読み書き可能にする。
chmod 664 /data/test/* - ファイルの削除保護:
a1.shとa2.shはすべてのユーザーから削除できないように固定。
chattr +i /data/test/a1.sh /data/test/a2.sh
a3.shとa4.shはuser1とroot以外のユーザーが削除できないように設定。
chmod 600 /data/test/a3.sh /data/test/a4.sh - グループの再設定とアクセス制限:
user3にuser1グループを追加。
usermod -aG user1 user3
同時に、user1自身が/data/testへのアクセスを失うように権限を制限。
chmod 700 /data/test - ACLのクリア:ディレクトリ内のすべてのACL設定を削除。
setfacl -bR /data/test