ディレクトリの特別権限の設定

ディレクトリの特別権限の設定

ユーザー(useroneなど)と権限setgid 775を持つグループ(grouponeなど)が所有するLinuxシステムにディレクトリ(データなど)があります。 useroneが新しいディレクトリを作成するたびに、グループの権限を継承しません。 useroneが新しいディレクトリを作成するたびに、グループの権限が継承されることを望みます。どうすればいいですか?

useroneがディレクトリを作成するたびに、グループユーザーに対する書き込み権限が失われます。

0 drwxr-sr-x. 2 userone groupone   6 Dec  8 02:49 tests

ベストアンサー1

それでは、そのディレクトリに作成されたファイル/ディレクトリが親ディレクトリの権限を継承したいという意味ですか?

これを行うには、デフォルトのACL(acl(5)):

デフォルトのACLがディレクトリに関連付けられている場合は、ファイルオブジェクトを生成した関数のモードパラメータとディレクトリのデフォルトのACLを使用して、新しいオブジェクトのACLを決定します。

  1. 新しいオブジェクトは、インクルードディレクトリのデフォルトACLをアクセスACLに継承します。

だから、setfacl(1)、この-dフラグはデフォルトのACLを変更するように指示します。

$ ls -ld data
drwxrwsr-x+ 2 userone groupone 4096 Dec  8 18:36 data/
$ setfacl -d -m u::rwx,g::rwx,o::r-x data
$ getfacl data
# file: data
# owner: userone
# group: groupone
# flags: -s-
user::rwx
group::rwx 
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

設定すると、ディレクトリに作成された新しいファイルまたはディレクトリは、デフォルトのACLから権限を取得します。これはumaskファイルを生成したプロセスのモードをオーバーライドしますが、open()/mkdir()などに割り当てられたファイルモードはオーバーライドしません。システムコール。

$ mkdir data/test
$ ls -ld data/test
drwxrwsr-x+ 2 userone groupone 4096 Dec  8 18:38 data/test/

マウントするときは、マウントオプションを使用してファイルシステムでACLを有効にする必要がありますacl

おすすめ記事