ユーザーグループ専用の NFSv4 経由のフォルダ共有

ユーザーグループ専用の NFSv4 経由のフォルダ共有

一部のユーザーが利用できるように NFSv4 経由でフォルダーを共有したいのですが、権限の問題が発生しています。

私は、setGID を使用してフォルダーのアクセス許可を設定したので、新しいファイルはフォルダー グループの所有者によって作成されます。ただし、ユーザーはグループへのアクセス許可がなくても自由にファイルを作成できます (実際、デフォルトのユーザーの UMASK は 700 なので、これは常に発生します)。

私は結局応募しようとしたこのソリューションはACLを使用してディレクトリumaskを強制します試してみましたが、期待通りにはいきませんでした。NFS ウィキ通常の ACL は NFSv4 では機能しないので、NFS4 固有の ACL ツールを使用する必要があるということです。

しかし、問題があります。サーバーに nfs4-acl-tools をインストールしようとしたところ、次のエラーが発生しました。

# nfs4_getfacl /export/proyectos/
Operation to request attribute not supported.

はい、パーティションは ACL サポートでマウントされています。

/dev/mapper/mpath4-part1 /export/proyectos ocfs2 rw,relatime,_netdev,heartbeat=local,nointr,data=ordered,errors=remount-ro,usrquota,coherency=full,user_xattr,acl 0 0

通常の ACL は機能しています:

# getfacl /export/proyectos/
getfacl: Eliminando «/» inicial en nombres de ruta absolutos
# file: export/proyectos/
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

私はnfs4_getfaclをstraceしました。メーリングリストそしてこれを得ました:

# strace nfs4_getfacl /export/proyectos
<stripped>
getxattr("/export/proyectos", "system.nfs4_acl", 0x0, 0) = -1 EOPNOTSUPP (Operation not supported)
<stripped>

nfs4_getfacl は正しいフラグを要求していますか? nfs4_acls はどのファイルシステムでもまったく実装されておらず、現在 nfs4 は何らかの nfs4acl-posixacl マッピングに依存していると思っていました。しかし、もうよくわかりません。

答え1

NFS サーバーでは を使用しgetfacl(ローカル ファイル システムを照会するため)、nfs4_getfaclNFS クライアントでは を使用する必要があります。

NFSv4 ACL と Linux ACL acl(5) は完全に異なる標準です。Linux NFS サーバーは ACL を相互に変換します。

投稿を読むLinux の NFS マウントに ACL がありませんか?

関連情報