FreeBSD + SSSD + Samba + Windos Server 2019 AD: 권한을 설정하거나 파일을 생성할 수 없습니다.

FreeBSD + SSSD + Samba + Windos Server 2019 AD: 권한을 설정하거나 파일을 생성할 수 없습니다.

나는 다음을 사용하고 있습니다 :

  • FreeBSD 12.1, p10 amb64 출시
  • 삼바 4.10.17
  • SSD 1.11.7

Windows 2012R2에서 Windows 2019로 Active Directory를 업그레이드하려고 합니다. 기존 설정에서는 2012 AD에 unix 특성을 추가하고 Winbind를 사용하여 AD와 통합했습니다.

새로운 설정에서는 unix 속성을 사용하지 않고 SSSD + Samba를 사용하여 AD와 통합하려고 합니다. SSSD를 설정하고 AD에 연결할 수 있었습니다. AD 사용자로 로그인하여 로컬 사용자처럼 AD 사용자를 쿼리할 수 있도록 PAM과 NSSwitch를 수정했습니다.

aclmode 및 aclinherit가 통과로 설정된 ZFS Zvol을 가리키는 테스트 공유가 있습니다. 사용자 계정만 작동하도록 할 수 있습니다. 그룹 ACL을 설정해도 액세스 권한이 부여되지 않는 것 같습니다.

setfacl을 사용하여 ACL을 설정하면 BSD와 Windows 서버 모두에서 제대로 작동합니다. Windows 측에서 속성->보안 탭을 보면 사용자가 "전체 이름 [Unix User\Username]" 대신 "Username [Unix User\Username]"으로 표시됩니다.[이메일 보호됨]]" 내 Windows 2012R2 설정에서.

로그에서 유용한 내용을 찾을 수 없습니다. 문제가 무엇인지 알 수 없지만 그룹/acl 문제와 Windows/Samba가 Unix 사용자 대신 AD 사용자로 설정된 사용자/그룹을 인식하지 못하는 것이 모두 문제의 증상이라고 생각합니다.

krb5.conf

[libdefaults]
default_realm = DERP.WHATEVER.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES-CBC-MD5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES-CBC-MD5
preferred_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES-CBC-MD5

[realms]
                                                
[domain_relay]

[appdefaults]
    pam = {
        ticket_lifetime = 24h
        renew_lifetime = 7d
        forwardable = true
    }

nsswitch.conf

group: files sss
group_compat: files
hosts: files dns
networks: files
passwd: files sss
passwd_compat: files
shells: files
services: compat
services_compat: files
protocols: files
rpc: files

pam.d/system

# auth
auth            sufficient      pam_opie.so                     no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so               no_warn allow_local
auth            sufficient      pam_unix.so                     no_warn try_first_pass
auth            sufficient      pam_sss.so                      use_first_pass
auth            required        pam_deny.so

# account
account         required        pam_login_access.so
account         required        pam_unix.so
account         sufficient      pam_sss.so

# session
session         required        pam_lastlog.so                  no_fail
account         sufficient      pam_sss.so
session         required        pam_mkhomedir.so                umask=0700

#password
password        required        pam_unix.so                     no_warn try_first_pass nullok use_authtok
password        sufficient      pam_sss.so                      use_authtok    

smb4 구성 파일

[global]
 log level = 4
 client signing = yes
 client use spnego = yes

 security = ads
 server string = my-server
 workgroup = DERP
 log file = /var/log/samba4/log.%m
 max log size = 50
 realm = DERP.WHATEVER.COM
 kerberos method = secrets and keytab


[test]
path = /data/test

admin users = @"domain admins"
browseable = yes
create mask = 0775
csc policy = disable
directory mask = 0775
map acl inherit = yes
map archive = No
map readonly = no
nfs4:acedup = merge
nfs4:chown = yes
nfs4:mode = special
nt acl support = yes
posix locking = yes
public = yes
strict locking = no
store dos attributes = yes
vfs objects = zfsacl full_audit
writable = yes

## ACL inheritance is done by ZFS
inherit acls = no
## Avoid chmod(2) that breaks ACL
inherit permissions = no
force create mode = 00000
force directory mode = 00000
store dos attributes = yes
## ZFS ACL implements "write_acl" and "write_owner" permissions that
## is compatible with Windows (NT) ACL better than "dos filemode = yes"
dos filemode = no

full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir open close
full_audit:failure = mkdir rename unlink rmdir open close
full_audit:facility = local7
full_audit:priority = NOTICE

veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/desktop.ini/

관련 정보