このグループに属するディレクトリを作成しましたwww-data
。ファイルを作成した人が誰であっても、グループメンバーがファイルに書き込むことができることを願っています。私のユーザー名はですpi
。
mkdir ./shared
sudo chown pi ./shared
sudo chgrp www-data ./shared
sudo chmod -R 770 ./shared
sudo chmod g+sw ./shared
で確認してみるとls -l
次のようになります。
drwxrws--- 2 pi www-data 4096 sept 28 17:10 shared
その中に新しいファイルを作成しました。
cd ./shared
touch ./test.txt
ところで確認してみると、グループに新しい書き込み権限がありません。test.txt
-rw-r--r-- 1 pi www-data 0 sept 28 17:10 test.txt
私に何の問題もあるのか?できませんsudo chmod -R 770 ./shared
。スクリプト/Webサーバーは、実行するたびにディレクトリに新しいファイルを生成します。
特定のファイルを作成した人に関係なく、所有者とグループのメンバーがファイルに対する読み取りおよび書き込み権限を持つ共有ディレクトリを作成する方法は?
答え1
システムとファイルシステムがposix-draft-type ACLをサポートしている場合は、次のことができます。
setfacl -m d:g::rw ./shared
umask
このグループには、ファイルを作成したプロセスが通常これらの権限を付与しない場合でも、新しく作成されたファイルに対する読み取りおよび書き込み権限が自動的に付与されます。
chmod
それにもかかわらず、これはユーザーが後でこれらの権限を使用/削除するのを防ぎませんsetfacl
。