フォルダ内に作成されたもの(ディレクトリ、ファイル)がデフォルトのアクセス権とグループを継承するようにフォルダを設定したいと思います。
グループを「メディア」と呼びましょう。また、ディレクトリ内に作成されたフォルダ/ファイルには、自動的にg + rwが必要です。
私はそれを見つけました: デフォルトの権限を適用しています
記事から:
chmod g+s <directory> //set gid
setfacl -d -m g::rwx /<directory> //set group to rwx default
setfacl -d -m o::rx /<directory> //set other
次に確認できます:
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.
([〜#〜] credit [〜#〜]すべての権限を取り消す行のシンタックスのコメントでmarkdwiteする)
Www-dataグループに自分/ログインユーザーを追加して、www-dataサーバーで作成されたファイルを操作できるようにする
Sudo usermod -a -G www-data $USER
新しく追加したグループを有効にするために、再起動/再ログインする必要があります
cd /var/www
Htmlフォルダーのグループメンバーとしてwww-dataを追加し、所有者としてユーザーを追加して、グループメンバーと同様にそれを所有します
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(アクセス制御リスト)がディレクトリに設定されていることを示します。
参照: フォーラムへのリンク