システム管理者として、Linux サーバーですべてのユーザーに読み取り/書き込みのアクセスを与えたい特定のディレクトリがある場合があります。 このガイドでは、Linux の特定のディレクトリ (共有ディレクトリ) ですべてのユーザーに対して書き込みアクセスを有効にする方法を検討します。
これには、適切なアクセス権を設定し、特定のディレクトリを共有するか書き込みアクセスを持つすべてのユーザーに対して共通のグループを割り当てる、最も効果的で信頼できる方法を必要とします。
そこで、次のように、システム上にまだ存在しない場合は、ディレクトリと共通グループを作成することから始めます:
$ sudo mkdir -p /var/www/reports/$ sudo groupadd project
次に、ディレクトリへの書き込みアクセス権を持つ既存のユーザーを追加します。
$ sudo usermod -a -G project tecmint
上記のコマンドで使用するフラグと引数は次のとおりです:
-
-a
– これはユーザを補助グループに追加するものです。 -
-G
– グループ名を指定します。 -
project
– グループ名. -
tecmint
– 既存のユーザー名. -
-G
– グループ名. -
project
– 既存のユーザー名.
その後、ディレクトリの適切なパーミッションの設定に進みます。オプション -R
はサブディレクトリへの再帰的操作を可能にします:
$ sudo chgrp -R project /var/www/reports/$ sudo chmod -R 2775 /var/www/reports/
上の chmod コマンドのパーミッション 2775 について説明します。
-
2
– setGID ビットをオンにし、新しく作成されたサブファイルはディレクトリと同じグループを継承し、新しく作成されたサブディレクトリは親ディレクトリの set GID ビットを継承することを意味します。 -
7
– owner に rwx パーミッションを与える。 -
7
– group に rwx パーミッションを与える。 -
5
– other に rx パーミッションを与える。
次のように、さらにシステム ユーザーを作成し、ディレクトリ グループに追加できます。
$ sudo useradd -m -c "Aaron Kili" -s/bin/bash -G project aaronkilik$ sudo useradd -m -c "John Doo" -s/bin/bash -G project john$ sudo useradd -m -c "Ravi Saive" -s/bin/bash -G project ravi
次に、上記の新しいユーザーがプロジェクト レポートを格納するサブディレクトリを作成します。
$ sudo mkdir -p /var/www/reports/aaronkilik_reports$ sudo mkdir -p /var/www/reports/johndoo_reports$ sudo mkdir -p /var/www/reports/ravi_reports
これでファイル/フォルダーを作成し、同じグループに属する他のユーザーと共有できます。 このチュートリアルでは、特定のディレクトリですべてのユーザーに対して書き込みアクセスを有効にする方法について確認しました。 Linux でのユーザー/グループに関する詳細については、ユーザー/グループのファイル権限と属性の管理方法を参照してください。