Latar belakang
Ada jaringan lokal kecil dari perusahaan, di mana sekitar 10 tahun yang lalu domain pada Samba ke-3 + LDAP + BIND (di gateway) dibesarkan di Debian 5. Bahkan, dia hanya membutuhkan otentikasi pengguna, dan file bola. Selama bertahun-tahun, server telah ditingkatkan ke versi baru Debian tanpa masalah. Saat ini, ia memiliki Debian 8 dan Samba 4.2 dari paket.
Sejak Windows 7, pengenalan komputer ke domain, tanpa kruk terkenal dengan mengedit registri, tidak berfungsi. Kruk yang sama bekerja di Win 8 dan Win 10 hingga versi 1803. Selain ketidakmampuan untuk memasukkan komputer ke domain, masalah lain terakumulasi, dan sebagai hasilnya, diputuskan untuk melakukan peningkatan klasik. Karena kesederhanaan struktur LAN, diputuskan untuk menggunakan DNS Samba internal.
Saya ingin segera mengatakan bahwa artikel itu bukan panduan yang tepat, tetapi pengalaman menjalankan operasi ini. Fase pra-pengujian sangat dianjurkan. Dalam kasus saya, gambar server diambil untuk pengujian dan digunakan pada mesin virtual VirtualBox. Juga, untuk menguji perilaku klien domain yang ada, Win XP SP3 dan Win 10 1709 dan 1803 mesin klien dibuat.
Saya juga ingin mencatat bahwa kesalahan berulang kali disebabkan oleh kesalahan ketik biasa. Berhati-hatilah.
Deskripsi lingkungan
OS: Debian 8
Domain: samdom.local
Nama Server: pdc
server ip: 10.10.1.220
Proses transisi
Memperbarui paket ke versi terbaru + menginstal yang hilang.
Dalam kasus saya, setelah pembaruan, hanya pengguna KRB5 yang harus dikirim.
apt-get update apt-get upgrade apt-get install samba smbclient krb5-user winbind
Saat memasang pengguna krb5, sistem akan menanyakan beberapa pertanyaan tentang nama server dan nama domain. Kami mengisi data server kami.
Samba berhenti
service samba-ad-dc stop service smbd stop service nmbd stop service winbind stop
Transfer basis lama dan konfigurasi samba
mv /var/lib/samba /var/lib/samba.NT mv /etc/samba/smb.conf /etc/samba/smb.conf.NT
Saya memindahkan database lama ke /var/lib/samba.NT sehingga Anda perlu membuat kembali direktori / var / lib / samba
mkdir /var/lib/samba
Dokumentasi merekomendasikan memindahkan semua database ke folder terpisah. Dalam kasus saya, hanya gencache_notrans.tdb terletak secara terpisah, jadi saya harus mentransfernya saja.
cp -p /run/samba/gencache_notrans.tdb /var/lib/samba.NT
Dokumentasi juga mengatakan bahwa hanya enam database yang dibutuhkan:
secrets.tdb
schannel_store.tdb
passdb.tdb
gencache_notrans.tdb
group_mapping.tdb
account_policy.tdb
Namun, keberadaan file lain di folder itu tidak menghalangi proses transisi.
Mulai proses peningkatan klasik
samba-tool domain classicupgrade βdbdir=/var/lib/samba.NT --realm=samdom.local --dns-backend=SAMBA_INTERNAL /etc/samba/smb.conf.NT
Saya perhatikan bahwa dokumentasi tidak merekomendasikan penggunaan domain tingkat atas lokal., Tetapi dalam kasus saya ini terjadi secara historis.
Pada lembar yang muncul di layar, kata sandi administrator akan berkedip, yang dapat Anda tuliskan jika diinginkan).
Jika Anda memiliki masalah, sebelum upaya baru untuk meningkatkan klasik, Anda harus ingat untuk menghapus file database dan smb.conf yang dibuat dalam proses.
rm -f /etc/samba/smb.conf rm -rf /var/lib/samba/*
Jika semuanya berjalan dengan baik, Anda bisa pergi ke langkah berikutnya.
Memeriksa dan mengedit konfigurasi server
Di /etc/resolv.conf seharusnya (jika tidak secara otomatis dibuat untuk Anda)
domain samdom.local nameserver 10.10.1.220
Di / etc / hosts
127.0.0.1 localhost localhost.localdomain 10.10.1.220 pdc.samdom.local pdc
File / etc / hostname harus memiliki nama host yang disingkat
pdc
Di / etc / network / interfaces
dns-nameservers 10.10.1.220 dns-search samdom.local
Mengarahkan permintaan dns
Jika server Anda akan mengarahkan permintaan DNS ke Internet (dan INTERNAL_DNS Samba digunakan), Anda perlu menambahkan baris dari ip ISP Anda di bagian [global] di smb.conf:
dns forwarder = ip
Dalam "Samba" 4.2, Anda hanya dapat menentukan satu ip. Berikut ini - beberapa, dengan spasi.
Jika lalu lintas keluar dikendalikan di gateway Anda, maka jangan lupa untuk membuka paket udp dari server ke port 53.
Konfigurasikan Kerberos
Kami membawa /etc/krb5.conf ke formulir yang serupa:
[libdefaults] default_realm = SAMDOM.LOCAL dns_lookup_realm = false dns_lookup_kdc = true krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true v4_instance_resolve = false v4_name_convert = { host = { rcmd = host ftp = ftp } plain = { something = something-else } } fcc-mit-ticketflags = true [realms] SAMDOM.LOCAL = { kdc = pdc admin_server = pdc default_domain = SAMDOM.LOCAL } [domain_realm] .samdom.local = SAMDOM.LOCAL samdom.local = SAMDOM.LOCAL
Sinkronisasi waktu
Jika paket ntp tidak layak, maka atur:
apt-get install ntp
Dalam kasus saya tidak ada direktori / var / lib / samba / ntp_signd /. Dibuat secara manual.
Selanjutnya, Anda perlu memberinya hak:
chown root:ntp /var/lib/samba/ntp_signd/ chmod 750 /var/lib/samba/ntp_signd/
Selanjutnya, Anda perlu membawa file /etc/ntp.conf ke bentuk yang serupa:
# Local clock (Note: This is not the localhost address!) server 127.127.1.0 fudge 127.127.1.0 stratum 10 # The source, where we are receiving the time from server 0.pool.ntp.org iburst prefer driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp ntpsigndsocket /var/lib/samba/ntp_signd/ # Access control # Default restriction: Only allow querying time (incl. ms-sntp) from this machine restrict default kod nomodify notrap nopeer mssntp # Allow everything from localhost restrict 127.0.0.1 # Allow that our time source can only provide time and do nothing else restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
Menghapus slapd dan me-reboot
apt-get remove slapd reboot
Pengujian
Dalam dokumentasi, pengujian dilakukan dari akun Administrator. Kami secara historis mengembangkan bahwa tindakan administratif berasal dari domain_admin. Selanjutnya, perintah dan output yang benar akan ditampilkan.
Pengujian samba: root@debian:/root# smbclient -L localhost -U% Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.1.17-Debian] Sharename Type Comment
Jika Anda mendapatkan kesalahan di sini:
Koneksi ke loclhost gagal (Galat NT_STATUS_UNSUCCESSFUL)
periksa apakah samba mulai. Dalam satu tes, saya lupa menghapus (mematikan) slapd dan juga melihat kesalahan ini.
Sekali lagi periksa:
$ smbclient //localhost/netlogon -Udomain_admin -c 'ls' Enter Administrator's password: Domain=[SAMDOM] OS=[Unix] Server=[Samba xyz] . D 0 Tue Nov 1 08:40:00 2016 .. D 0 Tue Nov 1 08:40:00 2016 49386 blocks of size 524288. 42093 blocks available
Menguji DNS root@debian:/root# nslookup samdom.local Server: 10.10.1.220 Address: 10.10.1.220#53 Name: samdom.local Address: 10.10.1.220
$ host -t SRV _ldap._tcp.samdom.local. _ldap._tcp.samdom.example.com has SRV record 0 100 389 pdc.samdom.example.com.
$ host -t SRV _kerberos._udp.samdom.local. _kerberos._udp.samdom.example.com has SRV record 0 100 88 pdc.samdom.example.com.
$ host -t A pdc.samdom.local. dc1.samdom.example.com has address 10.10.1.220
Menguji Kerberos root@debian:/root# kinit domain_admin@SAMDOM.LOCAL Password for domain_admin@SAMDOM.LOCAL: Warning: Your password will expire in 41 days on 27 2015 14:34:46
root@debian:/root
Pengaturan tambahan
Agar nama dan grup domain muncul di linux, Anda harus memperbaiki /etc/nsswitch.conf alih-alih angkaString harus direduksi menjadi bentuk berikut:
passwd: file winbind
grup: file winbind
Harap dicatat bahwa winbind hanya ditambahkan ke baris ini. Untuk detailnya, lihat dokumentasi.
Dalam kasus saya, saya juga menghapus penyebutan ldap dari file ini.
reboot
Jika Anda, seperti saya, sebelum upgrade klasik dns, server berada di komputer lain dan Anda menggunakan server DHCP, jangan lupa untuk mengubah pengaturan server DHCP yang menunjuk ke server DNSKonfigurasikan folder jaringan
Pengembang tidak disarankan untuk menggunakan pengontrol domain AD sebagai server file. Namun, dalam kasus saya tidak ada server lain.
Pengaturan ini dijelaskan dengan sangat baik dalam
dokumentasi untuk "Samba" dan Anda perlu melihatnya di sana. Singkatnya, lalu:
Penting untuk memeriksa samba dukungan ACL. smbd -b | grep HAVE_LIBACL HAVE_LIBACL
Jangan lupa bahwa bagian tersebut harus dipasang dengan opsi user_xattr dan acl.Hanya pengguna dan grup dengan SeDiskOperatorPrivilege yang dapat mengonfigurasi hak bola:Misalnya, untuk memberikan hak tersebut ke grup Admin Domain, Anda harus menjalankan perintah:
net rpc rights grant "Samdom\Domain Admins" SeDiskOperatorPrivilege -U "Samdom\domain_admin"
Langsung untuk menambahkan bola yang Anda butuhkan:Buat direktori dan berikan hak yang diperlukan:
# mkdir -p /srv/samba/Demo/ # chown root:"Domain Admins" /srv/samba/Demo/ # chmod 0770 /srv/samba/Demo/
tambahkan ke smb.conf
[Demo] path = /srv/samba/Demo/ read only = no
Setelah itu, muat ulang konfigurasi samba dengan perintah:
smbcontrol all reload-config
Seperti sebelumnya, bola bisa disembunyikan dengan menambahkan deskripsi:
browseable = no
Selanjutnya, hak didistribusikan dari windows mesin, dari akun dengan
SeDiskOperatorPrivilege . Untuk melakukan ini, buka "manajemen komputer".
Berpegang teguh pada komputer jarak jauh (kontroler domain pdc dalam kasus kami). Bagikan hak melalui: "Folder bersama" -> "Sumber daya bersama".
Ada kemungkinan bahwa ketika Anda pergi ke item "Folder Bersama", Anda akan mendapatkan kesalahan "Nomor prosedur di luar batas yang diizinkan (1745)." Saya mengabaikannya, karena saya tidak menemukan sesuatu yang dapat dimengerti di Internet dan itu tidak menyebabkan masalah selama pengujian dan operasi.
Masalah dapat terjadi jika Anda berbagi folder jaringan lama dengan cara ini. Sebelum peningkatan klasik, hak atas bola ditetapkan melalui smb.conf, pengguna linux, grup, lainnya, dan setfacl. Setelah peningkatan klasik, sekolah dengan hak untuk berubah, mengganti nama, dll mulai muncul secara bertahap. Setfacl rekursif tidak membantu, karena tiang tembok dengan pewarisan hak muncul.
Perlu dicatat bahwa dalam dokumentasi, direkomendasikan untuk mendistribusikan hak dari jendela mesin, melalui akses jarak jauh.
Akibatnya, karena volume file yang tidak terlalu besar, keputusan dibuat untuk mentransfer data ke mesin windows selama jam-jam tidak bekerja, membuat ulang folder jaringan sesuai dengan rekomendasi pengembang samba dan mengunggah kembali file.
Folder beranda pengguna di server
Manajemen folder rumah pengguna juga telah berubah.
Perlu dicatat bahwa proses dari konfigurasi juga dijelaskan dengan sangat baik dalam
dokumentasi .
Saya hanya akan menjelaskan fitur utama untuk kasus saya.
Sebelumnya, setiap pengguna mendapatkan bola mereka sendiri. Sekarang hanya folder bersama yang dibagikan, dan pengguna hanya memiliki akses ke direktori mereka.
Penyetelan dilakukan menggunakan
Microsoft Remote Server Administration Tools (RSAT) . RSAT memiliki fitur yang tidak menyenangkan. Ketika memutakhirkan Win 10 ke versi baru, itu harus diinstal ulang.
Bola rumah bisa diambil secara manual, melalui properti pengguna di snap-in Users and Computers. Tab profil. Disk U: \\ pdc \ user-share \ username
Namun, lebih mudah untuk melakukan ini melalui kebijakan domain, yang sangat jelas dijelaskan dalam dokumentasi di atas dalam paragraf
"Menggunakan Preferensi Kebijakan Grup" .
Jangan lupa bahwa bola biasa dapat disembunyikan dengan menambahkan deskripsi:
browseable = no
Level Domain Naik
Domain ditingkatkan tanpa masalah ke level 2008_R2 dengan perintah:
samba-tool domain level raise
Anda dapat melihat level dengan perintah:
samba-tool domain level show
Jika smbd.log dibombardir dengan kesalahan CUPS
Dalam kasus saya, masalah ini muncul:
Tidak dapat terhubung ke server CUPS localhost: 631
Diperbaiki oleh artikel singkat ini.
Peningkatan berikutnya ke masalah dan solusi Debian 9
Di
apt-get dist-upgrade
Ada masalah, yaitu, samba dan winbind tidak ingin diperbarui. Pergi ke konflik ketergantungan.
Metode dari artikel membantu tautan yang sayangnya tidak saya simpan.
Berikut adalah kutipan langsung darinya:
jika Samba dalam mode AD-DC, itu dan winbind gagal.
lakukan perintah ini, lalu coba jalankan pemutakhiran lagi
systemctl menghentikan smbd nmbd winbind
systemctl menonaktifkan smbd nmbd winbind
systemctl membuka kedai samba-ad-dc
systemctl mulai samba-ad-dc
systemctl mengaktifkan samba-ad-dc
Setelah memperbarui versi SAMBA, disarankan agar: "Pemeriksaan database Samba AD DC".
# samba-tool dbcheck --cross-ncs
Sejak di Deb 9 SAMBA versi 4.5 saya mendapat banyak kesalahan "replPropertyMetaData".
Proses pemecahan masalah dijelaskan dalam dokumentasi:
wiki.samba.org/index.php/Updating_Samba#Fixing_replPropertyMetaData_AttributesDan sampai pada pelaksanaan perintah:
samba-tool dbcheck --cross-ncs --fix --yes
Daftar sumber yang digunakan
Dokumentasi SAMBA:
Memigrasikan Domain Samba NT4 ke Samba AD (Peningkatan Klasik)Menyiapkan Samba sebagai Pengontrol Domain Direktori AktifMenyiapkan Share Menggunakan Windows ACLFolder Beranda PenggunaArtikel bagus:
Pengontrol domain Debian 8 (... yang sudah memiliki Samba4 bawaan)Kesalahan Samba: Tidak dapat terhubung ke server CUPS localhost: 631Artikel oleh penulis bahasa Inggris yang tidak dikenal yang menjelaskan cara meningkatkan ke Debian 9