ACLおよびクラシック権限

ACLおよびクラシック権限

FreeNASサーバーにgitサーバーを設定しようとしています。私が経験している問題は、私が望む方法で他のユーザー/グループの権限を設定することです。

基本的に私は2つの異なるグループを持っています。 1つには、すべてのリポジトリを含むディレクトリにアクセスgit-auth-userできるすべてのユーザーが含まれています(私が考えているディレクトリに限定する必要がありますが、今は詳細にすぎません)、デフォルトではgitデーモンです。プロセスには読み取り専用アクセス権が必要です。rwxxgit-unauth-user

setfacl -m "g:git-auth-user:rwx:fd:allow" git/私は走ると私にすべての権利が与えられると思ったが、git-auth-userそうではなかった。

検索してみると、クラシック権限はまだACLが割り当てることができる完全な権限を制限しているようです。これは基本的にothersすべての権限を付与する必要があることを意味しますか(デフォルトではchmod 777 dir)?しかし、私はACLを介して自分の権利が制限されていない誰もがフルアクセスを持っていると仮定していますが、これは明らかに私が望むものではありません。

otherACLを介して配布する最も許可された権限でクラシック権限を設定する必要がある問題を解決する方法はありますか?そうでない場合、特別なアクセス権が付与されていないすべての人のアクセスを完全に拒否するACLはありますか?

編集する:

ls -la(だからchmod 770ディレクトリの場合)

drwxrwx---+  2 root  wheel     2 Jun 22 23:45 git

そして

$ getfacl git/
# file: git/
# owner: root
# group: wheel
group:git-auth-user:rwx-----------:fd----:allow
            owner@:rwxp--aARWcCos:------:allow
            group@:rwxp--a-R-c--s:------:allow
         everyone@:------a-R-c--s:------:allow

今、このグループのユーザーが私が得たgit-auth-userディレクトリ内に新しいディレクトリを作成しようとするとgit

$ mkdir test.git
mkdir: test.git: Permission denied

一方、これを使用するとうまく機能しますが、誰もがディレクトリへのフルアクセスを許可するchmod -R 777 gitため、明らかに非常に悪い解決策ですgit-auth-usergit-roディレクトリへのアクセス)ディレクトリにアクセスすると、ACLに基づいてそのユーザーに対するすべての権限を具体的に削除できますが、これは明らかに拡張されておらず、私が見落としている質問に対するより良い解決策が必要であると確信しています。

ベストアンサー1

ACLがある場合は、一般的なchmodビットをオーバーライドします。さらに、NFSv4 ACL にはマスクがありません。

ここでの問題は、「rwxp」ではなく「rwx」だけを設定したことです。 "p"はAPPEND_DATA/ADD_SUBDIRECTORYで、サブディレクトリの追加を制御します。

おすすめ記事