Rendere una macchina Samba Domain Member di un Dominio Windows 2000
Jump to navigation
Jump to search
Debian Squeeze
- Assicurarsi di avere i clock allineati, altrimenti kerberos darà problemi di autenticazione:
sudo apt-get install ntp sudo invoke-rc.d ntp restart date
- Installare i componenti kerberos necessari
sudo apt-get install krb5-user
- Verificare che la comunicazione con il DC funzioni.
- sostituire MYCOMPANY.COM (IN MAIUSCOLO, con nome del dominio AD), ed inserire la password del Domain Administrator:
kinit administrator@MYCOMPANY.COM
- Installare samba e winbind:
sudo apt-get install samba winbind
- Creare il file di confi su questo template:
sudoedit /etc/samba/smb.conf
[global]
netbios name = sambafileserver
workgroup = MYCOMPANY
realm = MYCOMPANY.COM
server string = Samba Domain Member
smb ports = 445
security = ADS
encrypt passwords = yes
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind nested groups = yes
winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
client use spnego = yes
client ntlmv2 auth = yes
[store]
comment = file store
path = /store
read only = no
# To specify domain user, use teh following syntax
#valid users = MYCOMPANY+administrator
- Dichiarare l'uso di winbind per utenti e gruppi:
sudoedit /etc/nsswitch.conf
passwd: compat winbind group: compat winbind
- Verificare che l'hostname sia corretto
hostname hostname -f
- Se così non fosse, inserirlo in
sudoedit /etc/hosts
127.0.0.1 sambafileserver.mycompany.com sambafileserver
- Stoppare e startare (NON restartare !!!) samba e winbind:
sudo invoke-rc.d samba stop sudo invoke-rc.d samba start
sudo invoke-rc.d winbind stop sudo invoke-rc.d winbind start
- Fare il join al dominio AD:
sudo net ads join -U administrator
- Se si ottiene l'errore:
DNS update failed
- verificare che l'hostname sia corretto. Riprovare o fare reboot.
- Verificare che winbind parli con il PDC:
sudo wbinfo -t
- Verificare che winbind veda gli utenti ed i gruppi AD:
sudo getent passwd
sudo getent group
Riferimenti
- Admin Reminders: Debian Squeeze samba domain member fileserver
- (Samba) DNS Problems on `net ads join`
Debian Etch
Per inserire una macchina Samba (Debian Etch) in un dominio Windows 2000, e fare in modo di gestire autenticazione e permission appoggiandosi ad un server Windows 2000, configurare Samba come segue.
Operazioni preliminari
- Installare e configurare NTP per far si che gli orologi del server Win e Debian siano sincronizzati, altrimenti l'autenticazione Kerberos non funziona.
Installazione Pacchetti
sudo apt-get install samba \
smbfs \
smbclient \
winbind \
krb5-user \
krb5-config \
krb5-doc \
libkrb53 \
libpam-krb5
Durante la configurazione di Samba, inserire come
- Workgroup il nome NETBIOS del domini
Durante la configurazione di Kerberos, inserire come
- REALM il nome del Dominio ADS IN MAIUSCOLO
- DCSERVER il nome del server domain controller COMPRESO DI DOMINIO IN MAIUSCOLO
Inserire poi il nome del DC in /etc/hosts
sudoedit /etc/hosts
192.168.1.100 dcserver.localdomain.net dcserver
Test configurazione Kerberos
- Inserire la password sudo
sudo ls
- Creare il ticket Kerberos (inserire la password di administrator del dominio)
sudo kinit Administrator@LOCALDOMAIN.NET
Password for Administrator@LOCALDOMAIN.NET: ********
- Verificare che il ticket sia valido:
sudo klist
Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@LOCALDOMAIN.NET Valid starting Expires Service principal 10/18/06 15:43:51 10/19/06 01:43:55 KRBTGT/LOCALDOMAIN.NET@LOCALDOMAIN.NET Renew until 10/19/06 15:43:51 Kerberos 4 ticket cache: /tmp/tkt0 Klist: You have no tickets cached
- Se tutto è ok, rilasciare il ticket
sudo kdestroy
Configurazione di Samba
Inserire le voci aggiuntive necessarie
sudoedit/etc/samba/smb.conf
[global] workgroup = LOCALDOMAIN realm = LOCALDOMAIN.NET wins server = 192.168.1.100 password server = DCSERVER enable privileges =Yes allow trusted domains = No dns proxy = no name resolve order = host wins bcast security = ADS encrypt passwords = true socket options = TCP_NODELAY time server = Yes map to guest = nobody idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes
- Controllare la configurazione
sudo testparm
- Riavviare i demoni:
sudo /etc/init.d/winbind stop sudo /etc/init.d/samba stop sudo /etc/init.d/samba start sudo /etc/init.d/winbind start
Inserimento nel Dominio
- Allineare gli orologi:
sudo net time set
- Fare il Join del dominio:
sudo net ads join –U Administrator Administrator’s password:******
Using short domain name – LOCALDOMAIN Joined ‘Ubuntuserver’ to realm ‘LOCALDOMAIN.NET’
Configurazioen di Winbind
Per poter visualizzare gli utenti del dominio nelle permission unix, bisogna usare Winbind.
- Fermare i demoni
sudo /etc/init.d/winbind stop sudo /etc/init.d/samba stop
- Impostare la risoluzione delle entità:
sudoedit /etc/nsswitch.conf
passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns wins networks: files dns protocols: files services: files ethers: files rpc: files netgroup: files publickey: nisplus automount: files aliases: files nisplus
- Riavviare i demoni
sudo /etc/init.d/winbind stop sudo /etc/init.d/samba stop
- Controllare che Winbind legga gli utenti:
sudo wbinfo –u
LOCALDOMAIN\Administrator LOCALDOMAIN\Guest LOCALDOMAIN\Mhinrichsen LOCALDOMAIN\User …
- Che legga i gruppi:
sudo wbinfo –g
LOCALDOMAIN\Domain Computers LOCALDOMAIN\Admins LOCALDOMAIN\Guests LOCALDOMAIN\Domain Users …
- Verificare che gli utenti di sistema siano letti sia da passwd che dal dominio:
sudo getent passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh ... LOCALDOMAIN\Domain Computers LOCALDOMAIN\Admins LOCALDOMAIN\Guests LOCALDOMAIN\Domain Users …
- Verificare che venga acceduto correttamente il dominio AD:
sudo net ads info
LDAP server: 192.168.1.100 LDAP server name: DCSERVER Realm: LOCALDOMAIN.NET Bind Path: dc=LOCALDOMAIN, dc=NET LDAP port: 389 Server time: Wed, 18 Oct 2006 18:02:18 EDT KDC server: 192.168.1.100 Server time offset: 0
Impostazione dell'autenticazione di Sistema via Winbind
(Verificare se necessario per autenticare le workstation)
sudoedit /etc/pam.d/samba
@include common-auth @include common-account @include common-session @include common-password
sudoedit /etc/pam.d/common-account
account required pam_unix.so
sudoedit /etc/pam.d/common-auth
auth required pam_env.so auth required pam_unix.so
sudoedit /etc/pam.d/common-password
password sufficient pam_windbind.so password required pam_unix.so nullok obscure min=4 max=8 md5
sudoedit /etc/pam.d/common-session
session required pam_limits.so session required pam_unix.so
- Controllare che ci si riesca a loggare da console con gli account unix.
- Controllare che si riesca ad applicare le permission ad un file per un utente windows:
touch /tmp/testfile chown ‘localdomain\administrator:localdomain\Domain Users’ /tmp/testfile ls -al /tmp/testfile
-rwxr-xr-x 2 LOCALDOMAIN\administrator LOCALDOMAIN\domain users 4096 Jun 23 18:49 testfile