私はそれを見つけました:デフォルトのパーミッションを適用しています
記事より:
<オール>
setgid
を設定します
chmod g+s <directory>
グループおよびその他のデフォルト ACL を設定する
setfacl -d -m g::rwx /<directory>
setfacl -d -m o::rx /<directory>
次に確認できます:
getfacl /<directory>
出力:
# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
これは Chris の回答への追加です。Arch Linux リグでの私の経験に基づいています。
デフォルトのスイッチ (-d
を使用) ) と変更スイッチ (-m
) はデフォルトのパーミッションのみを変更し、既存のものはそのままにします:
setfacl -d -m g::rwx /<directory>
既存のものを含むフォルダーのパーミッション構造全体を変更したい場合 (追加の行を実行して、-R
で再帰的にする必要があります) ):
setfacl -R -m g::rwx /<directory>
例
setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else.
(クレジット すべての権限を取り消す行の構文については、コメントで markdwite を使用してください)
自分自身/ログに記録されたユーザーを www-data グループに追加して、www-data サーバーによって作成されたファイルを操作できるようにします
sudo usermod -a -G www-data $USER
新しく追加されたグループを有効にするには、再起動/再ログインする必要があります
cd /var/www
www-data を html フォルダーのグループ メンバーとして追加し、ユーザーを所有者として追加して、グループ メンバーだけでなくそれを所有するようにします
sudo chown -R $USER:www-data html
USER の代わりにユーザー名を入力してください
必要に応じて読み取り、書き込み、実行権限を設定します (ugo) u=user、g=group、o=others
sudo chmod 750 html
html の GID を設定すると、html で新しく作成されたファイルは所有権を継承します:
sudo chmod g+s html
これにより、html ディレクトリとサブディレクトリ内に新しく作成されたファイル/ディレクトリのデフォルト ルールが作成されます。
sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html
インストールされている場合は SELinux を作成し、www-data コンテキスト要件を無視して、書き込み権限を許可します
sudo setsebool -P httpd_unified 1
ディレクトリを一覧表示して、適用された新しい権限を確認します
ls -ld html
これを返します
drwxrwsr-x+ 3 html www-data
末尾の + は、ディレクトリに ACL (アクセス制御リスト) が設定されていることを示します。
リファレンス :フォーラムへのリンク