web-dev-qa-db-ja.com

ディレクトリ内のすべてのフォルダー/ファイルにデフォルトのファイル権限を設定するにはどうすればよいですか?

フォルダ内に作成されたもの(ディレクトリ、ファイル)がデフォルトのアクセス権とグループを継承するようにフォルダを設定したいと思います。

グループを「メディア」と呼びましょう。また、ディレクトリ内に作成されたフォルダ/ファイルには、自動的にg + rwが必要です。

274
Chris

私はそれを見つけました: デフォルトの権限を適用しています

記事から:

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
288
Chris

これは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する)

29
thebunnyrules

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(アクセス制御リスト)がディレクトリに設定されていることを示します。

参照フォーラムへのリンク

1
Bsienn