GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie Samba als primären Domänencontroller unter Linux ein

Samba wird von Systemadministratoren verwendet, um das Problem der Interoperabilität in einer gemischten Umgebung zu überwinden, in der Sie sowohl Linux als auch Windows haben. Es bietet eine gemeinsame Plattform für Windows und Linux, um einen gemeinsamen Freigabebereich zu haben.

Domänencontroller ist ein Dienst, der zur zentralen Verwaltung von Benutzern, Gruppen oder beliebigen Objekten im Netzwerk verwendet wird. Dieser Dienst ermöglicht es uns, die Benutzeranmeldung und zugehörige Daten zu verwalten, zu authentifizieren und zu sichern.

Dieses Tutorial erklärt, wie wir Samba unter Linux als primären Domänencontroller konfigurieren können.

1. Korrekten Hostnamen einrichten

Stellen Sie sicher, dass Sie den richtigen Hostnamen und die statische IP eingerichtet haben. Wenn Sie eine interne IP-Adresse verwenden und aus dem Internet darauf zugreifen möchten, richten Sie entsprechende NAT-Regeln auf Ihrer Firewall ein.

In diesem Tutorial wird tgs.example.com als Hostname verwendet.

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

Stellen Sie sicher, dass in der Datei ifcfg-eth0 eine geeignete statische IP-Adresse eingerichtet ist.

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

Weisen Sie auch Gateway und DNS entsprechend in Ihrer Datei /etc/sysconfig/network und /etc/resolv.conf zu.

Vergewissern Sie sich, dass Ihre /etc/hosts-Datei einen Eintrag ähnlich dem folgenden enthält.

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

Stellen Sie außerdem sicher, dass der NTP-Dienst auf diesem Server eingerichtet ist und ordnungsgemäß ausgeführt wird.

2. Installieren Sie Samba von der Quelle

Unter CentOS werden standardmäßig keine Samba-Pakete für den minimalen Installationstyp installiert.

Installieren Sie zuerst die folgenden abhängigen Pakete.

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

Laden Sie als Nächstes die Samba-Quelle wie unten gezeigt herunter.

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

Die Dateien werden in das Sambaserver-Verzeichnis heruntergeladen. Installieren Sie den Samba-Server wie unten gezeigt.

cd sambaserver

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

make

make install

Samba wird am Standardspeicherort /usr/local/samba/bin installiert. In diesem Verzeichnis werden mehrere Samba-Client-Dienstprogramme installiert.

# 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. Domänenbereitstellung einrichten

Um die Domänenbereitstellung zu starten, führen Sie das Samba-Tool wie unten gezeigt aus. Dadurch werden der Standardhostname und der Domänenname aus den Konfigurationsdateien übernommen.

# /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. Starten Sie den Samba-Dienst

Starten Sie den Samba-Dienst wie unten gezeigt.

/usr/local/samba/sbin/samba 

Fügen Sie den folgenden Eintrag zur Datei rc.local hinzu, um sicherzustellen, dass der Samba-Dienst beim Systemstart automatisch gestartet wird.

# 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. Überprüfen Sie die Samba-Version

Sie können die Samba-Version mit dem Befehl samba oder smbclient überprüfen, wie unten gezeigt.

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

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

Der folgende Befehl zeigt alle derzeit verfügbaren Samba-Freigaben an.

# /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 
	---------            ------- 

Vergewissern Sie sich, dass Sie sich mit dem Administrator-Benutzernamen und -Passwort anmelden können.

# /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. Domains verifizieren

Lassen Sie uns nun prüfen, ob die Domain wie erwartet funktioniert. Überprüfen Sie den SRV- und A-Eintrag wie unten gezeigt.

# 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

Verwenden Sie den samba-tool-Befehl, um den Bereichsnamen wie unten gezeigt zu überprüfen.

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

7. Kerberos konfigurieren

Kopieren Sie die Beispieldatei krb5.conf in das Verzeichnis /etc.

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

Setzen Sie default_realm auf Ihren Domänennamen. In diesem Fall setzen wir es auf example.com

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

Verwenden Sie den Befehl kinit, um sicherzustellen, dass Kerberos wie unten gezeigt richtig eingerichtet ist.

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

Schließlich können Sie das Windows-Remote-Administrator-Tool verwenden, um sich mit dem Samba-Server zu verbinden und ihn als Domänencontroller zu verwenden.

Wenn Sie während des obigen Vorgangs auf Probleme stoßen, stellen Sie sicher, dass Sie das System auf den neuesten Stand bringen, indem Sie alle Pakete aktualisieren. Sie können SELinux auch vorübergehend deaktivieren und das audit.log auf SELinux-bezogene Fehlermeldungen überprüfen. Stellen Sie außerdem sicher, dass Ihre IPTables-Regeln nicht die Ports blockieren, die Samba für die Kommunikation zwischen den Servern benötigt.


Linux
  1. So erstellen Sie eine Netzwerkfreigabe über Samba unter Linux

  2. So richten Sie passwortloses SSH unter Linux ein

  3. So richten Sie einen Reverse-SSH-Tunnel unter Linux ein

  4. So sichern Sie die Konfiguration des Samba-Domänencontrollers unter Linux

  5. Wie richte ich passwortloses `sudo` unter Linux ein?

So richten Sie Chrooted SFTP unter Linux ein

So richten Sie die Multi-Faktor-Authentifizierung für SSH unter Linux ein

Wie ändere ich die primäre Domäne in WHM?

So erstellen Sie einen Domänencontroller unter Linux für AD

So führen Sie eine Samba Active Directory-Installation unter Linux durch

So verbinden Sie sich mit Samba mit Linux Active Directory