Sambaは完全なWindows-ACLをサポートできますか?


12

AD統合とACL対応ファイルシステムを備えたSamba 3ホストをセットアップしました。Windowsクライアントを使用して、ユーザーとグループのアクセス許可を設定できます。

これまで、SambaはPOSIX ACLのrwxパーミッションにマップするだけで、Windowsで「変更」または「フルコントロール」パーミッションを使用できません。また、xattrsとZFS ACLのサポートについてもいくつか読みました。

誰かがPOSIX ACLを超えてWindows ACEに完全に似ている最善の方法についてのヒントを与えることができますか?

回答:


7

これは私がいつもやってきたことであり、これをどこで読んだのかよくわかりません。

ADに接続されているSamba共有のほとんどのWindows ACLオプションを使用するには、POSIX ACLとXATTRSの両方を有効にする必要があります。

/dev/sda2       /samba              ext3    user_xattr,acl  1   2

また、smb.confで、idmapping、nt acl、および次のような属性マッピングを有効にする必要があります。

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(ルートを「否認」し、所有権を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

2
に変更admin usersacl group controlて設定するとforce group = +DOMAIN\Admin-group、この方法で複数の管理者権限を持つことができます。
ヒューバートカリオ

4

ファイルにPOSIX ACLを実際に使用する必要がない場合(たとえば、ユーザーがローカルでSambaコントローラーにログインできない場合)、vfsを使用して完全なNT ACLを作成できます。

[グローバル]
  ストア属性=はい
[共有]
  vfsオブジェクト= acl_xattr

1

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が必要になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.