ユーザー(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を決定します。
- 新しいオブジェクトは、インクルードディレクトリのデフォルト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
。
答え2
マウント時のACL設定は、そのマウントの/ etc / fstab行を介して行われます。詳細については、man fstabを参照してください。 4番目の引数にあります。可能な値はファイルシステムによって異なります。これは man mount にあります。 ext2/3/4の場合、追加されたオプションはaclまたはnoaclです。 (上記の内容はコメントでなければなりませんが、コメントできません。)