PAM, NIS, LDAP, Kerberos, DS dan Samba 4 AD-DC - Rangkaian SMB

Indeks umum siri: Rangkaian Komputer untuk PKS: Pengenalan

Helo rakan-rakan dan rakan-rakan!

Dengan artikel ini saya mengucapkan Selamat tinggal kepada Komuniti FromLinux. Perpisahan khas untuk Komuniti Khas. Mulai sekarang saya akan berada dalam projek peribadi saya yang boleh anda ketahui http://www.gigainside.com.

Objektif utama jawatan adalah untuk menawarkan «Gambar besar»Mengenai Perkhidmatan Pengesahan dengan Perisian Percuma yang kami miliki. Sekurang-kurangnya itulah niat kita. Oleh itu, ia akan menjadi panjang, walaupun kita tahu bahawa ia bertentangan dengan peraturan umum menulis artikel. Kami berharap Pentadbir Sistem menghargainya.

Kami ingin menunjukkan bahawa protokol umum untuk banyak sistem pengesahan moden adalah LDAP, dan bahawa tidak sia-sia untuk mempelajarinya dengan teliti, dari bahan kajian yang akan kita dapati di laman rasmi http://www.openldap.org/.

Kami tidak akan memberikan definisi terperinci -atau pautan- mengenai aspek-aspek yang dibahas dalam artikel sebelumnya, atau pada yang keterangannya dapat diakses dengan mudah di Wikipedia atau laman web atau artikel lain di Internet, agar tidak kehilangan objektiviti mesej yang ingin kami berikan. Kami juga akan menggunakan gabungan nama yang betul dalam bahasa Inggeris dan Sepanyol, kerana kami menganggap bahawa kebanyakan sistem dilahirkan dengan nama dalam bahasa Inggeris dan sangat bermanfaat bagi Sysadmin untuk mengasimilasikannya dalam bahasa asalnya.

  • PAM: Modul Pengesahan Pluggable.
  • NIS: Rangkaian_Informasi_Layanan.
  • LDAP: Protokol Akses Direktori Ringan.
  • Kerberos: Protokol keselamatan untuk mengesahkan pengguna, komputer dan perkhidmatan secara terpusat di rangkaian, mengesahkan bukti mereka terhadap entri yang ada dalam pangkalan data Kerberos.
  • DS: Pelayan Direktori atau Perkhidmatan Direktori
  • AD-DC: Direktori Aktif - Pengawal Domain

Indeks

PAM

Kami mendedikasikan siri kecil untuk jenis pengesahan tempatan ini, yang akan anda lihat dalam praktik harian bahawa ia digunakan secara meluas apabila, sebagai contoh, kami bergabung dengan stesen kerja ke Pengawal Domain atau Direktori Aktif; untuk memetakan pengguna yang tersimpan dalam pangkalan data LDAP luaran seolah-olah mereka pengguna tempatan; untuk memetakan pengguna yang tersimpan di Domain Controller dari Active Directory seolah-olah mereka adalah pengguna tempatan, dan sebagainya.

NIS

De Wikipedia:

  • Sistem Maklumat Rangkaian (dikenali dengan singkatannya NIS, yang dalam bahasa Sepanyol bermaksud Sistem Maklumat Rangkaian), adalah nama protokol perkhidmatan direktori pelayan pelanggan yang dikembangkan oleh Sun Microsystems untuk mengirim data konfigurasi dalam sistem yang diedarkan seperti nama pengguna dan host antara komputer di rangkaian.NIS didasarkan pada RPC ONC, dan terdiri daripada pelayan, perpustakaan sisi pelanggan, dan pelbagai alat pentadbiran.

    Pada asalnya NIS disebut Yellow Pages, atau YP, yang masih digunakan untuk merujuknya. Sayangnya, nama itu adalah tanda dagang British Telecom, yang mengharuskan Sun menjatuhkan nama itu. Namun YP tetap menjadi awalan dalam nama kebanyakan arahan yang berkaitan dengan NIS, seperti ypserv dan ypbind.

    DNS memberikan maklumat yang terhad, yang paling penting adalah korespondensi antara nama nod dan alamat IP. Untuk jenis maklumat lain, tidak ada perkhidmatan khusus tersebut. Sebaliknya, jika anda hanya menguruskan LAN kecil tanpa sambungan Internet, sepertinya tidak layak untuk menyiapkan DNS. Inilah sebabnya mengapa Sun mengembangkan Sistem Maklumat Rangkaian (NIS). NIS menyediakan keupayaan akses pangkalan data generik yang dapat digunakan untuk menyebarkan, misalnya, maklumat yang terdapat dalam passwd dan mengelompokkan fail ke semua node di rangkaian anda. Ini menjadikan rangkaian kelihatan seperti satu sistem, dengan akaun yang sama di semua nod. Begitu juga, NIS dapat digunakan untuk menyebarkan maklumat nama node yang terdapat di / etc / host ke semua mesin di rangkaian.

    Hari ini NIS tersedia di hampir semua pengedaran Unix, dan bahkan terdapat pelaksanaan percuma. BSD Net-2 menerbitkan yang berasal dari pelaksanaan rujukan domain awam yang disumbangkan oleh Sun. Kod perpustakaan untuk bahagian klien dari versi ini telah lama ada di GNU / Linux libc untuk waktu yang lama, dan program pentadbiran dialihkan ke GNU / Linux oleh Swen Thümmler. Walau bagaimanapun, pelayan NIS hilang semasa pelaksanaan rujukan.

    Peter Eriksson telah mengembangkan pelaksanaan baru yang disebut NYS. Ia menyokong NIS asas dan versi Sun NIS + yang dipertingkatkan. [1] NYS tidak hanya menyediakan sebilangan alat NIS dan pelayan, ia juga menambah sekumpulan fungsi perpustakaan baru yang perlu anda kumpulkan ke dalam libc anda jika anda ingin menggunakannya. Ini termasuk skema konfigurasi baru untuk resolusi nama nod yang menggantikan skema semasa yang digunakan oleh fail "host.conf".

    Libc GNU, yang dikenali sebagai libc6 dalam komuniti GNU / Linux, termasuk versi terkini sokongan NIS tradisional yang dikembangkan oleh Thorsten Kukuk. Ia menyokong semua fungsi perpustakaan yang disediakan oleh NYS, dan juga menggunakan skema konfigurasi NYS lanjutan. Alat dan pelayan masih diperlukan, tetapi menggunakan GNU libc menyelamatkan masalah menambal dan mengkompilasi ulang perpustakaan

    .

Komputer dan nama domain, antara muka rangkaian dan penyelesai

  • Kami bermula dari pemasangan yang bersih - tanpa antara muka grafik- dari Debian 8 "Jessie". Domain swl.fan bermaksud "Peminat Perisian Percuma." Apa nama yang lebih baik daripada ini?.
root @ master: ~ # nama host
master
root @ master: ~ # nama host -f
tuan.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 skop host lo valid_lft selamanya disukai_lft selamanya inet6 :: Hos skop 1/128 valid_lft selamanya disukai_lft selamanya 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link / ether 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 skop global eth0 valid_lft selamanya disukai_lft selamanya inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 link skop valid_lft selamanya disukai_lft selamanya

root @ master: ~ # cat /etc/resolv.conf 
cari nameserver swl.fan 127.0.0.1

Pemasangan bind9, isc-dhcp-server dan ntp

mengikat9

root @ master: ~ # aptitude install bind9 bind9-doc nmap
root @ master: ~ # systemctl status bind9

root @ master: ~ # nano /etc/bind/named.conf
sertakan "/etc/bind/named.conf.options"; sertakan "/etc/bind/named.conf.local"; sertakan "/etc/bind/named.conf.default-zones";

root @ master: ~ # cp /etc/bind/named.conf.options \ /etc/bind/named.conf.options.original

root @ master: ~ # nano /etc/bind/named.conf.options
pilihan {direktori "/ var / cache / bind"; // Sekiranya terdapat firewall antara anda dan server nama yang ingin anda bincangkan //, anda mungkin perlu memperbaiki firewall untuk membolehkan berbilang // port bercakap. Lihat http://www.kb.cert.org/vuls/id/800113

        // Sekiranya ISP anda memberikan satu atau lebih alamat IP untuk // nameserver yang stabil, anda mungkin mahu menggunakannya sebagai penghantar. // Komen blok berikut, dan masukkan alamat menggantikan // placeholder all-0. // pemaju {// 0.0.0.0; //}; // =============================================== ===================== $ // Sekiranya BIND log mesej ralat mengenai kunci root yang telah tamat tempoh, // anda perlu mengemas kini kunci anda. Lihat https://www.isc.org/bind-keys
        // =============================================== ====================== $ // Kami tidak mahu DNSSEC
        dnssec-membolehkan tidak;
        // dnssec-pengesahan automatik; auth-nxdomain no; # patuhi RFC1035 listen-on-v6 {any; }; // Untuk pemeriksaan dari localhost dan sysadmin // melalui dig swl.fan axfr // Kami tidak mempunyai Slave DNS ... sehingga sekarang
        izinkan-pindah {localhost; 192.168.10.1; };
}; root @ master: ~ # bernama-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Ruang Alamat Berkongsi (RFC 6598)
zone "64.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "65.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "66.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "67.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "68.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "69.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "70.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "71.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "72.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "73.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "74.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "75.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "76.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "77.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "78.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "79.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "80.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "81.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "82.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "83.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "84.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "85.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "86.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "87.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "88.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "89.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "90.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "91.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "92.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "93.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "94.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "95.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "96.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "97.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "98.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "99.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "100.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "101.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "102.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "103.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "104.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "105.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "106.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "107.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "108.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "109.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "110.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "111.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "112.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "113.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "114.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "115.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "116.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "117.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "118.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "119.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "120.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "121.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "122.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "123.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "124.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "125.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "126.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "127.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };

// Link-tempatan / APIPA (RFC 3927, 5735 dan 6303)
zon "254.169.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; };

// Penugasan protokol IETF (RFC 5735 dan 5736)
zon "0.0.192.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; };

// TEST-NET- [1-3] untuk Dokumentasi (RFC 5735, 5737 dan 6303)
zon "2.0.192.in-addr.arpa" {jenis master; fail "/etc/bind/db.empty"; }; zon "100.51.198.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "113.0.203.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; };

// Julat Contoh IPv6 untuk Dokumentasi (RFC 3849 dan 6303)
zon "8.bd0.1.0.0.2.ip6.arpa" {master type; fail "/etc/bind/db.empty"; };

// Nama Domain untuk Dokumentasi dan Pengujian (BCP 32)
zon "ujian" {master type; fail "/etc/bind/db.empty"; }; zon "contoh" {master type; fail "/etc/bind/db.empty"; }; zon "tidak sah" {master type; fail "/etc/bind/db.empty"; }; zon "example.com" {jenis master; fail "/etc/bind/db.empty"; }; zon "example.net" {jenis master; fail "/etc/bind/db.empty"; }; zon "example.org" {master type; fail "/etc/bind/db.empty"; };

// Ujian Penanda Aras Penghala (RFC 2544 dan 5735)
zon "18.198.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "19.198.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; };

// IANA Terpelihara - Ruang Kelas E Lama (RFC 5735)
zon "240.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "241.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "242.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "243.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "244.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "245.in-addr.arpa" {jenis induk; fail "/etc/bind/db.empty"; }; zon "246.in-addr.arpa" {jenis induk; fail "/etc/bind/db.empty"; }; zon "247.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "248.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "249.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "250.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "251.in-addr.arpa" {jenis master; fail "/etc/bind/db.empty"; }; zon "252.in-addr.arpa" {jenis induk; fail "/etc/bind/db.empty"; }; zon "253.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "254.in-addr.arpa" {master type; fail "/etc/bind/db.empty"; };

// Alamat IPv6 Tidak Ditugaskan (RFC 4291)
zon "1.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "3.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "4.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "5.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "6.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "7.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "8.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "9.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "a.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "b.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "c.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "d.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "e.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "0.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "1.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "2.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "3.f.ip6.arpa" {jenis induk; fail "/etc/bind/db.empty"; }; zon "4.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "5.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "6.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "7.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "8.f.ip6.arpa" {jenis induk; fail "/etc/bind/db.empty"; }; zon "9.f.ip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "afip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "bfip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "0.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "1.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "2.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "3.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "4.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "5.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "6.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "7.efip6.arpa" {master type; fail "/etc/bind/db.empty"; };

// IPv6 ULA (RFC 4193 dan 6303)
zon "cfip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "dfip6.arpa" {jenis master; fail "/etc/bind/db.empty"; };

// IPv6 Link Local (RFC 4291 dan 6303)
zon "8.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "9.efip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "aefip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "befip6.arpa" {jenis induk; fail "/etc/bind/db.empty"; };

// Alamat Tapak-Lokal Tidak Digunakan IPv6 (RFC 3879 dan 6303)
zon "cefip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "defip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "eefip6.arpa" {master type; fail "/etc/bind/db.empty"; }; zon "fefip6.arpa" {jenis induk; fail "/etc/bind/db.empty"; };

// IP6.INT Tidak digunakan lagi (RFC 4159)
zon "ip6.int" {jenis induk; fail "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Lakukan konfigurasi tempatan di sini // // Pertimbangkan untuk menambahkan zon 1918 di sini, jika tidak digunakan dalam // organisasi anda termasuk "/etc/bind/zones.rfc1918";
sertakan "/etc/bind/zones.rfcFreeBSD";

// Pengisytiharan nama, jenis, lokasi, dan kebenaran kemas kini // Zon Rekod DNS // Kedua-dua Zon adalah zon MASTER "swl.fan" {master type; fail "/var/lib/bind/db.swl.fan"; }; zon "10.168.192.in-addr.arpa" {master type; fail "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # bernama-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ DI SOA master.swl.fan. root.master.swl.fan. (1; siri 1D; muat semula 1H; cuba semula 1W; tamat 3H); minimum atau; Masa cache negatif untuk hidup; @ DI NS master.swl.fan. @ IN MX 10 mel.swl.fan. @ IN 192.168.10.5 @ IN TXT "Untuk Peminat Perisian Percuma"; sysadmin IN A 192.168.10.1 serverer IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mel IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ DI SOA master.swl.fan. root.master.swl.fan. (1; siri 1D; muat semula 1H; cuba semula 1W; tamat 3H); minimum atau; Masa cache negatif untuk hidup; @ DI NS master.swl.fan. ; 1 DALAM PTR sysadmin.swl.fan. 4 IN PTR fileserver.swl.fan. 5 IN PTR master.swl.fan. 6 IN PTR proxyweb.swl.fan. 7 IN PTR blog.swl.fan. 8 DALAM PTR ftpserver.swl.fan. 9 DALAM PTR mel.swl.fan.

root @ master: ~ # bernama-checkzone swl.fan /var/lib/bind/db.swl.fan
zon swl.fan/IN: dimuatkan bersiri 1 OK
root @ master: ~ # bernama-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
zon 10.168.192.in-addr.arpa/IN: siri bersiri 1 OK

root @ master: ~ # bernama-checkconf -zp
root @ master: ~ # systemctl mulakan semula bind9.service
root @ master: ~ # status systemctl bind9.service

Pemeriksaan Bind9

root @ master: ~ # digali swl.fan axfr
root @ master: ~ # digali 10.168.192.in-addr.arpa axfr
root @ master: ~ # menggali SOA swl.fan
root @ master: ~ # dig DI NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # host proxyweb root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Bermula Nping 0.6.47 ( http://nmap.org/nping ) pada 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Min rtt: N / A | Purata rtt: N / A Baku paket dihantar: 84 (0B) | Rcvd: 0 (3B) | Kehilangan: 100.00 (1%) Nping selesai: 3.01 alamat IP ping dalam XNUMX saat 

isc-dhcp-server

root @ master: ~ # aptitude install isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Pada antara muka apa yang harus dilayan oleh pelayan DHCP (dhcpd) permintaan DHCP? # Pisahkan pelbagai antara muka dengan ruang, misalnya "eth0 eth1".
INTERFACES = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n PENGGUNA dhcp-key
root @ master: ~ # kucing Kdhcp-key. +157 + 51777. peribadi 
Format kunci peribadi: v1.3 Algoritma: 157 (HMAC_MD5) Kekunci: Ba9GVadq4vOCixjPN94dCQ == Bit: AAA = Dicipta: 20170527133656 Terbitkan: 20170527133656 Aktifkan: 20170527133656

root @ master: ~ # nano dhcp.key
kunci dhcp-kunci {
        algoritma hmac-md5;
        rahsia "Ba9GVadq4vOCixjPN94dCQ == ";
}; root @ master: ~ # install -o root -g bind -m 0640 dhcp.key /etc/bind/dhcp.key root @ master: ~ # install -o root -g root -m 0640 dhcp.key / etc / dhcp /dhcp.key root @ master: ~ # nano /etc/bind/named.conf.local
sertakan "/etc/bind/dhcp.key";

zon "swl.fan" {master type; fail "/var/lib/bind/db.swl.fan";
        izinkan-kemas kini {key dhcp-key; };
}; zon "10.168.192.in-addr.arpa" {master type; fail "/var/lib/bind/db.10.168.192.in-addr.arpa";
        izinkan-kemas kini {key dhcp-key; };
};

root @ master: ~ # bernama-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-kemas kini-gaya sementara; ddns-kemas kini mengenai; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; abaikan kemas kini pelanggan; kemas kini-pengoptimuman palsu; # Mungkin diperlukan pada Debian berwibawa; opsyen ip-forwarding dimatikan; nama domain pilihan "swl.fan"; sertakan "/etc/dhcp/dhcp.key"; zon swl.fan. {primer 127.0.0.1; kunci dhcp-kunci; } zon 10.168.192.in-addr.arpa. {primer 127.0.0.1; kunci dhcp-kunci; } rangkaian semula rangkaian bersama {subnet 192.168.10.0 netmask 255.255.255.0 {router pilihan 192.168.10.1; subnet-mask pilihan 255.255.255.0; pilihan siaran-alamat 192.168.10.255; opsyen domain-nama-pelayan 192.168.10.5; opsyen netbios-name-server 192.168.10.5; pilihan ntp-pelayan 192.168.10.5; pelayan masa pilihan 192.168.10.5; julat 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Hak Cipta 2004-2014 Internet Systems Consortium. Hak cipta terpelihara. Untuk maklumat, sila lawati https://www.isc.org/software/dhcp/
Fail konfigurasi: /etc/dhcp/dhcpd.conf Fail pangkalan data: /var/lib/dhcp/dhcpd.leases fail PID: /var/run/dhcpd.pid

root @ master: ~ # systemctl mulakan semula bind9.service 
root @ master: ~ # status systemctl bind9.service 

root @ master: ~ # systemctl start isc-dhcp-server.service
root @ master: ~ # status systemctl isc-dhcp-server.service

ntp

root @ master: ~ # aptitude install ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistik loopstats peerstats clockstats filegen loopstats file loopstats type day enabled filegen peerstats file peerstats type day dayakan filegen filestats file clockstats type day day server 192.168.10.1 hadkan -4 default kod notrap nomodify nopeer noquery had -6 default kod notrap nomodify nopeer noquery had 127.0.0.1 had :: 1 siaran 192.168.10.255

root @ master: ~ # systemctl mulakan semula ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 Mei 10:04:01 ntpdate [18769]: laraskan pelayan masa 192.168.10.1 mengimbangi 0.369354 saat

Pemeriksaan global untuk pelayan ntp, bind9, dan isc-dhcp

Dari pelanggan Linux, BSD, Mac OS, atau Windows, periksa bahawa waktu diselaraskan dengan betul. Bahawa ia memperoleh alamat IP yang dinamik dan nama host itu diselesaikan melalui pertanyaan DNS langsung dan terbalik. Tukar nama pelanggan dan buat semula semua cek. Jangan teruskan sehingga anda yakin bahawa perkhidmatan yang dipasang setakat ini berfungsi dengan betul. Untuk sesuatu, kami menulis semua artikel mengenai DNS dan DHCP Rangkaian Komputer untuk PKS.

Pemasangan Pelayan NIS

root @ master: ~ # aptitude show nis
Bercanggah dengan: netstd (<= 1.26) Penerangan: pelanggan dan daemon untuk Perkhidmatan Maklumat Rangkaian (NIS) Pakej ini menyediakan alat untuk mengatur dan mengekalkan domain NIS. NIS, yang awalnya dikenali sebagai Yellow Pages (YP), kebanyakan digunakan untuk membiarkan beberapa mesin dalam rangkaian berkongsi maklumat akaun yang sama, seperti fail kata laluan.

root @ master: ~ # aptitude install nis
Konfigurasi Pakej ┌─────────────────────────┤ Konfigurasi Nis ├──────────────── ── │ │ Pilih "nama domain" NIS untuk sistem ini. Sekiranya anda mahu mesin │ │ ini hanya menjadi pelanggan, anda harus memasukkan nama domain NIS yang anda mahu sertai. Atively │ │ atively Sebagai alternatif, jika mesin ini ingin menjadi pelayan NIS, anda boleh │ N memasukkan "nama domain" NIS baru atau nama domain NIS existing │ yang ada. │ │ │ │ NIS Domain: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Ini akan melambatkan anda kerana konfigurasi perkhidmatan tidak ada seperti itu. Tunggu proses selesai.

root @ master: ~ # nano / etc / default / nis
# Adakah kita pelayan NIS dan jika demikian jenis apa (nilai: false, slave, master)?
NISSERVER = tuan

root @ master: ~ # nano /etc/ypserv.securenets # securenets Fail ini menentukan hak akses ke pelayan NIS anda # untuk klien NIS (dan pelayan hamba - ypxfrd menggunakan # fail ini juga). Fail ini mengandungi pasangan netmask / rangkaian. # Alamat IP pelanggan perlu dipadankan dengan sekurang-kurangnya satu # daripadanya. # # Seseorang boleh menggunakan kata "host" dan bukannya netmask # 255.255.255.255. Hanya alamat IP yang dibenarkan dalam # fail ini, bukan nama host. # # Sentiasa benarkan akses untuk localhost 255.0.0.0 127.0.0.0 # Talian ini memberi akses kepada semua orang. SILA ADA! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Perlukah kita menggabungkan fail passwd dengan file bayangan? # MERGE_PASSWD = benar | salah
MERGE_PASSWD = benar

# Perlukah kita menggabungkan fail kumpulan dengan fail gshadow? # MERGE_GROUP = benar | salah
MERGE_GROUP = benar

Kami membina pangkalan data NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
Pada ketika ini, kita harus membina senarai host yang akan menjalankan pelayan NIS. master.swl.fan ada dalam senarai hos pelayan NIS. Terus tambahkan nama untuk host lain, satu per baris. Apabila anda selesai dengan senarai, ketik a . hos seterusnya untuk menambah: tuan.swl.fan hos seterusnya untuk menambah: Senarai pelayan NIS semasa kelihatan seperti ini: master.swl.fan Adakah ini betul? [y / n: y] Kami memerlukan beberapa minit untuk membina pangkalan data ... buat [1]: Meninggalkan direktori '/var/yp/swl.fan' master.swl.fan telah disiapkan sebagai pelayan induk NIS . Sekarang anda boleh menjalankan ypinit -s master.swl.fan di semua pelayan hamba.

root @ master: ~ # systemctl mulakan semula nis
root @ master: ~ # systemctl status nis

Kami menambah pengguna tempatan

root @ master: ~ # adduser bilbo
Menambah pengguna `bilbo '... Menambah kumpulan baru` bilbo' (1001) ... Menambah pengguna baru `bilbo '(1001) dengan kumpulan` bilbo' ... Membuat direktori rumah `/ home / bilbo ' ... Menyalin fail dari `/ etc / skel '... Masukkan kata laluan UNIX baru: Taip semula kata laluan UNIX baru: passwd: kata laluan dikemas kini dengan betul Mengubah maklumat pengguna untuk bilbo Masukkan nilai baru, atau tekan ENTER untuk menggunakan Nama Penuh lalai []: Nombor Bilik Bilbo Bagins []: Telefon Kerja []: Telefon Rumah []: Lain-lain []: Adakah maklumat itu betul? [Y / n]

root @ master: ~ # adduser strides root @ master: ~ # adduser legolas

dan sebagainya.

root @ master: ~ # legola jari
Log masuk: legolas Nama: Legolas Archer Direktori: / home / legolas Shell: / bin / bash Jangan pernah log masuk. Tiada surat. Tanpa Rancangan.

Kami mengemas kini pangkalan data NIS

root @ master: / var / yp # buat
buat [1]: Memasukkan direktori '/var/yp/swl.fan' Mengemas kini passwd.byname ... Mengemas kini passwd.byuid ... Mengemas kini group.byname ... Mengemas kini group.bygid ... Mengemas kini netid.byname. .. Mengemas kini shadow.byname ... Abaikan -> digabungkan dengan passwd make [1]: Meninggalkan direktori '/var/yp/swl.fan'

Kami menambah pilihan NIS ke pelayan isc-dhcp

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-kemas kini-gaya sementara; ddns-kemas kini mengenai; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; abaikan kemas kini pelanggan; kemas kini-pengoptimuman palsu; berwibawa; opsyen ip-forwarding dimatikan; nama domain pilihan "swl.fan"; sertakan "/etc/dhcp/dhcp.key"; zon swl.fan. {primer 127.0.0.1; kunci dhcp-kunci; } zon 10.168.192.in-addr.arpa. {primer 127.0.0.1; kunci dhcp-kunci; } rangkaian semula rangkaian bersama {subnet 192.168.10.0 netmask 255.255.255.0 {router pilihan 192.168.10.1; subnet-mask pilihan 255.255.255.0; pilihan siaran-alamat 192.168.10.255; opsyen domain-nama-pelayan 192.168.10.5; pilihan netbios-name-server 192.168.10.5; pilihan ntp-pelayan 192.168.10.5; pelayan masa pilihan 192.168.10.5;
                pilihan nis-domain "swl.fan";
                pilihan nis-pelayan 192.168.10.5;
                julat 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl restart isc-dhcp-server.service

Pemasangan Pelanggan NIS

  • Kami bermula dari pemasangan yang bersih - tanpa antara muka grafik- dari Debian 8 "Jessie".
akar @ mel: ~ # hostname -f
mel.swl.fan

root @ mel: ~ # ip addr
2: et0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link / ether 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 skop global eth0

root @ mel: ~ # aptitude install nis
root @ mel: ~ # nano /etc/yp.conf # # yp.conf Fail konfigurasi untuk proses ypbind. Anda boleh menentukan # pelayan NIS secara manual di sini jika tidak dapat dijumpai dengan # penyiaran di jaring tempatan (yang merupakan lalai) # # Lihat halaman manual ypbind untuk sintaks fail ini. # # PENTING: Untuk "ypserver", gunakan alamat IP, atau pastikan bahawa # host berada di / etc / host. Fail ini hanya ditafsirkan # sekali, dan jika DNS tidak dapat dicapai namun server yps tidak dapat diselesaikan dan ypbind tidak akan terikat ke pelayan. # ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mel: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Contoh konfigurasi fungsi GNU Name Service Switch. # Sekiranya anda memasang pakej `glibc-doc-referensi 'dan` info', cuba: # `info libc" Name Service Switch "'untuk maklumat mengenai fail ini. passwd: compat nis group: compat nis shadow: compat nis gshadow: files host: files dns nis network: files protokol: db files services: db file ethers: db files rpc: db files netgroup: nis

root @ mel: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) untuk maklumat lanjut.
pilihan sesi pam_mkhomedir.so skel = / etc / skel umask = 077
# berikut adalah modul per-paket (blok "Utama")

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl mulakan semula nis

Kami menutup sesi dan memulakannya semula tetapi dengan pengguna yang berdaftar di pangkalan data NIS di tuan.swl.fan.

root @ mail: ~ # keluar
logout Sambungan ke mel ditutup.

buzz @ sysadmin: ~ $ ssh legolas @ surat
kata laluan legolas @ mail: Membuat direktori '/ home / legolas'. Program yang disertakan dengan sistem Debian GNU / Linux adalah perisian percuma; syarat pengedaran yang tepat untuk setiap program dijelaskan dalam fail individu di / usr / share / doc / * / copyright. Debian GNU / Linux disertakan dengan JAMINAN TIDAK ADA, sejauh yang dibenarkan oleh undang-undang yang berlaku.
legolas @ mel: ~ $ pwd
/ rumah / legolas
legolas @ mel: ~ $ 

Kami menukar kata laluan pengguna legolas dan semak

legolas @ mel: ~ $ yppasswd 
Menukar maklumat akaun NIS untuk legolas di master.swl.fan. Sila masukkan kata laluan lama: legolas Menukar kata laluan NIS untuk legolas di master.swl.fan. Masukkan kata laluan baru: pemanah Kata laluan mesti mempunyai huruf besar dan huruf kecil, atau bukan huruf. Sila masukkan kata laluan baru: Arquero2017 Sila taip semula kata laluan baru: Arquero2017 Kata laluan NIS telah diubah pada master.swl.fan.

legolas @ mel: ~ $ keluar
logout Sambungan ke mel ditutup.

buzz @ sysadmin: ~ $ ssh legolas @ surat
kata laluan legolas @ mel: Arquero2017

Program yang disertakan dengan sistem Debian GNU / Linux adalah perisian percuma; syarat pengedaran yang tepat untuk setiap program dijelaskan dalam fail individu di / usr / share / doc / * / copyright. Debian GNU / Linux disertakan dengan JAMINAN TIDAK ADA, sejauh yang dibenarkan oleh undang-undang yang berlaku. Log masuk terakhir: Sabtu 27 Mei 12:51:50 2017 dari sysadmin.swl.fan
legolas @ mel: ~ $

Perkhidmatan NIS yang dilaksanakan di peringkat pelayan dan pelanggan berfungsi dengan betul.

LDAP

Dari Wikipedia:

  • LDAP adalah singkatan dari Protokol Akses Direktori Ringan (dalam Protokol Akses Direktori Ringan / Ringkas Sepanyol) yang merujuk kepada protokol peringkat aplikasi yang membolehkan akses ke perkhidmatan direktori yang diperintahkan dan diedarkan untuk mencari pelbagai maklumat di persekitaran rangkaian. LDAP juga dianggap sebagai pangkalan data (walaupun sistem penyimpanannya mungkin berbeza) yang dapat ditanyakan.Direktori adalah sekumpulan objek dengan atribut yang disusun secara logik dan hierarki. Contoh yang paling umum adalah direktori telefon, yang terdiri daripada serangkaian nama (orang atau organisasi) yang disusun mengikut abjad, dengan setiap nama memiliki alamat dan nombor telefon yang melekat padanya. Untuk memahami dengan lebih baik, ia adalah buku atau folder, di mana nama, nombor telefon dan alamat orang ditulis, dan disusun mengikut abjad.

    Pohon direktori LDAP kadang-kadang mencerminkan pelbagai batas politik, geografi, atau organisasi, bergantung pada model yang dipilih. Penyebaran LDAP semasa cenderung menggunakan nama Domain Name System (DNS) untuk menyusun hierarki tahap yang lebih tinggi. Semasa anda menatal ke bawah direktori, entri mungkin muncul yang mewakili orang, unit organisasi, pencetak, dokumen, kumpulan orang, atau apa sahaja yang mewakili entri tertentu di pohon (atau beberapa entri).

    Biasanya, ia menyimpan maklumat pengesahan (pengguna dan kata laluan) dan digunakan untuk mengesahkan, walaupun ada kemungkinan untuk menyimpan maklumat lain (data hubungan pengguna, lokasi pelbagai sumber rangkaian, kebenaran, sijil, dll.). Ringkasnya, LDAP adalah protokol akses bersatu untuk sekumpulan maklumat di rangkaian.

    Versi semasa adalah LDAPv3, dan ia ditentukan dalam RFCs RFC 2251 dan RFC 2256 (dokumen asas LDAP), RFC 2829 (kaedah pengesahan untuk LDAP), RFC 2830 (sambungan untuk TLS), dan RFC 3377 (spesifikasi teknikal)

    .

Sudah lama, protokol LDAP -dan pangkalan data yang sesuai atau tidak dengan OpenLDAP- adalah yang paling banyak digunakan dalam kebanyakan sistem pengesahan hari ini. Sebagai contoh pernyataan sebelumnya, kami memberikan di bawah beberapa nama sistem -Free atau Private- yang menggunakan pangkalan data LDAP sebagai backend untuk menyimpan semua objek mereka:

  • OpenLDAP
  • Pelayan Direktori Apache
  • Pelayan Direktori Red Hat - 389 DS
  • Perkhidmatan Direktori Novell - eDirectory
  • SUN Mikrosistem Terbuka DS
  • Pengurus Identiti Topi Merah
  • PercumaIPA
  • Pengawal Domain Klasik Samba NT4.
    Kami ingin menjelaskan bahawa sistem ini adalah pengembangan Team Samba dengan Samba 3.xxx + OpenLDAP sebagai backend. Microsoft tidak pernah melaksanakan perkara seperti itu. Melompat dari Pengawal Domain NT 4 ke Direktori Aktif mereka
  • Direktori Aktif Samba 4 - Pengawal Domain
  • ClearOS
  • Zentyal
  • Pelayan Korporat UCS Uninvention
  • Direktori Aktif Microsoft

Setiap pelaksanaan mempunyai ciri tersendiri, dan yang paling standard dan serasi adalah OpenLDAP.

Direktori Aktif, sama ada Microsoft asli atau Samba 4, adalah gabungan beberapa komponen utama yang:

Kita tidak boleh mengelirukan a Perkhidmatan Direktori o Direktori Perkhidmatan dengan Active Directory o Direktori Aktif. Yang pertama mungkin atau mungkin tidak menjadi tuan rumah pengesahan Kerberos, tetapi mereka tidak menawarkan perkhidmatan Rangkaian Microsoft yang disediakan oleh Domain Windows, dan mereka juga tidak mempunyai Pengawal Domain Windows seperti itu.

Perkhidmatan Direktori atau Perkhidmatan Direktori dapat digunakan untuk mengesahkan pengguna dalam rangkaian campuran dengan klien UNIX / Linux dan Windows. Untuk yang terakhir, program mesti dipasang pada setiap klien yang bertindak sebagai perantara antara Perkhidmatan Direktori dan klien Windows itu sendiri, seperti Perisian Percuma. halaman.

Perkhidmatan Direktori dengan OpenLDAP

  • Kami bermula dari pemasangan yang bersih - tanpa antara muka grafik- dari Debian 8 "Jessie", dengan nama mesin "master" yang sama yang digunakan untuk pemasangan NIS, serta konfigurasi antara muka rangkaiannya dan fail /etc/resolv.conf. Kami memasang pelayan ntp, bind9 dan isc-dhcp untuk pelayan baru ini, tanpa melupakan pemeriksaan global mengenai operasi yang betul dari tiga perkhidmatan sebelumnya.
root @ master: ~ # aptitude install slapd ldap-utils

Konfigurasi pakej

┌────────────────────┤ Konfigurasi Slapd The │ Masukkan kata laluan untuk kemasukan pentadbir direktori LDAP │ │ anda. Password │ │ │ Kata laluan pentadbir: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────┘

Kami memeriksa konfigurasi awal

root @ master: ~ # slapcat
dn: dc = swl, dc = kipas
objectClass: top objectClass: dcObject objectClass: organisasi o: swl.fan dc: swl strukturalObjectClass: kemasukan organisasiUUID: c8510708-da8e-1036-8fe1-71d022a16904 penciptaNama: cn = admin, dc = swl, dc = fan entry createTimestamp20170531205219 Z # 20170531205219.833955 # 000000 # 000 pengubah Nama: cn = admin, dc = swl, dc = fan modifyTimestamp: 000000Z

dn: cn = admin, dc = swl, dc = peminat
kelas objek: simpleSecurityObject kelas objek: organizationalRole cn: Huraian admin: pentadbir LDAP userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe-entry = cXNUMXe XNUMXZ # XNUMX # XNUMX # XNUMX pengubah Nama: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

Kami mengubah suai fail /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
ASAS dc = swl, dc = URI peminat    ldap: // localhost

Unit Organisasi dan kumpulan umum «pengguna»

Kami menambahkan Unit Organisasi minimum yang diperlukan, serta kumpulan «pengguna» kumpulan Posix yang akan kami jadikan semua pengguna, mengikuti contoh banyak sistem yang mempunyai kumpulan «pengguna«. Kami memanggilnya dengan nama «pengguna» agar tidak berlaku konflik dengan kumpulan «pengguna"sistem.

root @ master: ~ # nano base.ldif
dn: ou = orang, dc = swl, dc = objek peminatKelas: organisasiUnit ou: orang dn: ou = kumpulan, dc = swl, dc = objek peminatKelas: organisasiUnit ou: kumpulan dn: cn = pengguna, ou = kumpulan, dc = swl, dc = objek kipasKelas: posixGroup cn: user gidNombor: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Masukkan Kata Laluan LDAP: menambahkan entri baru "ou = orang, dc = swl, dc = fan" menambah entri baru "ou = kumpulan, dc = swl, dc = fan"

Kami menyemak entri yang ditambahkan

root @ master: ~ # ldapsearch -x ou = orang
# orang, swl.fan dn: ou = orang, dc = swl, dc = objek peminatKelas: organisasiUnit ou: orang

root @ master: ~ # ldapsearch -x ou = kumpulan
# kumpulan, swl.fan dn: ou = kumpulan, dc = swl, dc = objek peminatKelas: organisasiUnit ou: kumpulan

root @ master: ~ # ldapsearch -x cn = pengguna
# pengguna, kumpulan, swl.fan dn: cn = pengguna, ou = kumpulan, dc = swl, dc = objek kipasKelas: posixKumpulan cn: gid penggunaNombor: 10000

Kami menambah beberapa pengguna

Kata laluan yang mesti kita nyatakan dalam LDAP mesti diperoleh melalui arahan slappasswd, yang mengembalikan kata laluan SSHA yang disulitkan.

Kata laluan untuk langkah pengguna:

root @ master: ~ # slappasswd 
Kata laluan baru: Masukkan semula kata laluan baru: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Kata laluan untuk legola pengguna

root @ master: ~ # slappasswd 
Kata laluan baru: Masukkan semula kata laluan baru: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Kata laluan untuk pengguna gandalf

root @ master: ~ # slappasswd 
Kata laluan baru: Masukkan semula kata laluan baru: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = strides, ou = orang, dc = swl, dc = objek peminatClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides diberikanNama: Strides sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mel: trancos@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirektori: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = object fanClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas diberikanNama : Legolas sn: Pengguna pemanah Kata Laluan: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 mel: legolas@swl.fan
gecos: Logolas Archer loginShell: / bin / bash homeDirektori: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = objek peminatClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf diberikanNama: Gandalf sn: Pengguna Wizard Kata Laluan: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 mel: gandalf@swl.fan
gecos: Gandalf The Wizard loginShell: / bin / bash homeDirektori: / rumah / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Masukkan Kata Laluan LDAP: menambah entri baru "uid = langkah, ou = orang, dc = swl, dc = fan" menambah entri baru "uid = legolas, ou = orang, dc = swl, dc = fan" menambah entri baru "uid = gandalf, ou = orang, dc = swl, dc = peminat "

Kami menyemak entri yang ditambahkan

root @ master: ~ # ldapsearch -x cn = langkah
root @ master: ~ # ldapsearch -x uid = langkah

Kami menguruskan pangkalan data slpad dengan utiliti konsol

Kami memilih pakej ldapskrip untuk tugas seperti itu. Prosedur pemasangan dan konfigurasi adalah seperti berikut:

root @ master: ~ # aptitude memasang ldapscripts
 
root @ master: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.original
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
SERVER = localhost BINDDN = 'cn = admin, dc = swl, dc = fan' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = swl, dc = fan' GSUFFIX = 'ou = kumpulan' USUFFIX = 'ou = orang' # MSUFFIX = 'ou = Komputer' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # arahan klien OpenLDAP LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup "# posixGroup" /ldapadduser.template "PASSWORDGEN =" echo% u "

Perhatikan bahawa skrip menggunakan perintah paket ldap-perkakas. Lari dpkg -L ldap-utils | grep / tong sampah untuk mengetahui apa itu.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapadduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: nama diberi: sn: nama paparan: uidNumber: gidNombor: 10000 rumahDirektori: log masukJual: mel: @ swl.fan tokek: keterangan: Akaun Pengguna
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## kami membuang komen UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Kami menambahkan pengguna "bilbo" dan menjadikannya ahli kumpulan "pengguna" kumpulan

root @ master: ~ # ldapadduser pengguna bilbo
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk "GivenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Masukkan nilai untuk" displayName ": Bilbo Bagins Berjaya menambahkan bilbo pengguna ke LDAP Berjaya menetapkan kata laluan untuk pengguna bilbo

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = object fanClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo diberikanNama: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirektori: / login / bilboShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo keterangan: Akaun Pengguna

Untuk melihat hash kata laluan pengguna bilbo, perlu melakukan pertanyaan dengan pengesahan:

root @ master: ~ # ldapsearch -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo

Untuk menghapus pengguna bilbo yang kami laksanakan:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = orang, dc = swl, dc = kipas
Masukkan Kata Laluan LDAP:

root @ master: ~ # ldapsearch -x uid = bilbo

Kami menguruskan pangkalan data slapd melalui antara muka web

Kami mempunyai Perkhidmatan Direktori yang berfungsi, dan kami ingin menguruskannya dengan lebih mudah. Terdapat banyak program yang dirancang untuk tugas ini, seperti phpldapadmin, ldap-akaun-pengurus, dan lain-lain, yang boleh didapati secara langsung dari repositori. Kami juga boleh menguruskan Perkhidmatan Direktori melalui Studio Direktori Apache, yang mesti kita muat turun dari Internet.

Untuk maklumat lebih lanjut, sila lawati https://blog.desdelinux.net/ldap-introduccion/, dan 6 artikel berikut.

Pelanggan LDAP

Pentas:

Katakan kita mempunyai pasukan mel.swl.fan sebagai pelayan mel yang dilaksanakan seperti yang kita lihat dalam artikel Postfix + Dovecot + Squirrelmail dan pengguna tempatan, yang walaupun dikembangkan di CentOS, mungkin berfungsi sebagai panduan untuk Debian dan banyak distro Linux lain. Kami mahukan, selain pengguna lokal yang telah kami nyatakan, pengguna yang tersimpan dalam pangkalan data OpenLDAP ada di tuan.swl.fan. Untuk mencapai ini, kita mesti «memetakan»Kepada pengguna LDAP sebagai pengguna tempatan di pelayan mel.swl.fan. Penyelesaian ini juga sah untuk sebarang perkhidmatan berdasarkan pengesahan PAM. Prosedur am untuk Debian, adalah berikut:

root @ mail: ~ # aptitude install libnss-ldap libpam-ldap ldap-utils

  ┌────────────────────┤ Konfigurasi libnss-ldap │ │ Masukkan URI ("Uniform Resource Identifier", atau │ servidor Uniform Resource Identifier) ​​pelayan LDAP. Rentetan ini serupa dengan │ │ «ldap: //: / ». Anda juga boleh │ menggunakan «ldaps: // » atau "ldapi: //". Nombor port adalah pilihan. Recommended │ │ │ Disarankan untuk menggunakan alamat IP untuk mengelakkan kegagalan apabila perkhidmatan nama domain tidak tersedia. RI │ │ RI URI pelayan LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Konfigurasi libnss-ldap Name │ Masukkan nama terkenal (DN) dari pangkalan carian LDAP. Banyak laman web menggunakan komponen nama domain untuk tujuan ini. Sebagai contoh, domain "example.net" akan menggunakan │ │ "dc = example, dc = net" sebagai nama asas carian yang terkenal. │ │ │ │ Nama yang dibezakan (DN) dari pangkalan carian: │ │ │ │ dc = swl, dc = kipas ____________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap │ │ Masukkan versi protokol LDAP yang harus digunakan ldapns. Adalah disyorkan untuk menggunakan nombor versi tertinggi yang ada. │ │ │ │ Versi LDAP yang akan digunakan: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap Account │ Pilih akaun mana yang akan digunakan untuk pertanyaan nss dengan hak istimewa │ │. │ │ │ │ Catatan: Untuk pilihan ini berfungsi, akaun memerlukan kebenaran untuk to │ dapat mengakses atribut LDAP yang dikaitkan dengan entri "bayangan" pengguna serta kata laluan pengguna dan kumpulan │ │ . │ │ │ │ Akaun LDAP untuk root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libnss-ldap The │ Masukkan kata laluan yang akan digunakan semasa libnss-ldap cuba │ │ mengesahkan ke direktori LDAP dengan akaun LDAP root. Password │ password Kata laluan akan disimpan dalam fail yang terpisah │ │ ("/etc/libnss-ldap.secret") yang hanya dapat diakses oleh root. You │ │ │ Sekiranya anda memasukkan kata laluan kosong, kata laluan lama akan digunakan semula. │ │ │ │ Kata laluan untuk akaun LDAP root: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Konfigurasi libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf tidak diuruskan secara automatik │ │ │ │ Anda mesti mengubah suai fail anda "/etc/nsswitch.conf "untuk menggunakan sumber data LDAP jika anda mahu pakej libnss-ldap berfungsi. Can │ Anda boleh menggunakan contoh fail │ │ di "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" sebagai contoh konfigurasi nsswitch atau │ │ anda boleh menyalinnya melalui konfigurasi semasa anda. │ │ │ │ Perhatikan bahawa sebelum mengeluarkan pakej ini, lebih mudah untuk │ │ mengeluarkan entri "ldap" dari fail nsswitch.conf sehingga perkhidmatan asas │ │ akan terus berfungsi. │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap ├──────────────────────┐ │ │ │ Pilihan ini membolehkan alat kata laluan menggunakan PAM untuk menukar kata laluan tempatan. Password │ │ password Kata laluan untuk akaun pentadbir LDAP akan disimpan dalam fail separate │ yang berasingan yang hanya dapat dibaca oleh pentadbir. │ │ │ │ Pilihan ini harus dilumpuhkan, jika memasang "/ etc" melalui NFS. │ │ │ │ Adakah anda mahu membenarkan akaun pentadbir LDAP berperilaku seperti administrator administrator pentadbir tempatan? │ │ │ │                                            │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap Whether │ │ │ Pilih sama ada pelayan LDAP memaksa pengenalan sebelum mendapatkan entri entradas │. Setting │ │ │ Pengaturan ini jarang diperlukan. Required │ │ │ Adakah pengguna dikehendaki mengakses pangkalan data LDAP? │ │ │ │                                               │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap │ │ Masukkan nama akaun pentadbir LDAP. Account │ │ account Akaun ini akan digunakan secara automatik untuk pengurusan pangkalan data, kerana ia mesti mempunyai hak pentadbiran yang sesuai. Administrator │ │ │ Akaun pentadbir LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Konfigurasi libpam-ldap │ │ Masukkan kata laluan untuk akaun pentadbir. Password │ │ password Kata laluan akan disimpan dalam fail "/etc/pam_ldap.secret". Pentadbir will │ adalah satu-satunya yang dapat membaca fail ini, dan akan membenarkan p │ libpam-ldap mengawal pengurusan sambungan secara automatik dalam pangkalan data │ │. You │ │ │ Sekiranya anda membiarkan bidang ini kosong, kata laluan yang disimpan sebelumnya │ │ akan digunakan lagi. Password │ │ │ Kata laluan pentadbir LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

root @ mel: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Contoh konfigurasi fungsi GNU Name Service Switch. # Sekiranya anda memasang pakej `glibc-doc-referensi 'dan` info', cuba: # `info libc" Name Service Switch "'untuk maklumat mengenai fail ini. passwd: rakan ldap
kumpulan: rakan ldap
bayangan: rakan ldap
gshadow: hos fail: rangkaian fail dns: protokol fail: perkhidmatan fail db: ether fail db: fail db rpc: fail db netgroup: nis

Mari edit failnya /etc/pam.d/common-password, kita pergi ke baris 26 dan menghapuskan nilai «gunakan_authtok":

root @ mel: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - modul yang berkaitan dengan kata laluan yang umum untuk semua perkhidmatan # # Fail ini disertakan dari fail konfigurasi PAM khusus perkhidmatan lain, # dan harus berisi daftar modul yang menentukan layanan yang akan # digunakan untuk menukar kata laluan pengguna. Lalai adalah pam_unix. # Penjelasan mengenai pilihan pam_unix: # # Pilihan "sha512" membolehkan kata laluan SHA512 masin. Tanpa pilihan ini, # lalai adalah Unix crypt. Rilis sebelumnya menggunakan pilihan "md5". # # Pilihan "tidak jelas" menggantikan pilihan `OBSCURE_CHECKS_ENAB 'lama di # login.defs. # # Lihat halaman depan pam_unix untuk pilihan lain. # Mulai pam 1.0.1-6, fail ini dikendalikan oleh pam-auth-update secara lalai. # Untuk memanfaatkan ini, disarankan agar anda mengkonfigurasi # modul lokal baik sebelum atau sesudah blok lalai, dan gunakan # pam-auth-update untuk menguruskan pemilihan modul lain. Lihat # pam-auth-update (8) untuk perincian. # berikut adalah kata laluan modul per-paket (blok "Utama") [kejayaan = 2 lalai = abaikan] pam_unix.so kabur sha512
kata laluan [kejayaan = 1 pengguna_ tidak diketahui = abaikan lalai = mati] pam_ldap.jadi cuba_first_pass
# inilah penggantian jika tidak ada modul yang berjaya memerlukan kata laluan pam_deny.so # perdana timbunan dengan nilai pulangan positif jika belum ada; # ini mengelakkan kita mengembalikan ralat hanya kerana tidak ada yang menetapkan kod kejayaan # kerana modul di atas masing-masing hanya akan melangkau kata laluan yang diperlukan pam_permit.so # dan berikut adalah lebih banyak modul per-paket (blok "Tambahan") # akhir pam- config-kemas kini auth

Sekiranya kita memerlukan Log masuk Tempatan pengguna yang tersimpan di LDAP, dan kami mahu folder mereka dibuat secara automatik rumah, kita mesti mengedit failnya /etc/pam.d/common-session dan tambahkan baris berikut ke hujung fail:

pilihan sesi pam_mkhomedir.so skel = / etc / skel umask = 077

Dalam contoh Open Directory Direktori OpenLDAP yang dikembangkan sebelumnya, satu-satunya pengguna tempatan yang dibuat adalah pengguna buzz, semasa di LDAP kami membuat pengguna langkah, anhebu, Gandalf, Dan bilbo. Sekiranya konfigurasi yang dibuat setakat ini betul, maka kita harus dapat menyenaraikan pengguna tempatan dan mereka yang dipetakan sebagai tempatan tetapi disimpan di pelayan LDAP jauh:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / rumah / buzz: / bin / bash
Langkah: x: 10000: 10000: Langkah El Rey: / rumah / langkah: / tong / bash
legolas: x: 10001: 10000: Legolas Archer: / rumah / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf The Magician: / rumah / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / rumah / bilbo: / bin / bash

Selepas perubahan dalam pengesahan sistem, sah untuk memulakan semula pelayan jika tidak, kami menghadapi perkhidmatan kritikal:

root @ mel: ~ # but semula

Kemudian kami memulakan sesi tempatan di pelayan mel.swl.fan dengan tauliah pengguna yang disimpan dalam pangkalan data LDAP tuan.swl.fan. Kami juga boleh mencuba log masuk melalui SSH.

 

buzz @ sysadmin: ~ $ ssh gandalf @ mel
kata laluan gandalf @ mail: Membuat direktori '/ home / gandalf'. Program yang disertakan dengan sistem Debian GNU / Linux adalah perisian percuma; syarat sebaran yang tepat untuk setiap program dijelaskan dalam fail individu di / usr / share / doc / * / copyright. Debian GNU / Linux disertakan dengan JAMINAN TIDAK ADA, sejauh yang dibenarkan oleh undang-undang yang berlaku.
gandalf @ mel: ~ $ su
kata laluan:

root @ mail: / home / gandalf # kumpulan getent
buzz: x: 1001: pengguna: *: 10000:

root @ mel: / rumah / gandalf # keluar
keluar

gandalf @ mel: ~ $ ls -l / rumah /
jumlah 8 drwxr-xr-x 2 buzz berdengung     4096 17 Jun 12:25 buzz drwx ------ 2 pengguna gandalf 4096 Jun 17 13:05 gandalf

Perkhidmatan Direktori yang dilaksanakan di peringkat pelayan dan pelanggan, berfungsi dengan betul.

Kerberos

Dari Wikipedia:

  • Kerberos adalah protokol pengesahan rangkaian komputer yang dibuat oleh MIT yang membolehkan dua komputer di rangkaian tidak selamat untuk membuktikan identiti mereka antara satu sama lain dengan selamat. Pereka pertama kali menumpukan pada model pelayan pelanggan, dan ia memberikan pengesahan bersama: pelanggan dan pelayan mengesahkan identiti antara satu sama lain. Mesej pengesahan dilindungi untuk mencegah menguping y mainkan semula serangan.

    Kerberos berdasarkan kriptografi kunci simetri dan memerlukan pihak ketiga yang dipercayai. Selanjutnya, terdapat peluasan protokol untuk dapat menggunakan kriptografi kunci asimetri.

    Kerberos didasarkan pada Protokol Needham-Schroeder. Ia menggunakan pihak ketiga yang dipercayai, yang disebut "Pusat Pengedaran Kunci" (KDC), yang terdiri daripada dua bahagian logik yang berasingan: "Pelayan Pengesahan" (Pelayan AS atau Pengesahan) dan «pelayan pengeluaran tiket» (TGS atau Ticket Granting Server). Kerberos berfungsi berdasarkan "tiket", yang berfungsi untuk membuktikan identiti pengguna.

    Kerberos menyimpan pangkalan data kunci rahsia; Setiap entiti di rangkaian - sama ada pelanggan atau pelayan - berkongsi kunci rahsia yang hanya diketahui oleh dirinya dan Kerberos. Pengetahuan mengenai kunci ini berfungsi untuk membuktikan identiti entiti. Untuk komunikasi antara dua entiti, Kerberos menghasilkan kunci sesi, yang dapat mereka gunakan untuk mengatasi masalah mereka.

Kekurangan Kerberos

De Terasa:

Walaupun Kerberos menghilangkan ancaman keselamatan yang sama, sukar dilaksanakan kerana pelbagai sebab:

  • Memindahkan kata laluan pengguna dari pangkalan data kata laluan standard UNIX, seperti / etc / passwd atau / etc / shadow, ke pangkalan data kata laluan Kerberos, boleh membosankan dan tidak ada mekanisme cepat untuk menyelesaikan tugas ini.
  • Kerberos menganggap bahawa setiap pengguna dipercayai, tetapi menggunakan mesin yang tidak dipercayai pada rangkaian yang tidak dipercayai. Objektif utamanya adalah untuk mengelakkan kata laluan yang tidak disulitkan dihantar melalui rangkaian. Namun, jika ada pengguna lain, selain dari pengguna yang sesuai, memiliki akses ke mesin tiket (KDC) untuk pengesahan, Kerberos akan berisiko.
  • Untuk aplikasi menggunakan Kerberos, kodnya mesti diubah suai untuk membuat panggilan yang sesuai ke perpustakaan Kerberos. Aplikasi yang diubahsuai dengan cara ini dianggap kerberized. Untuk beberapa aplikasi, ini mungkin merupakan upaya pengaturcaraan yang berlebihan, karena ukuran aplikasi atau Reka Bentuknya. Untuk aplikasi lain yang tidak serasi, perubahan mesti dilakukan pada cara pelayan rangkaian dan pelanggannya berkomunikasi; sekali lagi, ini memerlukan sedikit pengaturcaraan. Secara umum, aplikasi sumber tertutup yang tidak mempunyai sokongan Kerberos biasanya yang paling bermasalah.
  • Akhirnya, jika anda memutuskan untuk menggunakan Kerberos di rangkaian anda, anda harus sedar bahawa itu adalah pilihan semua atau tidak. Sekiranya anda memutuskan untuk menggunakan Kerberos di rangkaian anda, anda harus ingat bahawa jika ada kata laluan yang dihantar ke perkhidmatan yang tidak menggunakan Kerberos untuk mengesahkan, anda menghadapi risiko bahawa paket tersebut dapat dipintas. Oleh itu, rangkaian anda tidak akan mendapat faedah menggunakan Kerberos. Untuk mengamankan rangkaian anda dengan Kerberos, anda hanya harus menggunakan versi kerberized dari semua aplikasi klien / pelayan yang mengirim kata laluan yang tidak disulitkan atau tidak menggunakan aplikasi ini di jaringan.

Melaksanakan dan mengkonfigurasi OpenLDAP secara manual sebagai Kerberos Back-End bukanlah tugas yang mudah. Walau bagaimanapun, kemudian kita akan melihat bahawa Direktori Aktif Samba 4 - Pengawal Domain disatukan dengan cara yang telus untuk Sysadmin, pelayan DNS, Rangkaian Microsoft dan Pengawal Domainnya, pelayan LDAP sebagai Back-End hampir semua objeknya, dan perkhidmatan pengesahan berasaskan Kerberos sebagai komponen asas dari Direktori Aktif gaya Microsoft.

Hingga kini kami tidak perlu menerapkan "Kerberized Network". Inilah sebabnya mengapa kami tidak menulis mengenai cara melaksanakan Kerberos.

Direktori Aktif Samba 4 - Pengawal Domain

Penting:

Tidak ada dokumentasi yang lebih baik daripada laman web ini wiki.samba.org. Sysadmin yang menghormati diri harus mengunjungi laman web tersebut -dalam bahasa Inggeris- dan melayari sejumlah besar halaman yang dikhaskan sepenuhnya untuk Samba 4, yang ditulis oleh Team Samba sendiri. Saya tidak percaya terdapat dokumentasi yang tersedia di Internet untuk menggantikannya. Ngomong-ngomong, perhatikan jumlah kunjungan yang tercermin di bahagian bawah setiap halaman. Contohnya ialah halaman utama atau «Halaman Utama» anda dikunjungi 276,183 kali hingga hari ini 20 Jun 2017 jam 10:10 pagi Waktu Piawai Timur. Di samping itu, dokumentasi disimpan sangat terkini, kerana halaman tersebut diubah pada 6 Jun.

Dari Wikipedia:

Samba adalah pelaksanaan percuma Microsoft Windows File Sharing Protocol (sebelumnya disebut SMB, baru-baru ini dinamakan semula CIFS) untuk sistem seperti UNIX. Dengan cara ini, mungkin komputer dengan GNU / Linux, Mac OS X atau Unix pada umumnya kelihatan seperti pelayan atau bertindak sebagai klien dalam rangkaian Windows. Samba juga memungkinkan pengguna untuk mengesahkan sebagai Pengawal Domain Utama (PDC), sebagai anggota domain dan bahkan sebagai domain Direktori Aktif untuk rangkaian berbasis Windows; selain dapat melayani barisan cetak, direktori yang dikongsi dan mengesahkan dengan arkib penggunanya sendiri.

Antara sistem seperti Unix di mana Samba dapat dijalankan adalah pengedaran GNU / Linux, Solaris dan varian BSD yang berbeza di antara bahawa kita dapat mencari Pelayan Mac OS X Apple.

Samba 4 AD-DC dengan DNS Dalamannya

  • Kami bermula dari pemasangan yang bersih - tanpa antara muka grafik- dari Debian 8 "Jessie".

Pemeriksaan awal

root @ master: ~ # nama host
master
root @ master: ~ # nama host --fqdn
tuan.swl.fan
root @ master: ~ # ip addr
1: apa: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 skop host lo valid_lft selamanya disukai_lft selamanya inet6 :: Hos skop 1/128 valid_lft selamanya disukai_lft selamanya 2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link / ether 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 skop global eth0
       valid_lft selamanya disukai_lft selamanya inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 link skop valid_lft selamanya disukai_lft selamanya
root @ master: ~ # cat /etc/resolv.conf
cari nameserver swl.fan 127.0.0.1
  • Dengan itu kami menyatakan cawangan utama hanya, itu lebih daripada cukup untuk tujuan kita.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ jessie utama
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / kemas kini utama

Postfix oleh Exim dan utiliti

root @ master: ~ # aptitude install postfix htop mc deborphan

  ┌────────────────────────┤ Konfigurasi Postfix ├───────────────────── The │ Pilih jenis konfigurasi pelayan mel yang paling sesuai dengan keperluan │ │ anda. Configuration │ │ │ Tanpa konfigurasi: │ │ Menjaga konfigurasi semasa tetap utuh. │ │ Laman internet: │ │ Surat dihantar dan diterima secara langsung menggunakan SMTP. │ │ Internet dengan "smarthost": │ │ Surat diterima secara langsung menggunakan SMTP atau dengan menjalankan alat │ │ seperti "fetchmail". Surat keluar dihantar menggunakan │ │ a "smarthost". │ mail Surat tempatan sahaja: │ │ Satu-satunya surat yang dihantar adalah untuk pengguna tempatan. Tidak │ │ ada rangkaian. Configuration │ │ │ Jenis konfigurasi mel generik: │ │ │ │ Tanpa konfigurasi │ │ Laman internet │ │ Internet dengan "smarthost" │ │ Sistem satelit │ │                         Mel tempatan sahaja                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Konfigurasi Postfix ├─────────────────────────┐ "" Nama sistem mel "adalah nama domain yang │ │ digunakan untuk "memenuhi syarat" _ALL_ alamat e-mel tanpa nama domain. Ini termasuk surat ke dan dari "root": jangan jadikan mesin anda menghantar e-mel dari root@example.org hingga │ │ kurang daripada root@example.org tanya. │ │ │ │ Program lain akan menggunakan nama ini. Ia mestilah nama domain (FQDN) yang unik. │ │ │ │ Oleh itu, jika alamat e-mel pada mesin tempatan adalah │ │ sesuatu@contoh.org, nilai yang betul untuk pilihan ini adalah example.org. System │ │ │ Nama sistem mel: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Kami membersihkan

root @ master: ~ # aptitude purge ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # kebolehan bersih
root @ master: ~ # aptitude autoclean

Kami memasang keperluan untuk menyusun Samba 4 dan pakej lain yang diperlukan

root @ master: ~ # aptitude install acl attr autoconf bison \
bina-penting debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-pengguna libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modul pkg-config \
python-all-dev python-dev python-dnspython python-crypto \
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌───────────────┤ Mengkonfigurasi pengesahan Kerberos ├───────────────┐ │ Apabila pengguna cuba menggunakan Kerberos dan menentukan nama │ │ prinsipal atau pengguna tanpa menjelaskan domain Kerberos pentadbiran mana yang dimiliki oleh prinsipal, sistem ini mengambil wilayah default │ lalai.  Alam lalai juga dapat digunakan sebagai ranah Ker service perkhidmatan Kerberos yang berjalan di mesin tempatan.  │ │ Biasanya, wilayah lalai adalah nama huruf besar dari domain DNS │ │ tempatan.  Default │ │ │ Kerberos versi 5 alam lalai: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ┌───────────────┤ ┌───────────────┤ Mengkonfigurasi pengesahan Kerberos │ │ Masukkan nama pelayan Kerberos di wilayah SWL.FAN │ │ Kerberos, dipisahkan dengan spasi.  Servers │ │ │ Pelayan Kerberos untuk wilayah anda: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ┌───────────────┤ ┌───────────────┤ Mengkonfigurasi pengesahan Kerberos │ │ Masukkan nama pelayan pentadbiran (pertukaran kata laluan) │ │ untuk wilayah Kerberos SWL.FAN.   

Proses di atas memerlukan sedikit masa kerana kami belum memasang perkhidmatan DNS. Namun, anda memilih domain dengan betul mengikut tetapan fail / Etc / tuan rumah. Ingat bahawa dalam fail /etc/resolv.conf kami telah menyatakan sebagai pelayan nama domain ke IP 127.0.0.1.

Kami sekarang mengkonfigurasi fail / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
ASAS dc = swl, dc = URI peminat ldap: //master.swl.fan

Untuk pertanyaan menggunakan arahan carian ldaps dibuat dari pengguna root adalah jenisnya ldapsearch -x -W cn = xxxx, kita mesti membuat fail /root/.ldapsearch dengan kandungan berikut:

root @ master: ~ # nano .ldaprc
BINDDN CN = Pentadbir, CN = Pengguna, DC = swl, DC = kipas

Sistem fail mesti menyokong ACL - Daftar Kawalan Akses

root @ master: ~ # nano / etc / fstab
# / etc / fstab: maklumat sistem fail statik. # # Gunakan 'blkid' untuk mencetak pengecam unik yang unik untuk # peranti; ini mungkin digunakan dengan UUID = sebagai cara yang lebih mantap untuk menamakan peranti # yang berfungsi walaupun cakera ditambah dan dikeluarkan. Lihat fstab (5). # # # / dihidupkan / dev / sda1 semasa pemasangan UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, error = remount-ro 0 1
# swap dihidupkan / dev / sda5 semasa pemasangan UUID = cb73228a-615d-4804-9877-3ec225e3ae32 tiada swap sw 0 0 / dev / sr0 / media / cdrom0 udf, pengguna iso9660, noauto 0 0

root @ master: ~ # mount -a

root @ master: ~ # touch testing_acl.txt
root @ master: ~ # setfattr -n user.test -v test testing_acl.txt
root @ master: ~ # setfattr -n security.test -v test2 testing_acl.txt
root @ master: ~ # getfattr -d testing_acl.txt
# file: testing_acl.txt user.test = "ujian"

root @ master: ~ # getfattr -n security.test -d testing_acl.txt
# fail: testing_acl.txt security.test = "test2"

root @ master: ~ # setfacl -mg: adm: rwx testing_acl.txt

root @ master: ~ # getfacl testing_acl.txt
# file: testing_acl.txt # owner: root # group: root user :: rw- group :: r-- group: adm: rwx mask :: rwx lain :: r--

Kami memperoleh sumber Samba 4, menyusunnya, dan memasangnya

Sangat disyorkan untuk memuat turun fail sumber versi Stabil dari laman web https://www.samba.org/. Dalam contoh kami, kami memuat turun versi samba-4.5.1.tar.gz ke arah folder / memilih.

root @ master: ~ # cd / opt
root @ master: / opt # wget https://download.samba.org/pub/samba/stable/samba-4.5.1.tar.gz
root @ master: / opt # tar xvfz samba-4.5.1.tar.gz
root @ master: / opt # cd samba-4.5.1 /

Pilihan konfigurasi

Sekiranya kami ingin menyesuaikan pilihan konfigurasi, kami melaksanakan:

root @ master: /opt/samba-4.5.1# ./configure --help

dan dengan berhati-hati pilih yang kita perlukan. Sebaiknya periksa apakah pakej yang dimuat turun dapat dipasang pada pengedaran Linux yang kita gunakan, yang dalam kes kita adalah Debian 8.6 Jessie:

root @ master: /opt/samba-4.5.1# . / Konfigurasi kuliah

Kami mengkonfigurasi, Menyusun dan Memasang samba-4.5.1

  • Dari keperluan yang dipasang sebelumnya dan fail 8604 (yang terdiri daripada samba-4.5.1.tar.gz padat) yang mempunyai berat kira-kira 101.7 megabait -termasuk folder source3 dan source4 yang beratnya sekitar 61.1 megabait- kami akan memperoleh pengganti untuk Direktori Aktif gaya Microsoft, dengan kualiti dan kestabilan yang lebih boleh diterima untuk persekitaran pengeluaran apa pun. Kita mesti menonjolkan kerja Team Samba dalam menyampaikan Perisian Percuma Samba 4.

Perintah di bawah adalah yang klasik untuk menyusun dan memasang pakej dari sumbernya. Kita mesti bersabar selama keseluruhan proses berlangsung. Ini adalah satu-satunya cara untuk mendapatkan hasil yang sah dan betul.

root @ master: /opt/samba-4.5.1# ./konfigurasi --dengan sistemd - cawan yang boleh dilupuskan
root @ master: /opt/samba-4.5.1# membuat
root @ master: /opt/samba-4.5.1# membuat memasang

Semasa proses arahan membuat, kita dapat melihat bahawa sumber Samba 3 dan Samba 4. disusun. Itulah sebabnya Team Samba menegaskan bahawa versi 4 adalah kemas kini semula jadi versi 3, baik untuk Pengawal Domain berdasarkan Samba 3 + OpenLDAP, dan pelayan fail, atau versi Samba 4 yang lebih lama.

Menyediakan Samba

Kami akan menggunakan sebagai DNS SAMBA_INTERNAL. Dalam https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End kami akan menemui lebih banyak maklumat. Apabila mereka meminta kata laluan pengguna Pentadbir, kami mesti memasukkan salah satu panjang minimum 8 aksara dan juga, dengan huruf - huruf besar dan kecil - dan angka.

Sebelum meneruskan penyediaan dan untuk menjadikan hidup lebih mudah, kami menambahkan jalan dari pelaksanaan Samba dalam fail kami .bashrcKemudian kami tutup dan log masuk semula.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: dijalankan oleh bash (1) untuk cengkerang yang tidak masuk. # Nota: PS1 dan umask sudah ditetapkan dalam / etc / profile. Anda tidak perlu # ini melainkan jika anda mahukan default yang berbeza untuk root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Anda mungkin melepaskan baris berikut jika anda mahu `ls 'diwarnakan: # eksport LS_OPTIONS =' - warna = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Beberapa lagi alias untuk mengelakkan kesilapan : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
menyatakan -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / tong sampah "

root @ master: ~ # logout keluar Sambungan ke master ditutup. xeon @ sysadmin: ~ $ ssh root @ tuan

root @ master: ~ # penyediaan domain samba-tool --use-rfc2307 - interaktif
Alam [SWL.FAN]: SWL.KIPAS
 Domain [SWL]: SWL
 Peranan Pelayan (dc, member, mandiri) [dc]: dc
 Latar belakang DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, TIADA) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 Alamat IP pemancar DNS (tulis 'tidak ada' untuk melumpuhkan pemajuan) [192.168.10.5]: 8.8.8.8
Kata laluan pentadbir: Kata Laluan2017
Tulis semula kata laluan: Kata Laluan2017
Mencari alamat IPv4 Mencari alamat IPv6 Tidak akan ada alamat IPv6 yang akan ditetapkan Menyiapkan share.ldb Menyiapkan rahsia.ldb Menyiapkan pendaftaran Menyiapkan pangkalan data keistimewaan Menyiapkan idmap db Menyiapkan SAM db Menyiapkan partisi dan tetapan sam.ldb up sam.ldb rootDSE Pra memuat skema Samba 4 dan AD Menambah DomainDN: DC = swl, DC = kipas Menambah wadah konfigurasi Menyiapkan skema sam.ldb Menyiapkan data konfigurasi sam.ldb Menyiapkan penentu paparan Mengubah spesifikasi paparan Menambah wadah pengguna Mengubah wadah pengguna Menambah wadah komputer Mengubah wadah komputer Menyiapkan data sam.ldb Menyiapkan prinsip keselamatan yang terkenal Menyiapkan pengguna dan kumpulan sam.ldb Menyiapkan bergabung sendiri Menambah akaun DNS Membuat CN = MicrosoftDNS, CN = Sistem, DC = swl, DC = peminat Membuat partisi DomainDnsZones dan ForestDnsZones Mengisi partisi DomainDnsZones dan ForestDnsZones Menyiapkan penandaan sam.ldb rootDSE sebagai penyegerakan Memperbaiki penyediaan GUIDKonfigurasi Kerberos yang sesuai untuk Samba 4 telah dihasilkan di /usr/local/samba/private/krb5.conf Menyiapkan tetapan pelayan yp palsu Setelah fail di atas dipasang, pelayan Samba4 anda akan siap untuk menggunakan Peranan Pelayan: domain direktori aktif pengawal Nama Hos: master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Jangan lupa untuk menyalin fail konfigurasi Kerberos seperti yang ditunjukkan oleh output dari Peruntukan:

root @ master: ~ # cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Untuk tidak menaip arahan alat samba dengan nama penuh anda, kami membuat pautan simbolik dengan nama pendek alat:

root @ master: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / tool

Kami memasang NTP

Bahagian asas dalam Direktori Aktif adalah Perkhidmatan Masa Rangkaian. Oleh kerana pengesahan dilakukan melalui Kerberos dan Tiketnya, penyegerakan waktu dengan Samba 4 AD-DC sangat penting.

root @ master: ~ # aptitude install ntp
root @ master: ~ # mv /etc/ntp.conf /etc/ntp.conf.original

root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistik loopstats peerstats clockstats filegen loopstats file loopstats type day dayakan filegen peerstats file peerstats type day dayakan filegenstats file clockstats type type jam day day enabled server 192.168.10.1 hadkan -4 kod notrap lalai nomodify nopeer had had -6 lalai kod notrap nomodify nopeer noquery hadkan lalai mssntp hadkan 127.0.0.1 hadkan: 1 siaran 192.168.10.255

root @ master: ~ # perkhidmatan ntp mulakan semula
root @ master: ~ # status perkhidmatan ntp

root @ master: ~ # tail -f / var / log / syslog

Sekiranya semasa memeriksa syslog menggunakan arahan di atas atau menggunakan jurnal -f kami mendapat mesej:

Jun 19 12:13:21 master ntpd_intres [1498]: ibu bapa meninggal sebelum kita selesai, keluar

kita mesti memulakan semula perkhidmatan dan mencuba lagi. Sekarang kita membuat folder ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd tidak dapat diakses: Fail atau direktori tidak ada

root @ master: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
root @ master: ~ # chown root: ntp / usr / local / samba / var / lib / ntp_signd /
root @ master: ~ # chmod 750 / usr / local / samba / var / lib / ntp_signd / root @ master: ~ # chmod gs, g + x / usr / local / samba / var / lib / ntp_signd /

# Seperti yang diminta di samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 Jun 19 12:21 / usr / local / samba / var / lib / ntp_signd

Kami mengkonfigurasi Samba mula menggunakan systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Perkhidmatan] Jenis = forking PIDFile = / usr / local / samba / var / run / samba.pid LimNONOFILE = 16384 # EnvironmentFile = - / etc / conf.d / samba ExecStart = / usr / local / samba / sbin / samba ExecReload = / usr / bin / kill -HUP $ MAINPID [Pasang] WantedBy = multi-user.target

root @ master: ~ # systemctl aktifkan samba-ad-dc
root @ master: ~ # but semula

root @ master: ~ # systemctl status samba-ad-dc
root @ master: ~ # systemctl status ntp

Lokasi fail Samba 4 AD-DC

SEMUA -tolak perkhidmatan samba-ad-dc. yang baru dibuat- failnya ada di:

root @ master: ~ # ls -l / usr / local / samba /
seramai 32 kakitangan root drwxr-sr-x 2 4096 Jun 19 11:55 bin
drwxr-sr-x 2 root staff 4096 Jun 19 11:50 dan lain-lain
drwxr-sr-x 7 root staff 4096 Jun 19 11:30 termasuk
drwxr-sr-x 15 kakitangan akar 4096 Jun 19 11:33 lib
drwxr-sr-x 7 root staff 4096 Jun 19 12:40 swasta
drwxr-sr-x 2 root staff 4096 Jun 19 11:33 sbin
drwxr-sr-x 5 root staff 4096 Jun 19 11:33 saham
drwxr-sr-x 8 root staff 4096 Jun 19 12:28 var

dalam gaya UNIX terbaik. Selalu disarankan untuk melihat folder yang berbeza dan memeriksa kandungannya.

/Usr/local/samba/etc/smb.conf fail

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Parameter global [global] nama netbios = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 perkhidmatan pelayan = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , peranan pelayan dns = pengawal domain direktori aktif membenarkan kemas kini dns = selamat hanya idmap_ldb: gunakan rfc2307 = ya idmap config *: backend = tdb idmap config *: range = 1000000-1999999 Pelayan ldap memerlukan autentikasi kuat = tanpa nama printcap null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol hanya baca = Tidak

root @ master: ~ # testparm
Muatkan fail konfigurasi smb dari /usr/local/samba/etc/smb.conf Bahagian pemprosesan "[netlogon]" Bahagian pemprosesan "[sysvol]" Fail perkhidmatan yang dimuat OK. Peranan pelayan: ROLE_ACTIVE_DIRECTORY_DC Tekan enter untuk melihat lambaian definisi perkhidmatan anda # Parameter global [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 Pelayan ldap memerlukan autentik yang kuat = Tidak ada backdb backend = samba_dsdb peranan pelayan = direktori aktif pengawal domain rpc_server: TCPIP = tiada rpc_daemon: spoolssd = tertanam rpc_server: spoolss = tertanam rpc_server: winreg = tertanam rpc_server: ntsvcs = tertanam rpc_server: eventlog = rpc_server terbenam: = srvsvc tertanam = rvcct_server menggunakan = rvcct_server luaran menggunakan = rvcct_server luaran menggunakan rvcct_server luar: paip luaran = true idmap config *: range = 1000000-1999999 idmap_ldb: use rfc2307 = yes idmap config *: backend = tdb map archive = No map readonly = no store dos attribut = Yes vfs object = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Tidak

Pemeriksaan minimum

root @ master: ~ # paparan tahap domain alat
Tahap fungsi domain dan hutan untuk domain 'DC = swl, DC = fan' Tahap fungsi hutan: (Windows) 2008 R2 Tahap fungsi domain: (Windows) 2008 R2 Tahap fungsi terendah DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # dbcheck alat
Memeriksa 262 objek Memeriksa 262 objek (0 kesalahan)

root @ master: ~ # kinit Pentadbir
Kata laluan untuk Pentadbir@SWL.FAN: 
root @ master: ~ # klist -f
Cache tiket: FILE: / tmp / krb5cc_0
Lalai utama: Pentadbir@SWL.FAN

Bermula sah Tamat Perkhidmatan utama 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    memperbaharui sehingga 20/06/17 12:53:18 PTG, Bendera: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Fail cache kelayakan '/ tmp / krb5cc_0' tidak dijumpai

root @ master: ~ # smbclient -L localhost -U%
Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Jenis Nama Nama Komen --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Perkhidmatan (Samba 4.5.1) Domain = [SWL] OS = [Windows 6.1] Pelayan = [Samba 4.5.1] Komen Pelayan --------- ------- Master Kumpulan Kerja ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Masukkan kata laluan Pentadbir: Domain = [SWL] OS = [Windows 6.1] Pelayan = [Samba 4.5.1]. D 0 Isnin 19 Jun 11:50:52 2017 .. D 0 Isnin 19 Jun 11:51:07 2017 19091584 blok berukuran 1024. 16198044 blok tersedia

root @ master: ~ # alat dns serverinfo master -U pentadbir

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan mempunyai rekod SRV 0 100 389 master.swl.fan.

root @ master: ~ # host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan mempunyai rekod SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t Seorang master.swl.fan
master.swl.fan mempunyai alamat 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan mempunyai master record SOA.swl.fan. tuan rumah.swl.fan. 1 900 600 86400 3600

root @ master: ~ # host -t NS swl.fan
pelayan nama swl.fan master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan tidak mempunyai rekod MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # senarai pengguna alat
Pentadbiran krbtgt Tetamu

root @ master: ~ # senarai kumpulan alat
# Hasilnya adalah sekumpulan kumpulan. ;-)

Kami menguruskan Samba 4 AD-DC yang baru dipasang

Sekiranya kita ingin mengubah tempoh tamat dalam kata laluan Pentadbir; kerumitan kata laluan; panjang minimum kata laluan; tempoh minimum dan maksimum -dalam hari- kata laluan; dan menukar kata laluan Pentadbir yang dinyatakan semasa Peruntukan, kita mesti melaksanakan perintah berikut dengan nilai disesuaikan dengan keperluan anda:

root @ master: ~ # alat
Penggunaan: alat samba Alat pentadbiran samba utama. Pilihan: -h, --help tunjukkan mesej pertolongan ini dan keluar Pilihan Versi: -V, --versi Nombor versi paparan Subkomando yang ada: dbcheck - Periksa kesilapan pangkalan data AD tempatan. delegasi - Pengurusan perwakilan. dns - Pengurusan Perkhidmatan Nama Domain (DNS). domain - Pengurusan domain. drs - Pengurusan Perkhidmatan Replikasi Direktori (DRS). dsacl - Manipulasi ACL DS. fsmo - Pengurusan peranan Fleksibel Single Master Operations (FSMO). gpo - Pengurusan Objektif Kumpulan (GPO). kumpulan - Pengurusan kumpulan. ldapcmp - Bandingkan dua pangkalan data ldap. ntacl - NT manipulasi ACL. proses - Menyenaraikan proses (untuk membantu proses debug pada sistem tanpa setproctitle). rodc - Pengurusan Pengawal Domain Hanya Baca (RODC). laman web - Pengurusan laman web. spn - Pengurusan Nama Pokok Perkhidmatan (SPN). testparm - Sintaks memeriksa fail konfigurasi. masa - Dapatkan masa di pelayan. pengguna - Pengurusan pengguna. Untuk bantuan lebih lanjut mengenai subkomen tertentu, sila ketik: samba-tool (-h | --bantuan)

root @ master: ~ # pengguna alat setexpiry pentadbir --noexpiry
root @ master: ~ # set kata laluan domain alat --min-pwd-length = 7
root @ master: ~ # set kata laluan domain alat --min-pwd-age = 0
root @ master: ~ # set kata laluan domain alat --max-pwd-age = 60
root @ master: ~ # alat pengguna setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Kami menambah beberapa rekod DNS

root @ master: ~ # alat dns
Penggunaan: samba-alat dns Pengurusan Perkhidmatan Nama Domain (DNS). Pilihan: -h, --help tunjukkan mesej bantuan ini dan keluar Subkomando yang tersedia: tambah - Tambahkan penghapusan rekod DNS - Hapus pertanyaan rekod DNS - Pertanyaan nama. roothints - Petunjuk akar pertanyaan. serverinfo - Pertanyaan untuk maklumat Pelayan. kemas kini - Kemas kini rekod DNS zonecreate - Buat zon. zonedelete - Padamkan zon. zoneinfo - Pertanyaan untuk maklumat zon. zonelist - Pertanyaan untuk zon. Untuk bantuan lebih lanjut mengenai subkomen tertentu, sila ketik: samba-tool dns (-h | --bantuan)

Pelayan mel

root @ master: ~ # tool dns add master swl.fan mail A 192.168.10.9 -U pentadbir
root @ master: ~ # alat dns tambahkan master swl.fan swl.fan MX "mail.swl.fan 10" -U pentadbir

Memperbaiki IP pelayan lain

root @ master: ~ # alat dns add master swl.fan sysadmin A 192.168.10.1 -U pentadbir
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U pentadbir
root @ master: ~ # alat dns tambahkan proksi swl.fan master A pentadbir 192.168.10.11 -U
root @ master: ~ # alat dns tambahkan sembang master swl.fan A pentadbir 192.168.10.12 -U

Zon Berbalik

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U pentadbir
Kata laluan untuk [SWL \ administrator]: Zon 10.168.192.in-addr.arpa berjaya dibuat

root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 5 PTR master.swl.fan. -Administrator
root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -Administrator
root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -Administrator
root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -Administrator
root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -Administrator
root @ master: ~ # alat dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -Administrator

Pemeriksaan

root @ master: ~ # alat dns pertanyaan master swl.fan mel SEMUA -U pentadbir
Kata laluan untuk [SWL \ pentadbir]: Nama =, Rekod = 1, Kanak-kanak = 0 A: 192.168.10.9 (bendera = f0, bersiri = 2, ttl = 900)

root @ master: ~ # tuan rumah
master.swl.fan mempunyai alamat 192.168.10.5
root @ master: ~ # tuan rumah sysadmin
sysadmin.swl.fan mempunyai alamat 192.168.10.1
root @ master: ~ # surat hos
mail.swl.fan mempunyai alamat 192.168.10.9
root @ master: ~ # sembang tuan rumah
chat.swl.fan mempunyai alamat 192.168.10.12
root @ master: ~ # hos proksi
proxy.swl.fan mempunyai alamat 192.168.10.11
root @ master: ~ # host pelayan fail
fileserver.swl.fan mempunyai alamat 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa penunjuk nama domain sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa nama domain pointer master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa nama domain pointer mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa penunjuk nama domain fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa penunjuk nama domain proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa nama domain pointer chat.swl.fan.

Untuk ingin tahu

root @ master: ~ # ldbsearch -H /usr/local/samba/private/sam.ldb.d/ \
DC = DOMAINDNSZONES, DC = SWL, DC = FAN.ldb | grep dn:

Kami menambah pengguna

root @ master: ~ # pengguna alat
Penggunaan: pengguna alat samba Pengurusan pengguna. Pilihan: -h, --help tunjukkan mesej bantuan ini dan keluar Subkomando yang ada: tambah - Buat pengguna baru. buat - Buat pengguna baru. hapus - Padamkan pengguna. lumpuhkan - Lumpuhkan pengguna. aktifkan - Aktifkan pengguna. getpassword - Dapatkan medan kata laluan akaun pengguna / komputer. list - Senaraikan semua pengguna. kata laluan - Tukar kata laluan untuk akaun pengguna (yang disediakan dalam pengesahan). setexpiry - Tetapkan tamat tempoh akaun pengguna setpassword - Menetapkan atau menetapkan semula kata laluan akaun pengguna. syncpasswords - Segerakkan kata laluan akaun pengguna. Untuk lebih banyak bantuan mengenai subkomen tertentu, sila taip: pengguna alat samba (-h | --bantuan)

root @ master: ~ # pengguna alat membuat trancos Trancos01
'Trancos' pengguna berjaya dibuat
root @ master: ~ # pengguna alat membuat gandalf Gandalf01
Pengguna 'gandalf' berjaya dibuat
root @ master: ~ # pengguna alat membuat legolas Legolas01
'Legolas' pengguna berjaya dibuat
root @ master: ~ # senarai pengguna alat
Pentadbir gandalf legolas strides krbtgt Tetamu

Pentadbiran melalui antara muka grafik atau melalui pelanggan web

Lawati wiki.samba.org untuk maklumat terperinci mengenai cara memasang Microsoft RSAT o Alat Pentadbiran Pelayan Jauh. Sekiranya anda tidak memerlukan dasar klasik yang disediakan oleh Microsoft Active Directory, anda boleh memasang pakej tersebut ldap-akaun-pengurus yang menawarkan antara muka yang mudah untuk pentadbiran melalui penyemak imbas web.

Pakej program Microsoft Remote Server Administration Tools (RSAT) disertakan pada sistem operasi Windows Server.

Kami bergabung dengan domain dengan klien Windows 7 bernama "tujuh"

Oleh kerana kita tidak mempunyai pelayan DHCP dalam rangkaian, perkara pertama yang harus kita lakukan adalah mengkonfigurasi kad rangkaian pelanggan dengan IP tetap, menyatakan bahawa DNS utama akan menjadi IP dari samba-ad-dc, dan periksa bahawa pilihan "Daftarkan alamat sambungan ini di DNS" diaktifkan. Tidak sia-sia untuk memeriksa bahawa nama «7»Belum didaftarkan di DNS Dalaman Samba.

Setelah kita memasukkan komputer ke domain dan memulakannya semula, mari cuba log masuk dengan pengguna «langkah«. Kami akan memastikan semuanya berfungsi dengan baik. Sebaiknya periksa log Windows Client dan periksa bagaimana waktu diselaraskan dengan betul.

Pentadbir dengan beberapa pengalaman Windows akan mendapati bahawa setiap pemeriksaan yang mereka lakukan pada klien akan memberikan hasil yang memuaskan.

Ringkasan

Saya harap artikel ini berguna untuk pembaca Komuniti FromLinux.

Selamat tinggal!


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

8 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Gonzalo Martinez kata

    Artikel panjang tetapi terperinci, sangat baik langkah demi langkah bagaimana melakukan semuanya.

    Saya menekankan NIS, yang sebenarnya adalah bahawa walaupun saya tahu tentang keberadaannya, saya tidak pernah benar-benar tahu bagaimana ia berfungsi, kerana jujur ​​ia selalu memberi saya kesan bahawa ia hampir mati di sebelah LDAP dan Samba 4.

    PS: Tahniah atas projek peribadi baru anda! Sayang sekali bahawa anda tidak akan terus menulis di sini, tetapi sekurang-kurangnya ada tempat untuk mengikuti anda.

  2.   HO2Gi kata

    Tutorial besar seperti biasa untuk kegemaran saya, Salam Fico.
    Tahniah atas projek tersebut.

  3.   IWO kata

    Bahagian NIS sangat bagus, saya bersimpati dengan Gonzalo Martinez, saya mengetahuinya secara ringkas tetapi tidak tahu bagaimana melaksanakannya dan dalam situasi apa ia digunakan.
    Terima kasih sekali untuk "batang" artikel teori dan praktikal yang luar biasa.
    Akhirnya kejayaan baru dalam projek baru anda «gigainside».

  4.   Federico kata

    Terima kasih banyak atas komen !!!.
    salam

  5.   mussol kata

    smb.conf yang anda tunjukkan tidak mempunyai kaitan dengan LDAP, adakah itu sengaja atau adakah saya meninggalkan sesuatu?

  6.   phico kata

    mussol: Ini adalah Samba 4 Active Directory Domain Controller yang sudah mempunyai pelayan LDAP terbina dalam.

  7.   Vincent kata

    Bolehkah anda memberi komen bagaimana menyatukan mac (apple) ke samba 4 AD-DC?
    Terima kasih.

  8.   jramirez kata

    Apa khabar;

    Terima kasih kerana manual, bagus. Saya mempunyai soalan mengenai mesej yang muncul kepada saya.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Gagal menyelesaikan nama host / IP yang diberikan: ad.rjsolucionessac.com. Perhatikan bahawa anda tidak boleh menggunakan julat gaya gaya '/ mask' DAN '1-4,7,100-'
    Tidak dapat mencari sasaran yang sah. Pastikan host yang ditentukan adalah alamat IP dalam notasi standard atau nama host yang dapat diselesaikan dengan DNS
    akar @ IKLAN: ~ #