====== Samba server jako člen Active Directory domény ======
Máme AD doménu např. **nasead.local** a jméno našeho linux stroje se jmenuje **sambasrv**
**Nejprve nainstalujte samba-common libpam-krb5 krb5-config krb5-user**
V ''%%/etc/resolv.conf%%'' ověříme nastavení DNS. Jako nameserver použijeme stroj, na kterém běží DNS naší AD sítě
domain nasead.local
search nasead.local
nameserver 172.16.7.10
nameserver 172.16.7.9
Do ''%%/etc/hosts%%'' přidáme IP adresu interface, na které bude probíhat spojení na DC server a pojmenujeme ji plným DNS jménem. tj
127.0.0.1 localhost
172.16.7.73 sambasrv.nasead.local sambasrv
Nyní nastavíme Kerberos - /etc/krb5.conf
[libdefaults]
default_realm = NASEAD.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24h #
renew_lifetime = 7d
[realms]
NASEAD.LOCAL = {
kdc = dc01.nasead.local
kdc = dc02.nasead.local
admin_server = dc01.nasead.local
}
**POZOR: zde musí být jako default_realm uvedena doména VELKÝMA PÍSMENAMA**
Jako kdc se uvednou fqdn jména doménových řadičů v naší síti, jako admin_server uvádím primární řadič
Nyní přichází na řadu konfigurace smb.conf
#======================= Global Settings =======================
[global]
server role = MEMBER SERVER
security = ads
realm = nasead.local
workgroup = nasead
netbios name = SAMBASRV
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
server string = Komentar
#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m
log level = 5
# Cap the size of the individual log files (in KiB).
max log size = 1000
encrypt passwords = yes
winbind nss info = rfc2307
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind refresh tickets = yes
# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
idmap config nasead : backend = rid
idmap config nasead : range = 10000-999999
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
winbind refresh tickets = yes
domain master = no
local master = no
[share]
comment = sdileny disk
path = /home/SHARE
valid users = @nejakaskupina, @administrators
browseable = yes
read only = no
inherit acls = yes
inherit permissions = yes
Následujícím krokem ověříme, že se dokážeme autentizovat k DC serveru
# kinit Administrator
Password for Administrator@NASEAD.LOCAL:
# klist
Pokud je vše OK, po zadání příkazu **klist** uvidíte vystavený kerberos ticket
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@NASEAD.LOCAL
Valid starting Expires Service principal
06/05/2019 18:25:13 06/06/2019 04:25:13 krbtgt/NASEAD.LOCAL@NASEAD.LOCAL
renew until 06/12/2019 18:24:56
Pokud jste se dostal až sem, můžeme přistoupit k připojení samba serveru do domény.
# net ads join -U Administrator
Enter administrator's password:
Using short domain name -- NASEAD
Joined 'SAMBASRV' to dns domain 'nasead.local'
Pokud se nepovede, přidejte parametr ''%%-d 1%%'' pro zobrazení debug hlášek.
Stav připojení do domény mužete ověřit příkazem ''%%net ads status -U Administrator%%''
Enter Administrator's password:
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
objectClass: computer
cn: sambasrv
distinguishedName: CN=sambasrv,OU=Servers,DC=nasead,DC=local
instanceType: 4
whenCreated: 20190607131211.0Z
whenChanged: 20190617143204.0Z
uSNCreated: 11206462
uSNChanged: 11255367
name: lih-zpsx001
objectGUID: 8fe38593-36b4-41e3-993a-77c506e589d
userAccountControl: 69632
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 132052716929628168
lastLogoff: 0
lastLogon: 132052783714159406
localPolicyFlags: 0
pwdLastSet: 132043867314721394
primaryGroupID: 515
objectSid: S-1-5-21-2395078511-4245873061-2388994840-17615
accountExpires: 9223372036854775807
logonCount: 66
sAMAccountName: sambasrv$
sAMAccountType: 805306369
dNSHostName: sambasrv.nasead.local
servicePrincipalName: HOST/sambasrv.nasead.local
servicePrincipalName: HOST/SAMBASRV
objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=nasead,DC=local
isCriticalSystemObject: FALSE
dSCorePropagationData: 20190607150627.0Z
dSCorePropagationData: 16010101000001.0Z
mS-DS-CreatorSID: S-1-5-21-2395078511-4245873061-2388994840-17613
lastLogonTimestamp: 132052555244011908
msDS-SupportedEncryptionTypes: 31
**Nyní nainstalujte samba attr winbind libpam-winbind libnss-winbind**
a nastartuje sambu.
Pokud je naše samba členem domény, nastal čas pro nastartování démona **winbind**
Potom do souboru ''%%/etc/nsswitch.conf%%'' přidáme možnost načtění uživatelů a skupin z ad. Přidejte **winbind** na konec řádku passwd a group
passwd: compat winbind
group: compat winbind
shadow: compat
gshadow: files
Nyní můžeme otestovat
''%%wbinfo --ping-dc%%'' - musí zobrazit ''%%checking the NETLOGON for domain[NASEAD] dc connection to "dc01.nasead.local" succeeded%%'' \\
''%%wbinfo -g%%'' - vypíše skupiny v AD \\
''%%wbinfo -u%%'' - vypíše uživatele v AD \\
''%%getent passwd%%'' - načte všechny uživatele - pokud uvidíte uživatele z AD ve tvaru linuxového passwd tak máte vyhráno. \\
''%%getent group%%'' - načte všechny skupiny (stejné jméno pak použijeme ve **valid user** pro ověření práv ke sdílené složce) \\
# getent group | grep nejaka
nejakaskupina:x:31166:
Nyní lze používat klasicky nastavení práv přes chown atd.
Ještě ověření funkční samby -
# smbclient -L sambasrv.nasead.local -U NASEAD\\Administrator
WARNING: The "syslog" option is deprecated
Enter NASEAD\Administrators's password:
Domain=[NASEAD] OS=[Windows 6.1] Server=[Samba 4.5.16-Debian]
Sharename Type Comment
--------- ---- -------
share Disk sdileny disk
IPC$ IPC IPC Service (Komentar)
Domain=[NASEAD] OS=[Windows 6.1] Server=[Samba 4.5.16-Debian]
Server Comment
--------- -------
SAMBASRV Komentar
Workgroup Master
--------- -------
NASEAD