Linuxシステム管理演習:ファイル操作とユーザー・グループ設定

基本的なファイルおよびディレクトリの操作

以下のコマンドは、/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、基本グループ distromandriva を作成。
    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、追加グループ peguinslackware を作成。
    useradd -u 2002 -g distro -G peguin slackware
  • シェルの変更slackware のデフォルトシェルを /bin/tcsh に変更。
    usermod -s /bin/tcsh slackware
  • ログイン禁止とグループ追加slackwareadmins グループを追加し、ログイン不可に設定。
    usermod -s /sbin/nologin -G admins slackware

共有ディレクトリの権限設定と制御

まず、user1user3 を作成し、/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.sha2.sh はすべてのユーザーから削除できないように固定。
    chattr +i /data/test/a1.sh /data/test/a2.sh
    a3.sha4.shuser1root 以外のユーザーが削除できないように設定。
    chmod 600 /data/test/a3.sh /data/test/a4.sh
  • グループの再設定とアクセス制限user3user1 グループを追加。
    usermod -aG user1 user3
    同時に、user1 自身が /data/test へのアクセスを失うように権限を制限。
    chmod 700 /data/test
  • ACLのクリア:ディレクトリ内のすべてのACL設定を削除。
    setfacl -bR /data/test

タグ: linux Shell find chmod chown

9月15日 15:23 投稿