回答:
グループを設定するには/var/www
、setgidビットを指定します。
chgrp www-data /var/www
chmod g+s /var/www
サブディレクトリも調整するには: find /var/www -type d -exec chmod g+s {} +
これにより、新しく作成されたすべてのファイルは、ユーザーの代わりに親ディレクトリのグループを継承します。
デフォルトのグループ許可を設定するには、ACLを使用する必要があります。「デフォルト」ACLを設定します。
setfacl -m "default:group::rwx" /var/www
サブディレクトリも調整するには: find /var/www -type d -exec setfacl -m d:g::rwx {} +
注:ファイルシステムでは、ACLサポートが有効になっている必要があります。デフォルトでオンになっている場合があります。上のext3やext4のあなたは「操作はサポートされていません」得るかもしれない、それは手動で有効にする必要があり、その場合には:
現在マウントされているファイルシステムの場合: mount -o remount,acl /
恒久的– 以下の方法のいずれか:
fstabレベルで:編集/etc/fstab
してacl
オプションフィールドに含める
ファイルシステムレベルで: tune2fs -o acl /dev/diskname
chmod
すべてのファイルも取得するためです。
install
、一部のコマンドは、何らかの方法でディレクトリのデフォルトACLをバイパスすることに注意してください。
/var/www/html/projects
フォルダをWWW-データは、ファイルを作成するときには、持っているrw-rw-r
権限を私はコンソールで何かをするときに使用してファイルを作成しますrw-r--r
。新しく作成されたファイルに常にrw-rw-r
許可を与えるにはどうすればよいですか?
umask
ます。setfacl
メイン投稿のように、ディレクトリごとのデフォルトのパーミッションを変更できます。
これは、setgidで 'grawity'の答えに固執している人がいる可能性があります。フォルダーのグループが自分のものと異なる場合は、rootとしてchmodを実行する必要がありますが、これを行う必要があることを示すエラーは表示されません。
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set
stor
/appe
?HTTP経由PUT
?シェルアカウントを通じて?これらの詳細は、考えられる答えに大きく影響するため重要であり、質問に答える必要があります。