web-dev-qa-db-ja.com

ACL複数のデフォルトグループ?

Linux ACLを使用して、フォルダーへのデフォルトのアクセス権を持つ複数のグループを持つことができますか?異なるコーディンググループといくつかのプロセス間でコードリポジトリを共有するためにこれが必要です。私の考えでは、あるグループのユーザーが共有リポジトリ内にコンテンツを作成すると、所有者がそのユーザーであっても、デフォルトのアクセス許可がその新しいファイルに伝達され、他のユーザーは引き続きコンテンツにアクセスできます。

これが私がrootとして試したものです:

 mkdir /tmp/temp
chmod 770 /tmp/temp
setfacl -dm g:www-data:rx、g:sambashare:rx/tmp/temp 
 getfacl /tmp/temp

#ファイル:temp 
#所有者:root 
#グループ:root 
 user :: rwx 
 group :: rwx 
 other :: --- 
 default:user :: rwx 
 default:group :: rwx 
 default:group:www- data:rx 
 default:group:sambashare:rx 
 default:mask :: rwx 
 default:other :: --- 

テストユーザーとして

 id 
 uid = 1004(testuser)gid = 1007(testuser)groups = 1007(testuser)、110(sambashare)
 cd /tmp/temp
bash :cd:temp:アクセスが拒否されました

明らかに私が期待したように機能していません。なぜそれが機能しないのか、そしてどうすればこれを修正できるのかを誰かが理解するのを手伝ってもらえますか?

P.S.通常のグループ権限ではなく、デフォルトのグループ権限を設定しています。これらは子に伝達されることになっているためです。

 setfacl -m g:sambashare:r-x/tmp/temp

ありがとう。

1
Budric

setfacl -Rdm g:www-data:r-x,g:sambashare:r-x /tmp/tempsetfacl -Rm g:www-data:r-x,g:sambashare:r-x /tmp/tempを実行してみてください。オプションdは、新しいファイルとディレクトリのデフォルトを設定しますが、root:rootのみがアクセスできるように、既存の設定を変更しません。 -Rは、必要な変更を加えて既存のディレクトリを再帰的に下に移動するのに便利です。

3
becomingwisest