Pendahuluan
Ketika saya pertama kali menginstal paket Samba pada Solaris, ternyata tidak ada peran ADDC dalam paket ini. Pencarian panjang di Internet membawa saya ke jawaban semacam ini - paket Samba pada Solaris tidak mendukung peran ini, dan beberapa menulis bahwa peran ini secara umum tidak mungkin diterapkan pada Solaris. Penelitian lebih lanjut membawa saya pada fakta bahwa semuanya bertumpu pada kurangnya ACL Posix di zfs, serta dalam python, yang digunakan dalam Solaris. Untuk mengatasi masalah ini, Anda harus menggunakan hard disk dengan sistem file ufs, serta membangun python (serta Samba) dari kode sumber.
Persiapan
Semua tindakan yang saya lakukan di VMware ESXI, sebelum menginstal sistem, tambahkan hard drive lain ke mesin virtual. Selanjutnya, Anda perlu mengunduh kode sumber untuk Python dan Samba (ke root dari sistem file).
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 
Buka paket arsip dan ganti nama folder untuk kenyamanan lebih
 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 
Selanjutnya, Anda perlu menginstal gcc dan beberapa dependensi
 pkg install gcc pkg install pkgconfig pkg install automake pkg install autoconf 
Setel variabel untuk membuat versi x64
 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" 
Buat sistem file ufs pada hard drive tambahan (sebutkan nama yang digunakan oleh Anda)
 newfs /dev/dsk/c1t1d0s2 
Selanjutnya, Anda perlu mendaftarkan hard drive ini dalam file vfstab (bukan kesalahan ketik, dalam Solaris file ini disebut demikian). Tambahkan baris ini ke file ini.
 /dev/dsk/c1t1d0s2 /dev/dsk/c1t1d0s2 /ADDC ufs fsck yes - 
Buat direktori pemasangan dan pasang hard drive ke dalamnya
 mkdir /ADDC mount /dev/dsk/c1t1d0s2 /ADDC 
Perakitan dan instalasi
Anda dapat mulai membangun Samba dan Python. Pergi ke direktori dengan kode sumber Solaris yang sudah dibongkar dan bangun. Perakitan samba membutuhkan waktu yang cukup lama.
 cd /samba ./configure --prefix=/ADDC gmake gmake install 
Anda tidak perlu menentukan parameter tambahan untuk membangun python, instalasi akan dilakukan di / usr / local
 cd /python ./configure gmake gmake install 
Setelah membangun python, Anda perlu menambahkan path ke python yang baru saja dibangun di variabel path
 export PATH="/usr/local/bin:/usr/sbin:/usr/bin" 
PENTING: Agar semuanya berfungsi dengan benar, Anda harus menentukan variabel PATH seperti ditunjukkan dalam contoh ini, path / usr / local / bin harus berada di tempat pertama.
Setelah langkah-langkah ini, menggunakan Samba sebagai ADDC tidak akan menjadi masalah, untuk ini Anda perlu menjalankan skrip samba-tool
 /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 
Tunjukkan ranah, domain, nama host yang Anda butuhkan, di host-ip yang digunakan untuk host ini.
Langkah selanjutnya adalah mengkonfigurasi kerberos, untuk ini Anda perlu mengubah file-file berikut
 /etc/krb5/krb5.conf /etc/krb5/kdc.conf 
File krb5.conf perlu dikonversi
 [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 } 
Untuk autostart dan stop saya harus menulis skrip sederhana di bash
 #!/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 
Tempatkan skrip ini dalam file (setelah dibuat sebelumnya) / usr / bin / sambactl, buat itu dapat dieksekusi dan salin ke direktori rc3.d, rc0.d untuk autostart dan menghentikan Samba
 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 
Untuk operasi lebih lanjut yang benar, perlu untuk mengubah server dns sistem (file resol.conf tidak perlu diubah, perubahan disimpan hanya sampai reboot), untuk ini kami akan mengedit layanan dan memperbarui status (tentukan alamat ip sistem saat ini sebagai server)
 svccfg -s dns/client setprop config/nameserver="192.168.1.105" svcadm refresh dns/client 
Setelah manipulasi ini, Anda dapat memulai Samba, dan juga menambahkan entri dns
 /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 
Periksa karya kerberos
 kinit administrator 
Jika semuanya benar dan kata sandi dimasukkan dengan benar, tiket akan dibuat di direktori / tmp / volatile-user / 0
Pengaturan Kerberos belum selesai pada ini, Anda juga perlu mengkonfigurasi server sinkronisasi waktu, untuk ini, buat file /etc/inet/ntp.conf, mulai layanan waktu dan buat perubahan yang diperlukan untuk file ini
 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 
Pada baris pembatasan tentukan subnet yang akses ke server waktu akan diizinkan
Mulai dan perbarui layanan
 svcadm enable ntp svcadm refresh ntp 
Untuk mengedit kebijakan grup, Anda dapat menggunakan Remote Administration Tools (RSAT), alat-alat ini dapat diunduh dari sini
 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 
Setelah menginstal RSAT di Windows 7, alat ini harus diaktifkan di panel kontrol (Mengaktifkan atau menonaktifkan fitur Windows). Setelah komputer dimasukkan ke dalam domain, mulai editor kebijakan grup, di Kebijakan Domain Default, edit kebijakan yang bertanggung jawab untuk server waktu

Di bagian ini, Anda harus mengaktifkan opsi "Aktifkan klien Windows NTP", "Konfigurasikan klien Windows NTP", setel jenis NTP, tentukan NtpServer office.virusslayer.su
Selain itu, Anda dapat mengkonfigurasi firewall, mengedit file /etc/firewall/pf.conf (membawanya ke formulir berikut).
 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 
Mulai layanan dan tentukan file dengan aturan
 svcadm enable firewall pfctl -f /etc/firewall/pf.conf 
Kesimpulan
Seperti yang dapat Anda lihat dari publikasi ini pada Solaris, dimungkinkan untuk menggunakan Samba sebagai ADDC, meskipun jauh lebih rumit daripada sistem operasi lainnya.