GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Samba come controller di dominio primario in Linux

Samba viene utilizzato dall'amministratore di sistema per superare il problema dell'interoperabilità in un ambiente misto in cui si dispone sia di Linux che di Windows. Fornisce una piattaforma comune per Windows e Linux per avere uno spazio di condivisione comune.

Il controller di dominio è un servizio utilizzato per l'amministrazione centralizzata di utenti, gruppi o qualsiasi oggetto nella rete. Questo servizio ci consente di gestire, autenticare e proteggere l'accesso degli utenti e i relativi dati.

Questo tutorial spiega come possiamo configurare Samba su Linux come controller di dominio primario.

1. Imposta il nome host corretto

Assicurati di aver impostato il nome host e l'ip statico appropriati. Se stai utilizzando un indirizzo IP interno e se desideri accedervi da Internet, imposta le regole NAT appropriate sul tuo firewall.

In questo tutorial utilizzerà tgs.example.com come nome host.

# vi /etc/sysconfig/network 
HOSTNAME=tgs.example.com

Assicurati che l'indirizzo IP statico sia impostato correttamente nel file ifcfg-eth0.

# vi /etc/sysconfig/network-script/ifcfg-eth0
IPADDR=192.168.101.1
NETMASK=255.255.255.0

Inoltre, assegna il gateway e il dns di conseguenza nel tuo file /etc/sysconfig/network e /etc/resolv.conf.

Verifica che il tuo file /etc/hosts abbia una voce simile alla seguente.

# vi /etc/hosts
192.168.101.1	tgs.example.com	tgs

Inoltre, assicurati che il servizio NTP sia configurato e funzioni correttamente su questo server.

2. Installa Samba dal sorgente

Su CentOS, per impostazione predefinita i pacchetti samba non verranno installati per il tipo di installazione minima.

Innanzitutto, installa i seguenti pacchetti dipendenti.

# yum install glibc glibc-devel gcc python* libacl-devel krb5-workstation krb5-libs pam_krb5 git-core openldap-devel 

Quindi, scarica il sorgente samba come mostrato di seguito.

# git clone git://git.samba.org/samba.git sambaserver

I file verranno scaricati nella directory sambaserver. Installa il server samba come mostrato di seguito.

cd sambaserver

./configure  --enable-debug --enable-selftest

make

make install

Samba verrà installato nella posizione predefinita /usr/local/samba/bin. Vedrai diverse utility client samba installate in questa directory.

# cd /usr/local/samba/bin/ 

# ls 
cifsdd       ldbsearch   ntdbrestore    regshell    smbcquotas  tdbbackup 
dbwrap_tool  locktest    ntdbtool       regtree     smbget      tdbdump 
eventlogadm  masktest    ntlm_auth      rpcclient   smbpasswd   tdbrestore 
gentest      ndrdump     oLschema2ldif  samba-tool  smbspool    tdbtool 
ldbadd       net         pdbedit        sharesec    smbstatus   testparm 
ldbdel       nmblookup   pidl           smbcacls    smbtar      wbinfo 
ldbedit      nmblookup4  profiles       smbclient   smbta-util 
ldbmodify    ntdbbackup  regdiff        smbclient4  smbtorture 
ldbrename    ntdbdump    regpatch       smbcontrol  smbtree 

3. Imposta la fornitura del dominio

Per avviare il provisioning del dominio, eseguire lo strumento samba come mostrato di seguito. Questo preleverà il nome host e il nome di dominio predefiniti dai file di configurazione.

# /usr/local/samba/bin/samba-tool domain provision 
Realm [EXAMPLE.COM]: 
 Domain [EXAMPLE]: 
 Server Role (dc, member, standalone) [dc]: 
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
 DNS forwarder IP address (write 'none' to disable forwarding) [125.22.47.125]: 8.8.8.8 
Administrator password: 
Retype password: 
...
...
Adding DNS accounts 
Creating CN=MicrosoftDNS,CN=System,DC=example,DC=com 
Creating DomainDnsZones and ForestDnsZones partitions 
Populating DomainDnsZones and ForestDnsZones partitions 
Setting up sam.ldb rootDSE marking as synchronized 
Fixing provision GUIDs 
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf 
Once the above files are installed, your Samba4 server will be ready to use 
Server Role:           active directory domain controller 
Hostname:              tgs 
NetBIOS Domain:        EXAMPLE 
DNS Domain:            example.com 
DOMAIN SID:            S-1-5-21-2869186506-3515775153-2841826798 

4. Avvia il servizio Samba

Avvia il servizio samba, come mostrato di seguito.

/usr/local/samba/sbin/samba 

Aggiungi la seguente voce al file rc.local per assicurarti che il servizio samba si avvii automaticamente durante l'avvio del sistema.

# echo /usr/local/samba/sbin/samba >> /etc/rc.d/rc.local 

# cat /etc/rc.d/rc.local 
touch /var/lock/subsys/local 
/usr/local/samba/sbin/samba 

5. Controlla la versione Samba

Puoi verificare la versione di samba usando il comando samba o smbclient come mostrato di seguito.

# /usr/local/samba/sbin/samba -V 
Version 4.2.0pre1-GIT-913b2a1 

# /usr/local/samba/bin/smbclient -V 
Version 4.2.0pre1-GIT-913b2a1 

Il comando seguente visualizzerà tutte le condivisioni Samba attualmente disponibili.

# /usr/local/samba/bin/smbclient -L localhost -U% 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Sharename       Type      Comment 
	---------       ----      ------- 
	netlogon        Disk      
	sysvol          Disk      
	IPC$            IPC       IPC Service (Samba 4.2.0pre1-GIT-913b2a1) 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Server               Comment 
	---------            ------- 

	Workgroup            Master 
	---------            ------- 

Verifica di essere in grado di accedere utilizzando il nome utente e la password dell'amministratore.

# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator -c 'ls' 
Enter administrator's password: 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 
  .   D        0  Fri Feb 21 15:06:15 2014 
  ..  D        0  Fri Feb 21 15:06:28 2014 
57901 blocks of size 8388608. 54372 blocks available 

6. Verifica i domini

Ora controlliamo se il dominio funziona come previsto. Controlla il record SRV e A come mostrato di seguito.

# host -t SRV _ldap._tcp.example.com 
_ldap._tcp.example.com has SRV record 0 100 389 tgs.example.com. 

# host -t SRV _kerberos._udp.example.com 
_kerberos._udp.example.com has SRV record 0 100 88 tgs.example.com. 

# host -t A tgs.example.com 
tgs.example.com has address 192.168.101.1

Usa il comando samba-tool per verificare il nome del reame come mostrato di seguito.

# /usr/local/samba/bin/samba-tool testparm --suppress-prompt | grep realm 
	realm = EXAMPLE.COM 

7. Configura Kerberos

Copia il file di esempio krb5.conf nella directory /etc.

cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf 

Imposta default_realm sul tuo nome di dominio. In questo caso, lo imposteremo su example.com

# cat /etc/krb5.conf 
[libdefaults] 
	default_realm = EXAMPLE.COM 
	dns_lookup_realm = false 
	dns_lookup_kdc = true 

Usa il comando kinit per assicurarti che Kerberos sia configurato correttamente come mostrato di seguito.

# kinit [email protected] 
Password for [email protected]: 
Warning: Your password will expire in 41 days on Fri Apr  4 15:06:25 2014 

Infine, puoi utilizzare lo strumento di amministrazione remota di Windows per connetterti al server Samba e usarlo come controller di dominio.

In caso di problemi durante il processo di cui sopra, assicurati di aggiornare il sistema aggiornando tutti i pacchetti. Puoi anche disabilitare SELinux temporaneamente e rivedere audit.log per eventuali messaggi di errore relativi a SELinux. Inoltre, assicurati che le tue regole IPTables non stiano bloccando le porte richieste da Samba per comunicare tra i server.


Linux
  1. Come configurare SSH senza password su Linux

  2. Come configurare il tunnel SSH inverso su Linux

  3. Come configurare l'accesso SSH senza password in Linux

  4. Come configurare i caratteri nel sottosistema Linux?

  5. Come configurare `sudo` senza password su Linux?

Come configurare SFTP in chroot in Linux

Come impostare l'autenticazione a più fattori per SSH in Linux

Come modificare il dominio principale in WHM?

Come creare un controller di dominio su Linux per AD

Come eseguire un'installazione di Samba Active Directory su Linux

Come connettersi con Samba a Linux Active Directory