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

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.