AD統合とACL対応ファイルシステムを備えたSamba 3ホストをセットアップしました。 Windowsクライアントを使用して、ユーザーとグループの権限を設定できます。
これまで、SambaはPOSIX ACLのrwx権限にマップするだけなので、Windowsで「変更」または「フルコントロール」権限を使用できません。また、xattrsとZFS ACLサポートについてもいくつか読んでいます。
誰かがPOSIX ACLを超えてWindows ACEに完全に似せるための最良の方法についてのヒントを与えることはできますか?
これは私がいつもそれをやった方法です、私がこれをどこで読んだかよくわかりません。
Samba共有のほとんどのWindows ACLオプションをADに接続するには、POSIX ACLとXATTRSの両方を有効にする必要があります。
/dev/sda2 /samba ext3 user_xattr,acl 1 2
そして、smb.confで、次のようにidmapping、nt acls、および属性マッピングを有効にする必要があります。
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
idmap backend = idmap_rid:<domain_netbios_name>=16777216-33554431
nt acl support = yes
inherit acls = yes
map acl inherit = yes
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
inherit permissions = yes
次に、共有の管理者ユーザーを定義し、そのユーザーを使用してWindowsからセキュリティ設定を編集するだけです。
[public]
path = /share/Public
public = yes
writable = yes
printable = no
admin users = "DOMAIN\user"
唯一の問題は、既存のACL(rootを「否認」し、所有権をWindowsユーザーに譲渡する)とマップされていないユーザーグループに関連している可能性があります。
グループを手動でマッピングするには、次のようにする必要があります。
net groupmap delete ntgroup="Domain Admins"
net groupmap delete ntgroup="Domain Users"
net groupmap delete ntgroup="Domain Guests"
net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root
net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users
net groupmap add ntgroup="Domain Guests" rid=514 unixgroup=nobody
組み込みセキュリティグループ用。
そして、あなたのすべてのグループのために:
groupadd mygroup
net groupmap delete ntgroup="mygroup"
net groupmap add ntgroup="DOMAIN\mygroup" rid=1000 unixgroup=mygroup type=d
ファイルでPOSIX ACLを実際に使用できるようにする必要がない場合(たとえば、ユーザーがローカルでSambaコントローラーにログインできない場合)、vfsを使用して完全なNT ACLを作成できます。
[global] ストアのdos属性= yes [share] vfsオブジェクト= acl_xattr
2つのことを行う必要があります。
まず、ファイルシステムがACLをサポートしている必要があります。 ACLを有効にするfstabファイルの行の例を次に示します。もちろん、実際の行は異なります。
/dev/mapper/VolGroup00-SambaVol /samba ext3 defaults,acl 0 0
これを実行したら(そして再マウントまたは再起動して)、smb.confファイルでnt aclを有効にします。
[share1]
path = /samba/share1
nt acl support = yes
writeable = yes
両方を実行し、Sambaを再起動したら、適切なACLが必要です。