Samba가 전체 Windows-ACL을 지원할 수 있습니까?


12

AD 통합 및 ACL 사용 파일 시스템을 갖춘 Samba 3 호스트를 설정했습니다. Windows 클라이언트를 사용하여 사용자 및 그룹 권한을 설정할 수 있습니다.

지금까지 Samba는 POSIX ACL의 rwx 권한에 매핑 되었기 때문에 Windows에서 "수정"또는 "모든 권한"권한을 사용할 수 없습니다. 또한 xattrs 및 ZFS ACL 지원에 대한 몇 가지 사항을 읽었습니다.

누군가 POSIX ACL을 넘어서 Windows ACE와 완전히 유사한 가장 좋은 방법에 대한 힌트를 줄 수 있습니까?

답변:


7

이것이 내가 항상 어떻게했는지, 내가 이것을 어디에서 읽었는지 확실하지 않습니다.

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 (루트를 "삭제"하고 소유권을 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, 당신은 관리자 권한을 가진 여러 가질 수 이런 식으로.
Hubert Kario

4

파일에서 실제로 POSIX ACL을 사용할 필요가없는 경우 (예 : 사용자가 Samba 컨트롤러에 로컬로 로그인 할 수없는 경우) vfs를 사용하여 전체 NT ACL을 가질 수 있습니다.

[글로벌]
  dos 속성 저장 = 예
[공유]
  vfs 객체 = acl_xattr

1

두 가지를해야합니다.

먼저 파일 시스템이 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

두 가지를 모두 수행하고 삼바를 다시 시작하면 적절한 ACL이 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.