Samba als ADDC in Solaris 11.4

Einführung


Als ich das Samba-Paket zum ersten Mal unter Solaris installierte, stellte sich heraus, dass dieses Paket keine ADDC-Rolle enthielt. Lange Suchanfragen im Internet führten mich zu Antworten dieser Art - das Samba-Paket unter Solaris unterstützt diese Rolle nicht, und einige schrieben, dass diese Rolle unter Solaris im Allgemeinen nicht implementiert werden kann. Weitere Untersuchungen führten mich zu der Tatsache, dass alles auf dem Fehlen einer Posix-ACL in zfs sowie in Python beruht, das in Solaris verwendet wird. Um diese Probleme zu lösen, müssen Sie eine Festplatte mit dem ufs-Dateisystem verwenden und Python (sowie Samba) aus dem Quellcode erstellen.

Vorbereitung


Bei allen Aktionen, die ich in VMware ESXI vor der Installation des Systems ausführe, wird der virtuellen Maschine eine weitere Festplatte hinzugefügt. Als nächstes müssen Sie den Quellcode für Python und Samba (in das Stammverzeichnis des Dateisystems) herunterladen.

wget https://download.samba.org/pub/samba/stable/samba-4.8.8.tar.gz wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz 

Entpacken Sie Archive und benennen Sie Ordner für mehr Komfort um

 gzip -d samba-4.8.8.tar.gz gzip -d Python-2.7.15.tgz tar -xvf Python-2.7.15.tar tar -xvf samba-4.8.8.tar mv Python-2.7.15 python mv samba-4.8.8 samba 

Als nächstes müssen Sie gcc und einige Abhängigkeiten installieren

 pkg install gcc pkg install pkgconfig pkg install automake pkg install autoconf 

Legen Sie Variablen fest, um x64-Versionen zu erstellen

 export CPP="/usr/gcc/7/bin/gcc -E" export CC="/usr/gcc/7/bin/gcc" export CFLAGS="-m64 -std=gnu99 -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" export LDFLAGS="-m64 -L/usr/lib -R/usr/lib" export CXXFLAGS="-m64" 

Erstellen Sie das UFS-Dateisystem auf einer zusätzlichen Festplatte (geben Sie den von Ihnen verwendeten Namen an).

 newfs /dev/dsk/c1t1d0s2 

Als nächstes müssen Sie diese Festplatte in der vfstab-Datei registrieren (kein Tippfehler, in Solaris wird diese Datei so genannt). Fügen Sie diese Zeile dieser Datei hinzu.

 /dev/dsk/c1t1d0s2 /dev/dsk/c1t1d0s2 /ADDC ufs fsck yes - 

Erstellen Sie ein Mount-Verzeichnis und mounten Sie die Festplatte darin

 mkdir /ADDC mount /dev/dsk/c1t1d0s2 /ADDC 

Montage und Installation


Sie können mit dem Erstellen von Samba und Python beginnen. Wechseln Sie in das Verzeichnis mit dem entpackten Solaris-Quellcode und erstellen Sie es. Die Samba-Montage dauert ziemlich lange.

 cd /samba ./configure --prefix=/ADDC gmake gmake install 

Sie müssen keine zusätzlichen Parameter angeben, um Python zu erstellen. Die Installation wird in / usr / local durchgeführt

 cd /python ./configure gmake gmake install 

Nach dem Erstellen von Python müssen Sie den Pfad zum gerade erstellten Python in der Pfadvariablen hinzufügen

 export PATH="/usr/local/bin:/usr/sbin:/usr/bin" 

WICHTIG: Damit alles korrekt funktioniert, müssen Sie die in diesem Beispiel angegebene Variable PATH angeben. Der Pfad / usr / local / bin sollte an erster Stelle stehen.
Nach diesen Schritten ist die Verwendung von Samba als ADDC kein Problem. Dazu müssen Sie das Samba-Tool-Skript ausführen

 /ADDC/bin/samba-tool domain provision --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=office.virusslayer.su --domain=virusslayer --host-name=ad --host-ip=192.168.1.105 --function-level=2008_R2 --adminpass=Password123456 

Geben Sie in der für diesen Host verwendeten Host-IP den gewünschten Bereich, die Domäne und den Hostnamen an.

Der nächste Schritt ist die Konfiguration von Kerberos. Dazu müssen Sie die folgenden Dateien ändern

 /etc/krb5/krb5.conf /etc/krb5/kdc.conf 

Die Datei krb5.conf muss in konvertiert werden

 [libdefaults] default_realm = OFFICE.VIRUSSLAYER.SU dns_lookup_realm = false dns_lookup_kdc = true default_tgs_enctypes = aes256-cts-hmac-sha1-96 default_tkt_enctypes = aes256-cts-hmac-sha1-96 permitted_enctypes = aes256-cts-hmac-sha1-96 [realms] OFFICE.VIRUSSLAYER.SU = { kdc = kdc.office.virusslayer.su admin_server = kdc.office.virusslayer.su } 

kdc.conf

 [realms] OFFICE.VIRUSSLAYER.SU = { profile = /etc/krb5/krb5.conf acl_file = /etc/krb5/kadm5.acl kadmind_port = 749 max_life = 8h 0m 0s max_renewable_life = 7d 0h 0m 0s default_principal_flags = +preauth } 

Für Autostart und Stop musste ich ein einfaches Skript in Bash schreiben

 #!/usr/bin/bash case $1 in start|-start) /ADDC/sbin/samba /ADDC/sbin/smbd /ADDC/sbin/nmbd ;; stop|-stop) rm /ADDC/var/run/*.pid pkill -15 samba pkill -15 smbd pkill -15 nmbd ;; v|-v) /ADDC/sbin/samba -V ;; config|-config) cat /ADDC/etc/smb.conf ;; restart|-restart) rm /ADDC/var/run/*.pid pkill -15 samba pkill -15 smbd pkill -15 nmbd /ADDC/sbin/samba /ADDC/sbin/smbd /ADDC/sbin/nmbd ;; esac 

Platzieren Sie dieses Skript in der Datei (nachdem Sie es zuvor erstellt haben) / usr / bin / sambactl, machen Sie es ausführbar und kopieren Sie es in die Verzeichnisse rc3.d, rc0.d, um Samba automatisch zu starten und zu stoppen

 touche /usr/bin/sambactl chmod +x /usr/bin/sambactl cp /usr/bin/sambactl /etc/rc3.d/Ssambactl cp /usr/bin/sambactl /etc/rc0.d/Ksambactl 

Für einen weiteren korrekten Betrieb ist es erforderlich, den DNS-Server des Systems zu ändern (die Datei resolve.conf muss nicht geändert werden, die Änderungen werden nur bis zum Neustart gespeichert). Dazu bearbeiten wir den Dienst und aktualisieren den Status (geben Sie die IP-Adresse des aktuellen Systems als Server an).

 svccfg -s dns/client setprop config/nameserver="192.168.1.105" svcadm refresh dns/client 

Nach diesen Manipulationen können Sie Samba starten und einen DNS-Eintrag hinzufügen

 /usr/bin/sambactl /ADDC/bin/samba-tool dns add office.virusslayer.su -U administrator office.virusslayer.su kdc.office.virusslayer.su A 192.168.1.105 

Überprüfen Sie die Arbeit von Kerberos

 kinit administrator 

Wenn alles korrekt ist und das Passwort korrekt eingegeben wurde, wird das Ticket im Verzeichnis / tmp / volatile-user / 0 erstellt
Das Kerberos-Setup ist hier noch nicht abgeschlossen. Sie müssen auch den Zeitsynchronisationsserver konfigurieren. Erstellen Sie dazu die Datei /etc/inet/ntp.conf, starten Sie den Zeitdienst und nehmen Sie die erforderlichen Änderungen an dieser Datei vor

 server 127.127.1.0 prefer server 0.europe.pool.ntp.org server 1.europe.pool.ntp.org server 2.europe.pool.ntp.org server 3.europe.pool.ntp.org driftfile /var/ntp/ntp.drift restrict 192.168.1.0 255.255.255.0 nomodify notrap 

Geben Sie in der Einschränkungszeile das Subnetz an, welches Zugriff auf den Zeitserver zulässig ist

Starten und aktualisieren Sie den Dienst

 svcadm enable ntp svcadm refresh ntp 

Zum Bearbeiten von Gruppenrichtlinien können Sie RSAT (Remote Administration Tools) verwenden. Diese Tools können hier heruntergeladen werden

 Windows 8.1 https://www.microsoft.com/ru-ru/download/details.aspx?id=39296 Windows 10 https://www.microsoft.com/ru-RU/download/details.aspx?id=45520 Windows 7 https://www.microsoft.com/ru-ru/download/details.aspx?id=7887 

Nach der Installation von RSAT in Windows 7 müssen diese Tools in der Systemsteuerung aktiviert sein (Windows-Funktionen aktivieren oder deaktivieren). Nachdem der Computer in die Domäne eingegeben wurde, starten Sie den Gruppenrichtlinien-Editor. Bearbeiten Sie in der Standarddomänenrichtlinie die für den Zeitserver verantwortliche Richtlinie

Bild

In diesem Abschnitt müssen Sie die Option "Windows NTP-Client aktivieren", "Windows NTP-Client konfigurieren" aktivieren, den NTP-Typ festlegen und NtpServer office.virusslayer.su angeben

Darüber hinaus können Sie die Firewall konfigurieren und die Datei /etc/firewall/pf.conf bearbeiten (und in das folgende Formular bringen).

 set skip on lo0 pass quick on lo0 from any to any no state pass in quick on net0 proto {tcp,udp} from any to any port {22,53,123,135,137,464,389,515,636,631,445,139,88,3268,3269,49152:65535} flags S/SA modulate state pass out quick on net0 proto tcp from any to any port {80,443,21,20,53} flags S/SA modulate state pass out quick on net0 proto udp from any to any port=53 keep state pass out quick on net0 proto icmp from any to any block from any to any fragment block from any to any block all 

Starten Sie den Dienst und geben Sie die Datei mit den Regeln an

 svcadm enable firewall pfctl -f /etc/firewall/pf.conf 

Fazit


Wie Sie dieser Veröffentlichung unter Solaris entnehmen können, ist es möglich, Samba als ADDC zu verwenden, obwohl es viel komplizierter ist als jedes andere Betriebssystem.

Source: https://habr.com/ru/post/de438910/


All Articles