PAM, NIS, LDAP, Kerberos, DS și Samba 4 AD-DC - Rețele SMB

Indice general al seriei: Rețele de calculatoare pentru IMM-uri: Introducere

Bună ziua prieteni și prieteni!

Cu acest articol îmi iau rămas bun de la Comunitate DesdeLinux. Un adio special pentru o Comunitate Specială. De acum voi fi în proiectul meu personal pe care îl puteți vedea la http://www.gigainside.com.

Principalul obiectiv al postării este de a oferi un „Imagine de ansamblu»Despre Serviciile de autentificare cu software gratuit pe care le avem la dispoziție. Cel puțin asta este intenția noastră. Prin urmare, va fi lung, în ciuda faptului că știm că este împotriva regulilor generale de scriere a articolelor. Sperăm că administratorii de sistem îl apreciază.

Vrem să subliniem că protocolul comun pentru multe dintre sistemele moderne de autentificare este LDAP, și că nu este inactiv să-l studiem cu atenție, pe baza materialului de studiu pe care îl vom găsi pe site-ul oficial http://www.openldap.org/.

Nu vom oferi definiții detaliate - sau linkuri - cu privire la aspectele tratate în articolele anterioare, sau pe cele a căror descriere poate fi ușor accesibilă pe Wikipedia sau pe alte site-uri sau articole de pe internet, pentru a nu pierde obiectivitatea mesajului pe care dorim să îl transmitem. De asemenea, vom folosi un amestec valid de nume în engleză și spaniolă, deoarece considerăm că majoritatea sistemelor s-au născut cu nume în engleză și este foarte benefic pentru un Sysadmin să le asimileze în limba lor originală.

  • PAM: Modul de autentificare conectabil.
  • NIS: Serviciu_Informații_Rețea.
  • LDAP: Protocol ușor de acces la director.
  • Kerberos: Protocol de securitate pentru autentificarea utilizatorilor, calculatoarelor și serviciilor la nivel central într-o rețea, verificarea acreditărilor lor față de intrările existente în baza de date Kerberos.
  • DS: Directory Server sau Directory Service
  • AD–DC: Active Directory - Domain Controler

PAM

Dedicăm o serie mică acestui tip de autentificare locală, pe care o veți vedea în practica zilnică că este utilizată pe scară largă atunci când, de exemplu, alăturăm o stație de lucru la un controler de domeniu sau la un Active Directory; să mapeze utilizatorii stocați în baze de date externe LDAP ca și cum ar fi utilizatori locali; să mapeze utilizatorii stocați în controlerul de domeniu al unui Active Directory ca și cum ar fi utilizatori locali și așa mai departe.

NIS

De Wikipedia:

  • Network Information System (cunoscut sub acronimul său NIS, care în spaniolă înseamnă Network Information System), este numele unui protocol de servicii client-server dezvoltat de Sun Microsystems pentru trimiterea datelor de configurare în sisteme distribuite precum numele utilizatorilor și gazdelor între computerele dintr-o rețea.NIS se bazează pe ONC RPC și constă dintr-un server, o bibliotecă din partea clientului și diverse instrumente de administrare.

    NIS a fost numit inițial Pagini Galbene sau YP, care este încă folosit pentru a se referi la el. Din păcate, acest nume este o marcă comercială a British Telecom, care a cerut lui Sun să renunțe la acest nume. Cu toate acestea, YP rămâne un prefix în numele majorității comenzilor legate de NIS, cum ar fi ypserv și ypbind.

    DNS servește o gamă limitată de informații, cea mai importantă fiind corespondența dintre numele nodului și adresa IP. Pentru alte tipuri de informații, nu există un astfel de serviciu specializat. Pe de altă parte, dacă gestionați doar o rețea LAN mică, fără conectivitate la Internet, nu pare să merite să configurați DNS. Acesta este motivul pentru care Sun a dezvoltat Sistemul de informații de rețea (NIS). NIS oferă capacități de acces generice la baze de date care pot fi utilizate pentru a distribui, de exemplu, informațiile conținute în paswd și grupează fișierele către toate nodurile din rețeaua dvs. Acest lucru face ca rețeaua să arate ca un singur sistem, cu aceleași conturi pe toate nodurile. În mod similar, NIS poate fi utilizat pentru a distribui informațiile despre numele nodului conținute în / etc / hosts către toate mașinile din rețea.

    Astăzi NIS este disponibil practic în toate distribuțiile Unix și există chiar implementări gratuite. BSD Net-2 a publicat una care a fost derivată dintr-o implementare de referință a domeniului public donată de Sun. Codul bibliotecii pentru partea client a acestei versiuni există de mult timp în libc-ul GNU / Linux, iar programele de administrare au fost portate în GNU / Linux de către Swen Thümmler. Cu toate acestea, un server NIS lipsește de la implementarea de referință.

    Peter Eriksson a dezvoltat o nouă implementare numită NYS. Acesta acceptă atât NIS de bază, cât și versiunea îmbunătățită a Sun NIS +. [1] NYS oferă nu numai un număr de instrumente NIS și un server, ci adaugă și un set complet nou de funcții de bibliotecă pe care trebuie să le compilați în libc dacă doriți să le utilizați. Aceasta include o nouă schemă de configurare pentru rezoluția numelui nodului care înlocuiește schema curentă utilizată de fișierul „host.conf”.

    GNU libc, cunoscut sub numele de libc6 în comunitatea GNU / Linux, include o versiune actualizată a suportului tradițional NIS dezvoltat de Thorsten Kukuk. Acceptă toate funcțiile de bibliotecă furnizate de NYS și utilizează, de asemenea, schema de configurare avansată NYS. Instrumentele și serverul sunt încă necesare, dar utilizarea GNU libc salvează munca de corecție și recompilare a bibliotecii

    .

Numele computerului și domeniului, interfața de rețea și resolver

  • Începem de la o instalare curată - fără interfață grafică - a unui Debian 8 „Jessie”. Domeniul swl.fan înseamnă „Fani ai software-ului liber”. Ce nume mai bun decât acesta?.
root @ master: ~ # hostname
maestru
root @ master: ~ # hostname -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state Necunoscut grup implicit link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scop gazdă lo valid_lft forever preferat_lft forever inet6 :: 1/128 scop gazdă valid_lft forever recommended_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP grup implicit 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 scop global eth0 valid_lft forever preferat_lft pentru totdeauna inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 link link valid_lft forever preferat_lft forever

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

Instalarea bind9, isc-dhcp-server și ntp

lega9

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

root @ master: ~ # nano /etc/bind/named.conf
includeți „/etc/bind/named.conf.options”; includeți „/etc/bind/named.conf.local”; includeți „/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
opțiuni {director "/ var / cache / bind"; // Dacă există un firewall între dvs. și serverele de nume cu care doriți // să vorbiți, poate fi necesar să remediați firewall-ul pentru a permite // porturilor multiple să vorbească. Vedea http://www.kb.cert.org/vuls/id/800113

        // Dacă ISP-ul dvs. a furnizat una sau mai multe adrese IP pentru // servere de nume stabile, probabil că doriți să le utilizați ca expeditori. // Decomentați următorul bloc și introduceți adresele înlocuind // substituentul all-0. // expeditori {// 0.0.0.0; //}; // ================================================ ==================== $ $ Dacă BIND înregistrează mesaje de eroare despre cheia rădăcină expirată, // va trebui să vă actualizați cheile. Vedea https://www.isc.org/bind-keys
        // ================================================ ===================== $ // Nu vrem DNSSEC
        dnssec-enable nu;
        // dnssec-validation auto; auth-nxdomain nu; # conform cu RFC1035 listen-on-v6 {any; }; // Pentru verificări de la localhost și sysadmin // prin dig swl.fan axfr // Nu avem Slave DNS ... până acum
        allow-transfer {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Spațiu de adresă partajat (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-local / APIPA (RFCs 3927, 5735 și 6303)
zona "254.169.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// Alocări protocol IETF (RFC 5735 și 5736)
zona "0.0.192.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// TEST-NET- [1-3] pentru documentație (RFC 5735, 5737 și 6303)
zona "2.0.192.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "100.51.198.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "113.0.203.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// Exemplu IPv6 pentru documentație (RFC 3849 și 6303)
zona "8.bd0.1.0.0.2.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// Nume de domenii pentru documentare și testare (BCP 32)
zona "test" {tip master; fișierul „/etc/bind/db.empty”; }; zona "exemplu" {tip master; fișierul „/etc/bind/db.empty”; }; zona "invalid" {tip master; fișierul „/etc/bind/db.empty”; }; zone "example.com" {tip master; fișier „/etc/bind/db.empty”; }; zona "exemplu.net" {tip master; fișierul „/etc/bind/db.empty”; }; zone "example.org" {tip master; fișierul „/etc/bind/db.empty”; };

// Testarea benchmark-ului routerului (RFC-urile 2544 și 5735)
zona "18.198.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "19.198.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// IANA rezervat - Vechiul spațiu de clasă E (RFC 5735)
zona "240.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "241.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "242.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "243.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "244.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "245.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "246.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "247.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "248.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "249.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "250.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "251.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "252.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "253.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "254.in-addr.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// Adrese IPv6 neatribuite (RFC 4291)
zona "1.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "3.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "4.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "5.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "6.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "7.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "8.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "9.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "a.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "b.ip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "c.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "d.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "e.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "0.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "1.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "2.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "3.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "4.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "5.f.ip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "6.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "7.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "8.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "9.f.ip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zone "afip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "bfip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "0.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "1.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "2.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "3.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "4.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "5.efip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "6.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "7.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// IPLA ULA (RFC 6 și 4193)
zona "cfip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "dfip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// IPv6 Link Local (RFC 4291 și 6303)
zona "8.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "9.efip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "aefip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; }; zona "befip6.arpa" {tip master; fișierul „/etc/bind/db.empty”; };

// Site-uri depreciate IPv6-Adrese locale (RFCs 3879 și 6303)
zona "cefip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "defip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "eefip6.arpa" {tip master; fișier „/etc/bind/db.empty”; }; zona "fefip6.arpa" {tip master; fișier „/etc/bind/db.empty”; };

// IP6.INT este depreciat (RFC 4159)
zona "ip6.int" {tip master; fișierul „/etc/bind/db.empty”; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Faceți orice configurație locală aici // // Luați în considerare adăugarea zonelor 1918 aici, dacă acestea nu sunt utilizate în // organizația dvs. include „/etc/bind/zones.rfc1918”;
includeți „/etc/bind/zones.rfcFreeBSD”;

// Declarație privind numele, tipul, locația și permisiunea de actualizare // a zonelor de înregistrări DNS // Ambele zone sunt zona MASTER „swl.fan” {tip master; fișier "/var/lib/bind/db.swl.fan"; }; zona "10.168.192.in-addr.arpa" {tip master; fișier „/var/lib/bind/db.10.168.192.in-addr.arpa”; };

root @ master: ~ # named-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; serial 1D; reîmprospătare 1H; reîncercați 1W; expiră 3H); minim sau; Timp negativ de stocare în cache; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Pentru fanii software-ului liber"; sysadmin IN A 192.168.10.1 server de fișiere 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 mail IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; serial 1D; reîmprospătare 1H; reîncercați 1W; expiră 3H); minim sau; Timp negativ de stocare în cache; @ IN NS master.swl.fan. ; 1 IN 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 IN PTR ftpserver.swl.fan. 9 ÎN PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zona swl.fan/IN: serial încărcat 1 OK
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
zona 10.168.192.in-addr.arpa/IN: serial încărcat 1 OK

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl reporniți bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9 verificări

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # dig IN SOA swl.fan
root @ master: ~ # dig IN NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb host 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
Începând cu Nping 0.6.47 ( http://nmap.org/nping ) la 2017 05:27 EDT SENT (09s) UDP 32:0.0037> 192.168.10.5:53 ttl = 192.168.10.245 id = 53 iplen = 64 SENT (20743s) UDP 28:1.0044> 192.168.10.5 .53: 192.168.10.245 ttl = 53 id = 64 iplen = 20743 SENT (28s) UDP 2.0060:192.168.10.5> 53:192.168.10.245 ttl = 53 id = 64 iplen = 20743 Max rtt: N / A | Min rtt: N / A | Rtt mediu: N / A Pachete brute trimise: 28 (3B) | Rcvd: 84 (0B) | Pierdut: 0 (3%) Nping făcut: 100.00 adresă IP ping în 1 secunde 

server-isc-dhcp

root @ master: ~ # aptitude install isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Pe ce interfețe ar trebui să servească serverul DHCP (dhcpd) cererile DHCP? # Separați mai multe interfețe cu spații, de ex. "Eth0 eth1".
INTERFACES = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n USER dhcp-key
root @ master: ~ # cat Kdhcp-key. +157 + 51777.private 
Private-key-format: v1.3 Algoritm: 157 (HMAC_MD5) Cheie: Ba9GVadq4vOCixjPN94dCQ == Bits: AAA = Creat: 20170527133656 Publicare: 20170527133656 Activare: 20170527133656

root @ master: ~ # nano dhcp.key
cheie dhcp-cheie {
        algoritmul hmac-md5;
        secret "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
includeți „/etc/bind/dhcp.key”;

zona "swl.fan" {tip master; fișier "/var/lib/bind/db.swl.fan";
        allow-update {cheie dhcp-cheie; };
}; zona "10.168.192.in-addr.arpa" {tip master; fișier „/var/lib/bind/db.10.168.192.in-addr.arpa”;
        allow-update {cheie dhcp-cheie; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-actualizări pe; ddns-nume de domeniu "swl.fan."; ddns-rev-domainname "in-addr.arpa."; ignorați actualizările clientului; actualizare-optimizare falsă; # Poate fi necesar pe autoritatea Debian; opțiune redirecționare ip dezactivată; opțiune nume de domeniu "swl.fan"; includeți „/etc/dhcp/dhcp.key”; zone swl.fan. {primar 127.0.0.1; cheie dhcp-cheie; } zona 10.168.192.in-addr.arpa. {primar 127.0.0.1; cheie dhcp-cheie; } redlocal de rețea partajată {subrețea 192.168.10.0 netmask 255.255.255.0 {routere cu opțiuni 192.168.10.1; opțiune sub-mască 255.255.255.0; opțiune broadcast-address 192.168.10.255; opțiune nume-domeniu-servere 192.168.10.5; opțiunea netbios-name-servers 192.168.10.5; opțiune servere ntp 192.168.10.5; opțiune servere de timp 192.168.10.5; interval 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Copyright 2004-2014 Internet Systems Consortium. Toate drepturile rezervate. Pentru informații, vă rugăm să vizitați https://www.isc.org/software/dhcp/
Fișier de configurare: /etc/dhcp/dhcpd.conf Fișier bază de date: /var/lib/dhcp/dhcpd.leases fișier PID: /var/run/dhcpd.pid

root @ master: ~ # systemctl reporniți bind9.service 
root @ master: ~ # systemctl status bind9.service 

root @ master: ~ # systemctl start isc-dhcp-server.service
root @ master: ~ # systemctl status 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 statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 192.168.10.1 restriction -4 default kod notrap nomodify nopeer noquery restriction -6 cod implicit notrap nomodify nopeer noquery restriction 127.0.0.1 restriction :: 1 broadcast 192.168.10.255

root @ master: ~ # systemctl reporniți ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 mai 10:04:01 ntpdate [18769]: reglați serverul de timp 192.168.10.1 offset 0.369354 sec

Verificări globale pentru ntp, bind9 și isc-dhcp-server

De la un client Linux, BSD, Mac OS sau Windows verificați dacă ora este sincronizată corect. Că dobândește o adresă IP dinamică și că numele acelei gazde este rezolvat prin interogări DNS directe și inverse. Schimbați numele clientului și refaceți toate verificările. Nu continuați până nu sunteți sigur că serviciile instalate până acum funcționează corect. Pentru ceva am scris toate articolele despre DNS și DHCP în Rețele de calculatoare pentru IMM-uri.

Instalare server NIS

root @ master: ~ # aptitude show nis
Conflictele cu: netstd (<= 1.26) Descriere: clienți și demoni pentru serviciul de informații de rețea (NIS) Acest pachet oferă instrumente pentru configurarea și menținerea unui domeniu NIS. NIS, cunoscut inițial sub numele de Yellow Pages (YP), este utilizat în principal pentru a permite mai multor mașini dintr-o rețea să partajeze aceleași informații despre cont, cum ar fi fișierul cu parolă.

root @ master: ~ # aptitude install nis
Configurare pachet ┌────────────────────────── Configuration Nis Configuration ├──────────────── ──────────┐ │ Alegeți „numele de domeniu” NIS pentru acest sistem. Dacă doriți ca această mașină │ │ să fie doar un client, trebuie să introduceți numele domeniului │ │ NIS la care doriți să vă alăturați. │ │ │ │ Alternativ, dacă această mașină trebuie să fie un server NIS, puteți │ │ introduce un nou „nume de domeniu” NIS sau numele unui domeniu NIS │ │ existent. │ │ │ │ Domeniul NIS: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Vă va întârzia, deoarece configurația serviciului nu există ca atare. Vă rugăm să așteptați finalizarea procesului.

root @ master: ~ # nano / etc / default / nis
# Suntem un server NIS și dacă da, ce fel (valori: false, slave, master)?
NISSERVER = stăpân

root @ master: ~ # nano /etc/ypserv.securenets # securenets Acest fișier definește drepturile de acces la serverul dvs. NIS # pentru clienții NIS (și servere slave - ypxfrd folosește și acest # fișier). Acest fișier conține perechi netmask / rețea. # O adresă IP a clienților trebuie să se potrivească cu cel puțin # dintre acestea. # # Se poate folosi cuvântul „gazdă” în loc de o mască de rețea de # 255.255.255.255. Numai adresele IP sunt permise în acest # fișier, nu numele de gazdă. # # Permiteți întotdeauna accesul pentru localhost 255.0.0.0 127.0.0.0 # Această linie oferă acces tuturor. Vă rugăm să ajustați! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Ar trebui să îmbinăm fișierul passwd cu fișierul shadow? # MERGE_PASSWD = adevărat | fals
MERGE_PASSWD = adevărat

# Ar trebui să îmbinăm fișierul grup cu fișierul gshadow? # MERGE_GROUP = adevărat | fals
MERGE_GROUP = adevărat

Construim baza de date NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
În acest moment, trebuie să construim o listă a gazdelor care vor rula servere NIS. master.swl.fan se află pe lista gazdelor serverului NIS. Vă rugăm să continuați să adăugați numele celorlalte gazde, câte unul pe rând. Când ați terminat lista, tastați a . următoarea gazdă de adăugat: master.swl.fan următoarea gazdă de adăugat: Lista curentă de servere NIS arată astfel: master.swl.fan Este corect? [y / n: y] Avem nevoie de câteva minute pentru a construi bazele de date ... faceți [1]: părăsirea directorului '/var/yp/swl.fan' master.swl.fan a fost configurat ca un server master NIS . Acum puteți rula ypinit -s master.swl.fan pe toate serverele slave.

root @ master: ~ # systemctl restart nis
root @ master: ~ # systemctl status nis

Adăugăm utilizatori locali

root @ master: ~ # adduser bilbo
Adăugarea utilizatorului "bilbo" ... Adăugarea noului grup "bilbo" (1001) ... Adăugarea noului utilizator "bilbo" (1001) cu grupul "bilbo" ... Crearea directorului de acasă `/ home / bilbo ' ... Copierea fișierelor din `/ etc / skel '... Introduceți noua parolă UNIX: Reapetați noua parolă UNIX: passwd: parola actualizată corect Modificarea informațiilor de utilizator pentru bilbo Introduceți noua valoare sau apăsați ENTER pentru a utiliza numele complet implicit []: Număr cameră Bilbo Bagins []: Telefon de lucru []: Telefon de acasă []: Altele []: Informațiile sunt corecte? [Da / n]

root @ master: ~ # adduser pași root @ master: ~ # adduser legolas

și așa mai departe.

root @ master: ~ # deget legolas
Autentificare: legolas Nume: Legolas Archer Directory: / home / legolas Shell: / bin / bash Nu v-ați conectat niciodată. Fără mail. Niciun plan.

Actualizăm baza de date NIS

root @ master: / var / yp # make
make [1]: Introducerea directorului '/var/yp/swl.fan' Se actualizează passwd.byname ... Se actualizează passwd.byuid ... Se actualizează group.byname ... Se actualizează group.bygid ... Se actualizează netid.byname. .. Se actualizează shadow.byname ... Ignorat -> fuzionat cu passwd make [1]: Se părăsește directorul „/var/yp/swl.fan”

Adăugăm opțiuni NIS la serverul isc-dhcp

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-actualizări pe; ddns-nume de domeniu "swl.fan."; ddns-rev-domainname "in-addr.arpa."; ignorați actualizările clientului; actualizare-optimizare falsă; autoritar; opțiune redirecționare ip dezactivată; opțiune nume de domeniu "swl.fan"; includeți „/etc/dhcp/dhcp.key”; zone swl.fan. {primar 127.0.0.1; cheie dhcp-cheie; } zona 10.168.192.in-addr.arpa. {primar 127.0.0.1; cheie dhcp-cheie; } redlocal de rețea partajată {subrețea 192.168.10.0 netmask 255.255.255.0 {routere cu opțiuni 192.168.10.1; opțiune sub-mască 255.255.255.0; opțiune broadcast-address 192.168.10.255; opțiune nume-domeniu-servere 192.168.10.5; opțiunea netbios-name-servers 192.168.10.5; opțiune servere ntp 192.168.10.5; opțiune servere de timp 192.168.10.5;
                opțiunea nis-domain "swl.fan";
                opțiunea nis-servers 192.168.10.5;
                interval 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl reporniți isc-dhcp-server.service

Instalare client NIS

  • Începem de la o instalare curată - fără interfață grafică - a unui Debian 8 „Jessie”.
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP grup implicit 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 scop global eth0

root @ mail: ~ # aptitude install nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Fișier de configurare pentru procesul ypbind. Puteți defini manual # servere NIS aici dacă nu pot fi găsite prin # difuzare pe rețeaua locală (care este implicit). # # Vezi pagina manuală a ypbind pentru sintaxa acestui fișier. # # IMPORTANT: Pentru „ypserver”, utilizați adrese IP sau asigurați-vă că # gazda se află în / etc / hosts. Acest fișier este interpretat doar # o singură dată și dacă DNS nu este accesibil, serverul yps nu poate fi rezolvat și ypbind nu se va lega niciodată de server. # ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Exemplu de configurare a funcționalității GNU Name Service Switch. # Dacă aveți pachetele `glibc-doc-reference 'și„ info ”instalate, încercați: #` info libc „Nume serviciu comutator”' pentru informații despre acest fișier. passwd: compat nis grup: compat nis umbră: compat nis gshadow: fișiere gazde: fișiere dns nis rețele: fișiere protocoale: fișiere db servicii: fișiere db etere: fișiere db rpc: fișiere db netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) pentru detalii.
sesiune opțională pam_mkhomedir.so skel = / etc / skel umask = 077
# aici sunt modulele per pachet (blocul „Primar”)

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl restart nis

Închidem sesiunea și o pornim din nou, dar cu un utilizator înregistrat în baza de date NIS la master.swl.fan.

root @ mail: ~ # exit
deconectare Conexiune la e-mail închisă.

buzz @ sysadmin: ~ $ ssh legolas @ mail
parola legolas @ mail: Se creează directorul '/ home / legolas'. Programele incluse în sistemul Debian GNU / Linux sunt programe gratuite; termenii exacți de distribuție pentru fiecare program sunt descriși în fișierele individuale din / usr / share / doc / * / copyright. Debian GNU / Linux vine cu ABSOLUT FĂRĂ GARANȚIE, în măsura permisă de legislația aplicabilă.
legolas @ mail: ~ $ pwd
/ acasă / legolas
legolas @ mail: ~ $ 

Schimbăm parola utilizatorului legolas și verificăm

legolas @ mail: ~ $ yppasswd 
Schimbarea informațiilor despre contul NIS pentru legolas pe master.swl.fan. Vă rugăm să introduceți parola veche: legolas Schimbarea parolei NIS pentru legolas pe master.swl.fan. Vă rugăm să introduceți o parolă nouă: arcaș Parola trebuie să conțină atât litere mari, cât și litere mici, sau non-litere. Vă rugăm să introduceți o parolă nouă: Arquero2017 Vă rugăm să tastați din nou parola nouă: Arquero2017 Parola NIS a fost modificată pe master.swl.fan.

legolas @ mail: ~ $ exit
deconectare Conexiune la e-mail închisă.

buzz @ sysadmin: ~ $ ssh legolas @ mail
parola legolas @ mail: Arquero2017

Programele incluse în sistemul Debian GNU / Linux sunt programe gratuite; termenii exacți de distribuție pentru fiecare program sunt descriși în fișierele individuale din / usr / share / doc / * / copyright. Debian GNU / Linux vine cu ABSOLUT FĂRĂ GARANȚIE, în măsura permisă de legislația aplicabilă. Ultima autentificare: sâmbătă 27 mai 12:51:50 2017 de la sysadmin.swl.fan
legolas @ mail: ~ $

Serviciul NIS implementat la nivel de server și client funcționează corect.

LDAP

Din Wikipedia:

  • LDAP este acronimul pentru Lightweight Directory Access Protocol (în spaniolă Lightweight Directory Access Protocol) care se referă la un protocol la nivel de aplicație care permite accesul la un serviciu director ordonat și distribuit pentru a căuta diverse informații într-un mediu reţea. LDAP este, de asemenea, considerat o bază de date (deși sistemul său de stocare poate fi diferit) care poate fi interogat.Un director este un set de obiecte cu atribute organizate într-un mod logic și ierarhic. Cel mai obișnuit exemplu este agenda telefonică, care constă dintr-o serie de nume (persoane sau organizații) care sunt aranjate alfabetic, fiecare nume având o adresă și un număr de telefon atașat. Pentru a înțelege mai bine, este o carte sau un dosar, în care sunt scrise numele, numerele de telefon și adresele persoanelor și sunt aranjate alfabetic.

    Un arbore de directoare LDAP reflectă uneori diferite limite politice, geografice sau organizaționale, în funcție de modelul ales. Implementările curente LDAP tind să utilizeze nume de sistem de nume de domeniu (DNS) pentru a structura nivelurile superioare ale ierarhiei. Pe măsură ce derulați în jos în director, pot apărea intrări care reprezintă persoane, unități organizaționale, imprimante, documente, grupuri de persoane sau orice altceva care reprezintă o intrare dată în arbore (sau intrări multiple).

    De obicei, stochează informații de autentificare (utilizator și parolă) și este utilizat pentru autentificare, deși este posibilă stocarea altor informații (date de contact ale utilizatorului, localizarea diverselor resurse de rețea, permisiuni, certificate etc.). În rezumat, LDAP este un protocol de acces unificat la un set de informații dintr-o rețea.

    Versiunea actuală este LDAPv3 și este definită în RFCs RFC 2251 și RFC 2256 (document de bază LDAP), RFC 2829 (metodă de autentificare pentru LDAP), RFC 2830 (extensie pentru TLS) și RFC 3377 (specificații tehnice)

    .

Pentru mult timp, protocolul LDAP - și bazele sale de date compatibile sau nu cu OpenLDAP - este cel mai utilizat în majoritatea sistemelor de autentificare de astăzi. Ca exemplu al afirmației anterioare, oferim mai jos câteva nume de sisteme -Free sau Private- care folosesc baze de date LDAP ca backend pentru a stoca toate obiectele lor:

  • OpenLDAP
  • Server Apache Directory
  • Red Directory Directory Server - 389 DS
  • Servicii de directoare Novell - eDirectory
  • SUN Microsystems Open DS
  • Red Hat Identity Manager
  • IPA gratuit
  • Samba NT4 Classic Domain Controller.
    Vrem să clarificăm că acest sistem a fost o dezvoltare a Team Samba cu Samba 3.xxx + OpenLDAP ca backend. Microsoft nu a implementat niciodată așa ceva. A trecut de la controlerele de domeniu NT 4 la directoarele lor active
  • Samba 4 Active Directory - Domain Controler
  • Ștergeți sistemul de operare
  • Plantă
  • Server corporativ UCS Uninvention
  • Microsoft Active Directory

Fiecare implementare are propriile sale caracteristici, iar cea mai standard și compatibilă este OpenLDAP.

Active Directory, indiferent dacă este originalul de la Microsoft sau cel de la Samba 4, constituie o uniune a mai multor componente principale care sunt:

Nu trebuie să confundăm un Directory Service o Serviciu director cu un Active Directory o Active Directory. Primele pot găzdui sau nu autentificarea Kerberos, dar nu oferă serviciul de rețea Microsoft oferit de un domeniu Windows și nici nu au un controler de domeniu Windows ca atare.

Un serviciu director sau un serviciu director poate fi utilizat pentru autentificarea utilizatorilor într-o rețea mixtă cu clienții UNIX / Linux și Windows. Pentru acesta din urmă, trebuie instalat un program pe fiecare client care să acționeze ca intermediar între serviciul Directory și clientul Windows însuși, cum ar fi software-ul gratuit. pagină.

Serviciu director cu OpenLDAP

  • Începem de la o instalare curată - fără interfață grafică - a unui Debian 8 „Jessie”, cu același nume de mașină „master” utilizat pentru instalarea NIS, precum și configurarea interfeței de rețea și a fișierului /etc/resolv.conf. Am instalat serverul ntp, bind9 și isc-dhcp pentru acest nou server, fără a uita verificările globale ale funcționării corecte a celor trei servicii anterioare.
root @ master: ~ # aptitude install slapd ldap-utils

Configurarea pachetului

┌────────────────────┤ Configurare Slapd ├─────────────────────┐ │ Introduceți parola pentru intrarea administratorului din directorul LDAP │ │. │ │ │ │ Parola administratorului: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────┘

Verificăm configurația inițială

root @ master: ~ # slapcat
dn: dc = swl, dc = ventilator
objectClass: top objectClass: dcObject objectClass: organization o: swl.fan dc: swl structuralObjectClass: organizație entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = entry entry fanTimestamp20170531205219: 20170531205219.833955im Z # 000000 # 000 # 000000 modificatori Nume: cn = admin, dc = swl, dc = ventilator modifica Timestamp: 20170531205219Z

dn: cn = admin, dc = swl, dc = fan
objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin Descriere: LDAP administrator userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e-da8fe1036e-entrySw8d-2-dm71c-022-entrySw16904e-da20170531205219fe-20170531205219.834422-intrare-000000-fancimes-c000emp000000a20170531205219-entrySwXNUMX-cXNUMXempXNUMXeXNUMXpmTmlYOVhKSUXNUMX-intrare-XNUMXc-XNUMX-f-XNUMX-intrare-XNUMXc-XNUMX-f-c-f-XNUMX-intrare-XNUMX-cXNUMX-daXNUMXfe-XNUMX-intrare-XNUMX-fancimes-intrare-XNUMX-intrare-u-f-r-ole-intrare: XNUMXZ # XNUMX # XNUMX # XNUMX modificatori Nume: cn = admin, dc = swl, dc = ventilator modifica Timestamp: XNUMXZ

Modificăm fișierul /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BAZĂ dc = swl, dc = URI ventilator    ldap: // localhost

Unități organizatorice și grupul general „utilizatori”

Adăugăm unitățile organizaționale minime necesare, precum și grupul Posix «utilizatori» la care vom face membri toți utilizatorii, urmând exemplul multor sisteme care au grupul «utilizatorii«. O denumim cu numele de „utilizatori” pentru a nu intra în posibile conflicte cu grupul „utilizator"al sistemului.

root @ master: ~ # nano base.ldif
dn: ou = people, dc = swl, dc = fan object Clasa: organizaționalUnit ou: people dn: ou = groups, dc = swl, dc = fan object Class: organizationalUnit ou: groups dn: cn = users, ou = groups, dc = swl, dc = fan object Clasa: posixGroup cn: user gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Introduceți parola LDAP: adăugând o intrare nouă "ou = oameni, dc = swl, dc = fan" adăugând o intrare nouă "ou = grupuri, dc = swl, dc = fan"

Verificăm intrările adăugate

root @ master: ~ # ldapsearch -x ou = people
# people, swl.fan dn: ou = people, dc = swl, dc = fan object Clasa: organizationalUnit ou: people

root @ master: ~ # ldapsearch -x ou = grupuri
# grupuri, swl.fan dn: ou = grupuri, dc = swl, dc = obiect fan Clasa: organizațională Unitate ou: grupuri

root @ master: ~ # ldapsearch -x cn = utilizatori
# utilizatori, grupuri, swl.fan dn: cn = utilizatori, ou = grupuri, dc = swl, dc = obiect obiect Clasă: posixGrup grup c: utilizatori gidNumăr: 10000

Adăugăm mai mulți utilizatori

Parola pe care trebuie să o declarăm în LDAP trebuie obținută prin comandă slappasswd, care returnează o parolă criptată SSHA.

Parola pentru pasii utilizatorului:

root @ master: ~ # slappasswd 
Parolă nouă: Reintroduceți parola nouă: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Parola pentru utilizatorul legolas

root @ master: ~ # slappasswd 
Parolă nouă: Reintroduceți parola nouă: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Parola pentru utilizatorul gandalf

root @ master: ~ # slappasswd 
Parolă nouă: Reintroduceți parola nouă: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = strides, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides givenName: Strides sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: striders@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas givenName : Legolas sn: Archer user Parola: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 mail: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeDirectory: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf givenName: Gandalf sn: User Wizard Parola: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 mail: gandalf@swl.fan
gecos: Gandalf The Wizard login Shell: / bin / bash home Directoriu: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Introduceți parola LDAP: adăugând intrare nouă "uid = pași, ou = oameni, dc = swl, dc = fan" adăugând intrare nouă "uid = legolas, ou = oameni, dc = swl, dc = ventilator" adăugând intrare nouă "uid = gandalf, ou = oameni, dc = swl, dc = fan "

Verificăm intrările adăugate

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

Gestionăm baza de date slpad cu utilitare de consolă

Selectăm pachetul ldscripts pentru o astfel de sarcină. Procedura de instalare și configurare este următoarea:

root @ master: ~ # aptitude install 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 = groups' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Calculatoare' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # comenzi client 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 =" posixGrATE "# UTEM etc. /ldapadduser.template "PASSWORDGEN =" ecou% u "

Observați că scripturile folosesc comenzile pachetului ldap-utils. Alerga dpkg -L ldap-utils | grep / bin să știe ce sunt.

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/ldapdduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: nume dat: sn: numele afisat: uidNumber: gidNumber: 10000 homeDirectory: loginShell: Poștă: @ swl.fan geckos: descriere: Cont de utilizator
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## eliminăm comentariul UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Adăugăm utilizatorul „bilbo” și îl facem membru al grupului „utilizatori”

root @ master: ~ # ldapadduser utilizatori bilbo
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Introduceți valoarea pentru "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Introduceți valoarea pentru " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Introduceți valoarea pentru" displayName ": Bilbo Bagins A adăugat cu succes utilizatorul bilbo la LDAP Setați cu succes parola pentru utilizatorul bilbo

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo givenName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo login Shell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo description: Cont de utilizator

Pentru a vedea hash-ul de parolă al utilizatorului bilbo, este necesar să efectuați interogarea cu autentificare:

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

Pentru a șterge utilizatorul bilbo executăm:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Introduceți parola LDAP:

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

Gestionăm baza de date slapd printr-o interfață web

Avem un serviciu director funcțional și dorim să îl gestionăm mai ușor. Există multe programe concepute pentru această sarcină, cum ar fi phpldapadmin, ldap-manager-contetc., care sunt disponibile direct din depozite. De asemenea, putem gestiona un serviciu de directoare prin intermediul Apache Directory Studio, pe care trebuie să-l descărcăm de pe Internet.

Pentru mai multe informatii va rugam vizitati https://blog.desdelinux.net/ldap-introduccion/și următoarele 6 articole.

Client LDAP

Etapă:

Să spunem că avem echipa mail.swl.fan ca server de mail implementat așa cum am văzut în articol Postfix + Dovecot + Squirrelmail și utilizatorii locali, care, deși dezvoltat pe CentOS, poate servi drept ghid pentru Debian și multe alte distribuții Linux. Vrem ca, pe lângă utilizatorii locali pe care i-am declarat deja, utilizatorii stocați în baza de date OpenLDAP existentă în master.swl.fan. Pentru a realiza acest lucru trebuie să «harta»Pentru utilizatorii LDAP ca utilizatori locali pe server mail.swl.fan. Această soluție este valabilă și pentru orice serviciu bazat pe autentificare PAM. Procedura generală pentru Debian, este următorul:

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

  ┌────────────────────┤ Configurare de libnss-ldap ├─────────────────────┐ │ Introduceți URI („Uniform Resource Identifier”, sau │ │ Uniform Resource Identifier) ​​al serverului LDAP. Acest șir este similar cu │ │ «ldap: //: / ». Puteți utiliza și │ │ «ldaps: // » sau „ldapi: //”. Numărul portului este opțional. │ │ │ │ Se recomandă utilizarea unei adrese IP pentru a evita eșecul atunci când serviciile de nume de domeniu │ │ nu sunt disponibile. │ │ │ │ URI server LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ───────────────────────────┘ ┌──────────────────── ┤ Configurarea libnss-ldap ├──────────────────────┐ │ Introduceți numele distinctiv (DN) al bazei de căutare LDAP. │ │ Multe site-uri folosesc componente de nume de domeniu în acest scop. De exemplu, domeniul „example.net” ar folosi │ │ „dc = example, dc = net” ca nume distinctiv al bazei de căutare. │ │ │ │ Numele distins (DN) al bazei de căutare: │ │ │ │ dc = swl, dc = ventilator ____________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libnss-ldap ├──────────────────────┐ │ Introduceți versiunea protocolului LDAP pe care ldapns ar trebui să o folosească. Se recomandă să utilizați cel mai mare număr de versiune disponibil. │ │ │ │ Versiunea LDAP de utilizat: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libnss-ldap ├──────────────────────┐ │ Alegeți ce cont va fi utilizat pentru interogările nss cu │ │ privilegii de root. │ │ │ │ Notă: Pentru ca această opțiune să funcționeze, contul are nevoie de permisiuni pentru ca │ attributes să poată accesa atributele LDAP care sunt asociate cu utilizatorul │ │ intrările „umbră”, precum și parolele utilizatorilor și ale grupurilor . │ │ │ │ Cont LDAP pentru root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libnss-ldap ├─────────────────────┐ │ Introduceți parola care va fi utilizată atunci când libnss-ldap încearcă să se autentifice în directorul LDAP cu contul LDAP rădăcină. │ │ │ │ Parola va fi salvată într-un fișier separat │ │ („/etc/libnss-ldap.secret”) la care numai root poate accesa. │ │ │ │ Dacă introduceți o parolă goală, parola veche va fi refolosită. │ │ │ │ Parolă pentru contul LDAP root: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Configurarea libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf nu este gestionat automat │ │ │ │ Trebuie să vă modificați fișierul „/etc/nsswitch.conf” pentru a utiliza o sursă de date LDAP dacă doriți să funcționeze pachetul libnss-ldap. │ │ Puteți utiliza fișierul eșantion │ │ în „/usr/share/doc/libnss-ldap/examples/nsswitch.ldap” ca exemplu de configurație nsswitch sau │ │ îl puteți copia peste configurația dvs. curentă. │ │ │ │ Rețineți că, înainte de a elimina acest pachet, poate fi convenabil să eliminați intrările „ldap” din fișierul nsswitch.conf, astfel încât serviciile de bază │ │ să funcționeze în continuare. │ │ │ │ ││││└└└ ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libpam-ldap ├──────────────────────┐ │ │ │ Această opțiune permite instrumentelor de parolă care utilizează PAM să schimbe parolele locale. │ │ │ │ Parola pentru contul de administrator LDAP va fi stocată într-un fișier │ separate separat care poate fi citit doar de administrator. │ │ │ │ Această opțiune ar trebui să fie dezactivată, dacă se montează „/ etc” prin NFS. │ │ │ │ Doriți să permiteți contului de administrator LDAP să se comporte ca │ │ administrator local? │ │ │ │                                            ││││└└└ ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libpam-ldap ├──────────────────────┐ │ │ │ Alegeți dacă serverul LDAP forțează identificarea înainte de a obține │ intrări obținute. Setting │ │ │ Această setare este rareori necesară. │ │ │ │ Este necesar un utilizator să acceseze baza de date LDAP? │ │ │ │                                               ││││└└└ ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libpam-ldap ├──────────────────────┐ │ Introduceți numele contului de administrator LDAP. │ │ │ │ Acest cont va fi utilizat automat pentru gestionarea bazei de date, │ │ trebuie să aibă privilegiile administrative corespunzătoare. │ │ │ │ Cont de administrator LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── ──┤ Configurarea libpam-ldap ├──────────────────────┐ │ Introduceți parola pentru contul de administrator. │ │ │ │ Parola va fi salvată în fișierul „/etc/pam_ldap.secret”. Administratorul │ │ va fi singurul care poate citi acest fișier și va permite │ │ libpam-ldap să controleze automat gestionarea conexiunilor din baza de date │ │. │ │ │ │ Dacă lăsați acest câmp necompletat, parola salvată anterior │ │ va fi utilizată din nou. │ │ │ │ Parola administrator LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Exemplu de configurare a funcționalității GNU Name Service Switch. # Dacă aveți pachetele `glibc-doc-reference 'și„ info ”instalate, încercați: #` info libc „Nume serviciu comutator”' pentru informații despre acest fișier. passwd: compat ldap
grup: compat ldap
umbră: compat ldap
gshadow: fișiere gazde: fișiere rețele dns: fișiere protocoale: fișiere db servicii: fișiere db etere: fișiere db rpc: fișiere db netgroup: nis

Să edităm fișierul /etc/pam.d/common-password, mergem la linia 26 și eliminăm valoarea «use_authtok„:

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - module legate de parolă comune tuturor serviciilor # # Acest fișier este inclus din alte fișiere de configurare PAM specifice serviciului, # și ar trebui să conțină o listă de module care definesc serviciile care urmează să fie # folosit pentru a schimba parolele utilizatorilor. Valoarea implicită este pam_unix. # Explicația opțiunilor pam_unix: # # Opțiunea „sha512” permite parolele SHA512 sărate. Fără această opțiune, # implicit este cripta Unix. Versiunile anterioare foloseau opțiunea „md5”. # # Opțiunea „obscur” înlocuiește vechea opțiune `OBSCURE_CHECKS_ENAB 'din # login.defs. # # Vezi pagina de manual pam_unix pentru alte opțiuni. # Începând cu pam 1.0.1-6, acest fișier este gestionat implicit de pam-auth-update. # Pentru a profita de acest lucru, se recomandă să configurați orice # module locale fie înainte, fie după blocul implicit și să utilizați # pam-auth-update pentru a gestiona selecția altor module. Consultați # pam-auth-update (8) pentru detalii. # aici sunt modulele per pachet (blocul „Primar”) parola [succes = 2 implicit = ignorare] pam_unix.so obscure sha512
parola [succes = 1 user_unknown = ignoră implicit = mor] pam_ldap.so try_first_pass
# iată rezolvarea dacă niciun modul nu reușește parola necesară pam_deny. așa că # amorsează stiva cu o valoare de returnare pozitivă dacă nu există deja una; # acest lucru ne evită să returnăm o eroare doar pentru că nimic nu stabilește un cod de succes # deoarece modulele de mai sus vor sări fiecare în jurul parolei necesare pam_permit.so # și aici sunt mai multe module per pachet (blocul „Adițional”) # sfârșitul pam- conf-actualizare autentificare

În caz că avem nevoie autentificarea locală a utilizatorilor stocați în LDAP și dorim ca folderele lor să fie create automat Acasă, trebuie să edităm fișierul /etc/pam.d/common-session și adăugați următoarea linie la sfârșitul fișierului:

sesiune opțională pam_mkhomedir.so skel = / etc / skel umask = 077

În exemplul OpenLDAP Directory Service dezvoltat anterior, singurul utilizator local care a fost creat a fost utilizatorul bâzâit, în timp ce în LDAP creăm utilizatorii pași, Legolas, Gandalf, Și Bilbo. Dacă configurațiile făcute până acum sunt corecte, atunci ar trebui să putem lista utilizatorii locali și cei mapați ca local, dar stocați în serverul LDAP la distanță:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Pași: x: 10000: 10000: Pași El Rey: / acasă / pași: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf Magicianul: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

După modificările de autentificare a sistemului, este valabil să reporniți serverul dacă nu avem un serviciu critic:

root @ mail: ~ # reboot

Mai târziu începem o sesiune locală pe server mail.swl.fan cu acreditările unui utilizator stocate în baza de date LDAP din master.swl.fan. De asemenea, putem încerca să ne conectăm prin SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
parola gandalf @ mail: Se creează directorul '/ home / gandalf'. Programele incluse în sistemul Debian GNU / Linux sunt programe gratuite; termenii exacți de distribuție pentru fiecare program sunt descriși în fișierele individuale din / usr / share / doc / * / copyright. Debian GNU / Linux vine cu ABSOLUT FĂRĂ GARANȚIE, în măsura permisă de legea aplicabilă.
gandalf @ mail: ~ $ su
Parola:

root @ mail: / home / gandalf # getent group
buzz: x: 1001: utilizatori: *: 10000:

root @ mail: / home / gandalf # exit
ieşire

gandalf @ mail: ~ $ ls -l / home /
total 8 drwxr-xr-x 2 buzz buzz     4096 17 iunie 12:25 buzz drwx ------ 2 utilizatorii gandalf 4096 17 iun 13:05 gandalf

Serviciul Director implementat la nivel de server și client, funcționează corect.

Kerberos

Din Wikipedia:

  • Kerberos este un protocol de autentificare a rețelei de computer creat de MIT care permite două computere dintr-o rețea nesigură să-și dovedească în siguranță identitatea reciprocă. Designerii săi s-au concentrat mai întâi pe un model client-server și oferă autentificare reciprocă: atât clientul, cât și serverul verifică identitatea unul altuia. Mesajele de autentificare sunt protejate pentru a preveni ascultare y reluarea atacurilor.

    Kerberos se bazează pe criptografie cu cheie simetrică și necesită o terță parte de încredere. În plus, există extensii la protocol pentru a putea utiliza criptografia cu cheie asimetrică.

    Kerberos se bazează pe Protocolul Needham-Schroeder. Folosește o terță parte de încredere, numită „Key Distribution Center” (KDC), care constă din două părți logice separate: un „Server de autentificare” (AS sau Server de autentificare) și un «server emitent de bilete» (TGS sau Ticket Granting Server). Kerberos funcționează pe baza „biletelor”, care servesc la dovedirea identității utilizatorilor.

    Kerberos menține o bază de date cu chei secrete; Fiecare entitate din rețea - fie ea client sau server - partajează o cheie secretă cunoscută doar de ea însăși și de Kerberos. Cunoașterea acestei chei servește pentru a dovedi identitatea entității. Pentru o comunicare între două entități, Kerberos generează o cheie de sesiune, pe care o pot folosi pentru a-și asigura problemele.

Dezavantaje ale Kerberos

De Curățat:

Chiar dacă Kerberos elimină o amenințare comună la adresa securității, poate fi dificil de implementat din mai multe motive:

  • Migrarea parolelor utilizatorilor dintr-o bază de date standard de parole UNIX, cum ar fi / etc / passwd sau / etc / shadow, către o bază de date cu parole Kerberos, poate fi obositor și nu există un mecanism rapid pentru a îndeplini această sarcină.
  • Kerberos presupune că fiecare utilizator este de încredere, dar folosește o mașină de încredere într-o rețea de încredere. Obiectivul său principal este de a preveni transmiterea parolelor necriptate prin rețea. Cu toate acestea, dacă orice alt utilizator, în afară de utilizatorul corespunzător, are acces la automatul de bilete (KDC) pentru autentificare, Kerberos ar fi în pericol.
  • Pentru ca o aplicație să utilizeze Kerberos, codul trebuie modificat pentru a efectua apelurile corespunzătoare către bibliotecile Kerberos. Aplicațiile care sunt modificate în acest mod sunt considerate kerberizate. Pentru unele aplicații, acesta poate fi un efort excesiv de programare, datorită dimensiunii aplicației sau a designului acesteia. Pentru alte aplicații incompatibile, trebuie făcute modificări la modul în care serverul de rețea și clienții săi comunică; din nou, acest lucru poate dura destul de mult programarea. În general, aplicațiile sursă închise care nu acceptă Kerberos sunt de obicei cele mai problematice.
  • În cele din urmă, dacă decideți să utilizați Kerberos în rețeaua dvs., trebuie să vă dați seama că este o alegere totul sau nimic. Dacă decideți să utilizați Kerberos în rețeaua dvs., trebuie să vă amintiți că, dacă orice parolă este transmisă unui serviciu care nu folosește Kerberos pentru autentificare, riscați ca pachetul să poată fi interceptat. Astfel, rețeaua dvs. nu va obține niciun beneficiu din utilizarea Kerberos. Pentru a vă securiza rețeaua cu Kerberos, ar trebui să utilizați numai versiunile kerberizate ale tuturor aplicațiilor client / server care trimit parole necriptate sau să nu utilizați niciuna dintre aceste aplicații în rețea.

Implementarea manuală și configurarea OpenLDAP ca back-end Kerberos nu este o sarcină ușoară. Cu toate acestea, mai târziu vom vedea că Samba 4 Active Directory - Domain Controller se integrează într-un mod transparent pentru Sysadmin, un server DNS, rețeaua Microsoft și controlorul său de domeniu, server LDAP ca back-end pentru aproape toate obiectele sale, și serviciul de autentificare bazat pe Kerberos ca componente fundamentale ale unui Active Directory în stil Microsoft.

Până în prezent nu am avut nevoie să implementăm o „rețea kerberizată”. Acesta este motivul pentru care nu am scris despre cum să implementăm Kerberos.

Samba 4 Active Directory - Controler de domeniu

Important:

Nu există o documentație mai bună decât site-ul wiki.samba.org. Administratorul Sysad merită să fie vizitat pe site-ul respectiv - în limba engleză - și să parcurgă numărul mare de pagini dedicate în întregime lui Samba 4, scris de Team Samba însuși. Nu cred că există documentație disponibilă pe Internet pentru a o înlocui. Apropo, observați numărul de vizite reflectat în partea de jos a fiecărei pagini. Un exemplu în acest sens este că pagina dvs. principală sau «Pagina principală» a fost vizitată 276,183 de ore până astăzi 20 iunie 2017 la 10:10 ora standard estică. În plus, documentația este păstrată foarte actualizată, deoarece acea pagină a fost modificată pe 6 iunie.

Din Wikipedia:

Samba este o implementare gratuită a Protocolului de partajare a fișierelor Microsoft Windows (denumit anterior SMB, recent redenumit CIFS) pentru sistemele de tip UNIX. În acest fel, este posibil ca computerele cu GNU / Linux, Mac OS X sau Unix, în general, să arate ca servere sau să acționeze ca clienți în rețelele Windows. Samba permite, de asemenea, utilizatorilor să valideze ca controller de domeniu primar (PDC), ca membru de domeniu și chiar ca domeniu Active Directory pentru rețelele bazate pe Windows; în afară de posibilitatea de a servi cozi de imprimare, directoare partajate și autentifica cu propria arhivă de utilizatori.

Printre sistemele de tip Unix pe care poate fi rulat Samba se numără distribuțiile GNU / Linux, Solaris și diferitele variante BSD dintre că putem găsi serverul Apple Mac OS X.

Samba 4 AD-DC cu DNS-ul său intern

  • Începem de la o instalare curată - fără interfață grafică - a unui Debian 8 „Jessie”.

Verificări inițiale

root @ master: ~ # hostname
maestru
root @ master: ~ # hostname --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: ce: mtu 65536 qdisc noqueue state Necunoscut grup implicit link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scop gazdă lo valid_lft forever preferat_lft forever inet6 :: 1/128 scop gazdă valid_lft forever recommended_lft forever 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 scop global eth0
       valid_lft forever preferat_lft forever inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 link link valid_lft forever preferat_lft forever
root @ master: ~ # cat /etc/resolv.conf
căutare swl.fan nameserver 127.0.0.1
  • Cu care declarăm filiala principal numai că este mai mult decât suficient pentru scopurile noastre.
root @ master: ~ # cat /etc/apt/sources.list
debutantă http://192.168.10.1/repos/jessie-8.6/debian/ Jessie principal
debutantă http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / actualizări principal

Postfix de Exim și utilități

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

  ┌────────────────────────┤ Configurare Postfix ├──────────────────── ────┐ │ Alegeți tipul de configurație a serverului de e-mail care se potrivește cel mai bine nevoilor dvs. │ │. │ │ │ │ Nicio configurație: │ │ Păstrează intactă configurația curentă. │ │ Site internet: │ │ Poșta este trimisă și primită direct utilizând SMTP. │ │ Internet cu „smarthost”: │ │ Poșta este primită direct folosind SMTP sau rulând un instrument │ │ precum „fetchmail”. Mesajele trimise sunt trimise folosind │ │ un „smarthost”. │ │ Numai e-mail local: │ │ Singurul e-mail care este livrat este destinat utilizatorilor locali. Nu │ │ există o rețea. │ │ │ │ Tip generic de configurație de e-mail: │ │ │ │ Fără configurare │ │ Site internet │ │ Internet cu „smarthost” │ │ Sistem satelit │ │                         Numai poștă locală                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌──────────────────── ─────┤ Configurare postfix ├─────────────────────────┐ │ „Numele sistemului de poștă electronică” este numele domeniului care │ │ este folosit pentru a „califica” _ALL_ adrese de e-mail fără nume de domeniu. Aceasta include e-mail către și de la „rădăcină”: vă rugăm să nu faceți ca máquina mașina dvs. să trimită e-mailuri de la root@example.org la │ │ mai puțin de root@example.org a întrebat. │ │ │ │ Alte programe vor folosi acest nume. Trebuie să fie un nume de domeniu calificat │ │ unic (FQDN). │ │ │ │ Prin urmare, dacă o adresă de e-mail pe computerul local este is │ ceva@example.org, valoarea corectă pentru această opțiune va fi example.org. │ │ │ │ Nume sistem de poștă electronică: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ──────────────────────────────  

Curățăm

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

Instalăm cerințe pentru a compila Samba 4 și alte pachete necesare

root @ master: ~ # aptitude install acl attr autoconf bison \
build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-user 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-modules 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

 ┌───────────────┤ Configurarea autentificării Kerberos ├───────────────┐ │ Când utilizatorii încearcă să utilizeze Kerberos și specifică un nume │ │ principal sau utilizator fără a clarifica cărui domeniu administrativ Kerberos îi aparține principalul │ │, sistemul preia domeniul implicit │ │.  Tărâmul implicit poate fi utilizat și ca tărâmul │ │ al unui serviciu Kerberos care rulează pe mașina locală.  │ │ De obicei, domeniul implicit este numele cu majuscule al domeniului local DNS │ │.  │ │ │ │ Tărâmul implicit al versiunii 5 Kerberos: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Configurarea autentificării Kerberos ├───────────────┐ │ Introduceți numele serverelor Kerberos în domeniul SWL.FAN din │ │ Kerberos, separate prin spații.  │ │ │ │ Servere Kerberos pentru tărâmul dvs.: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Configurarea autentificării Kerberos ├───────────────┐ │ Introduceți numele serverului administrativ (schimbarea parolei) │ │ pentru domeniul Kerberos SWL.FAN.   

Procesul de mai sus a durat puțin, deoarece nu avem încă niciun serviciu DNS instalat. Cu toate acestea, ați ales corect domeniul prin setările fișierului / Etc / hosts. Amintiți-vă că în fișier /etc/resolv.conf am declarat ca server de nume de domeniu la IP 127.0.0.1.

Acum configurăm fișierul / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BAZĂ dc = swl, dc = URI ventilator ldap: //master.swl.fan

Pentru interogări care utilizează comanda ldapsearch realizate de la utilizatorul root sunt de tipul ldapsearch -x -W cn = xxxx, trebuie să creăm fișierul /root/.ldapsearch cu următorul conținut:

root @ master: ~ # nano .ldaprc
BINDDN CN = Administrator, CN = Utilizatori, DC = swl, DC = ventilator

Sistemul de fișiere trebuie să accepte ACL - Access Control List

root @ master: ~ # nano / etc / fstab
# / etc / fstab: informații statice despre sistemul de fișiere. # # Utilizați „blkid” pentru a imprima identificatorul unic universal pentru un # dispozitiv; acest lucru poate fi utilizat cu UUID = ca un mod mai robust de a numi dispozitivele # care funcționează chiar dacă discurile sunt adăugate și eliminate. Vezi fstab (5). # # # / was on / dev / sda1 în timpul instalării UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barriera = 1, noatime, errors = remount-ro 0 1
# swap a fost activat / dev / sda5 în timpul instalării UUID = cb73228a-615d-4804-9877-3ec225e3ae32 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, 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 = "test"

root @ master: ~ # getfattr -n security.test -d testing_acl.txt
# file: 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 other :: r--

Obținem sursa Samba 4, o compilăm și o instalăm

Este foarte recomandat să descărcați fișierul sursă al versiunii Stabil de pe site https://www.samba.org/. În exemplul nostru descărcăm versiunea samba-4.5.1.tar.gz spre dosar / opt.

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 /

Opțiuni de configurare

Dacă dorim să personalizăm opțiunile de configurare, executăm:

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

și cu mare grijă selectați-le pe cele de care avem nevoie. Este recomandabil să verificați dacă pachetul descărcat poate fi instalat pe distribuția Linux pe care o folosim, care în cazul nostru este Debian 8.6 Jessie:

root @ master: /opt/samba-4.5.1# . / Configurare discheck

Configurăm, compilăm și instalăm samba-4.5.1

  • Din cerințele instalate anterior și din fișierele 8604 (care alcătuiesc compact samba-4.5.1.tar.gz) care cântăresc aproximativ 101.7 megabytes -inclusiv folderele source3 și source4 care cântăresc aproximativ 61.1 megabytes- vom obține un substitut pentru un Active Directory în stil Microsoft, de o calitate și stabilitate mai mult decât acceptabile pentru orice mediu de producție. Trebuie să evidențiem munca Team Samba în furnizarea software-ului gratuit Samba 4.

Comenzile de mai jos sunt cele clasice pentru compilarea și instalarea pachetelor din sursele lor. Trebuie să avem răbdare cât durează întregul proces. Este singura modalitate de a obține rezultate valide și corecte.

root @ master: /opt/samba-4.5.1# ./configure --with-systemd - cupe dezactivate
root @ master: /opt/samba-4.5.1# face
root @ master: /opt/samba-4.5.1# make install

În timpul procesului de comandă face, putem vedea că sunt compilate sursele Samba 3 și Samba 4. De aceea, Team Samba afirmă că versiunea sa 4 este actualizarea naturală a versiunii 3, atât pentru controlere de domeniu bazate pe Samba 3 + OpenLDAP, cât și servere de fișiere sau versiuni mai vechi de Samba 4.

Provizionarea Samba

Vom folosi ca DNS fișierul SAMBA_INTERNAL. În https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End vom găsi mai multe informații. Când ne solicită parola utilizatorului Administrator, trebuie să tastăm una cu o lungime minimă de 8 caractere și, de asemenea, cu litere - majuscule și minuscule - și cifre.

Înainte de a continua cu aprovizionarea și pentru a face viața mai ușoară, adăugăm cale din executabilele Samba din fișierul nostru .bashrc, Apoi închidem și ne conectăm din nou.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: executat de bash (1) pentru shell-uri non-login. # Notă: PS1 și umask sunt deja setate în / etc / profile. # Nu ar trebui să aveți nevoie de acest lucru decât dacă doriți diferite valori implicite pentru root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Puteți descomenta următoarele rânduri dacă doriți ca „ls” să fie colorat: # export LS_OPTIONS = '- color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Câteva alias-uri pentru a evita greșelile : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
declara -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # exit logout Conexiune la master închisă. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-tool domain provision --use-rfc2307 --interactive
Tărâm [SWL.FAN]: SWL.FAN
 Domeniu [SWL]: SWL
 Rolul serverului (dc, membru, independent) [dc]: dc
 Backend DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 Adresa IP a expeditorului DNS (scrieți „none” pentru a dezactiva redirecționarea) [192.168.10.5]: 8.8.8.8
Parola de administrator: Parola ta2017
Rescrie parola: Parola ta2017
Căutarea adreselor IPv4 Căutarea adreselor IPv6 Nu va fi atribuită nicio adresă IPv6 Configurarea share.ldb Configurarea secretelor.ldb Configurarea registrului Configurarea bazei de date privilegii Configurarea idmap db Configurarea SAM db Configurarea partițiilor și setărilor sam.ldb Setarea sus sam.ldb rootDSE Preîncărcarea schemei Samba 4 și AD Adăugarea domeniului DN: DC = swl, DC = ventilator Adăugarea containerului de configurare Configurarea schemei sam.ldb Configurarea datelor de configurare sam.ldb Configurarea specificatorilor de afișare Modificarea specificatorilor de afișare Adăugarea containerului utilizator Modificarea containerului utilizatorilor Adăugarea containerului computerelor Modificarea containerului computerelor Configurarea datelor sam.ldb Configurarea principalelor de securitate bine cunoscute Configurarea utilizatorilor și grupurilor sam.ldb Configurarea auto-îmbinare Adăugarea conturilor DNS Crearea CN = MicrosoftDNS, CN = System, DC = swl, DC = fan Crearea partițiilor DomainDnsZones și ForestDnsZones Popularea partițiilor DomainDnsZones și ForestDnsZones Configurarea marcajului sam.ldb rootDSE ca sincronizat Fixarea GUID-urilor de furnizareO configurație Kerberos potrivită pentru Samba 4 a fost generată la /usr/local/samba/private/krb5.conf Configurarea setărilor false ale serverului yp Odată ce fișierele de mai sus sunt instalate, serverul dvs. Samba4 va fi gata să utilizeze Rolul serverului: domeniul director activ controller Nume gazdă: master NetBIOS Domeniu: SWL DNS Domeniu: swl.fan DOMENIUL SID: S-1-5-21-32182636-2892912266-1582980556

Să nu uităm să copiem fișierul de configurare Kerberos așa cum este indicat de ieșirea din provizionare:

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

Pentru a nu tasta comanda instrument samba cu numele dvs. complet, creăm o legătură simbolică cu numele scurt instrument:

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

Instalăm NTP

O piesă fundamentală într-un Active Directory este Network Time Service. Deoarece autentificarea se realizează prin Kerberos și biletele sale, sincronizarea timpului cu Samba 4 AD-DC este vitală.

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 statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegenstats file clockstats clock type day enable server 192.168.10.1 restriction -4 implicit kod notrap nomodify nopeer noquery restriction -6 default kod notrap nomodify nopeer noquery restriction default mssntp restriction 127.0.0.1 restriction :: 1 broadcast 192.168.10.255

root @ master: repornirea ~ # service ntp
root @ master: ~ # service ntp status

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

Dacă la examinarea syslog folosind comanda de mai sus sau folosind journalctl -f primim mesajul:

19 iunie 12:13:21 master ntpd_intres [1498]: părintele a murit înainte să terminăm, ieșind

trebuie să repornim serviciul și să încercăm din nou. Acum creăm folderul ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd nu poate fi accesat: fișierul sau directorul nu există

root @ master: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
root @ master: ~ # root chown: 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 /

# După cum sa solicitat pe samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19 iunie 12:21 / usr / local / samba / var / lib / ntp_signd

Configurăm Samba începe folosind systemd

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

root @ master: ~ # systemctl activate samba-ad-dc
root @ master: ~ # reboot

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

Samba 4 locații de fișiere AD-DC

TOATE -minus nou-creat samba-ad-dc.service- fișierele sunt în:

root @ master: ~ # ls -l / usr / local / samba /
total 32 drwxr-sr-x 2 root staff 4096 19 iun 11:55 bin
drwxr-sr-x 2 root staff 4096 19 iunie 11:50 etc
drwxr-sr-x 7 root staff 4096 19 iunie 11:30 include
drwxr-sr-x 15 baston rădăcină 4096 19 iunie 11:33 lib
drwxr-sr-x 7 root staff 4096 19 iunie 12:40 privat
drwxr-sr-x 2 root staff 4096 19 iunie 11:33 sbin
drwxr-sr-x 5 root staff 4096 19 iunie 11:33 acțiune
drwxr-sr-x 8 root staff 4096 19 iunie 12:28 a fost

în cel mai bun stil UNIX. Este întotdeauna recomandabil să parcurgeți diferitele foldere și să examinați conținutul acestora.

/Usr/local/samba/etc/smb.conf fișier

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Parametri globali [global] netbios name = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , rol server DNS = controler de domeniu director activ permite actualizări DNS = numai securizat idmap_ldb: utilizați rfc2307 = da config idmap *: backend = tdb config idmap *: interval = 1000000-1999999 server ldap necesită autentificare puternică = nu nume printcap = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts only read = Nu [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Nu

root @ master: ~ # testparm
Încărcați fișierele de configurare smb din /usr/local/samba/etc/smb.conf Secțiunea de procesare "[netlogon]" Secțiunea de procesare "[sysvol]" Fișierul de servicii încărcate OK. Rolul serverului: ROLE_ACTIVE_DIRECTORY_DC Apăsați Enter pentru a vedea o descărcare a definițiilor serviciului dvs. # Parametri globali [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 server ldap necesită autentificare puternică = Fără backd passdb = rol server samba_dsdb = director activ controler de domeniu rpc_server: tcpip = nu rpc_daemon: spoolssd = încorporat rpc_server: spoolss = încorporat rpc_server: winreg = încorporat rpc_server: ntsvcs = încorporat rpc_server: eventlog = încorporat rpc_server: srvsvc_server_cserver conducte externe = config idmap adevărat *: interval = 1000000-1999999 idmap_ldb: utilizați rfc2307 = da config idmap *: backend = tdb map archive = Fără citire hartă numai = nu stocați atributele = Da obiecte vfs = dfs_samba4 acl_xattr [netlogon] cale = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read only = Nu [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Nu

Verificări minime

rădăcină @ master: ~ # show-ul la nivel de domeniu al instrumentului
Nivelul funcției domeniului și pădurii pentru domeniul 'DC = swl, DC = ventilator' Nivelul funcției pădurii: (Windows) 2008 R2 Nivelul funcției domeniului: (Windows) 2008 R2 Cel mai mic nivel al funcției unui DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # tool dbcheck
Verificarea a 262 de obiecte Verificarea a 262 de obiecte (0 erori)

root @ master: ~ # kinit Administrator
Parola pentru Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Memoria cache a biletelor: FIȘIER: / tmp / krb5cc_0
Implicit principal: Administrator@SWL.FAN

Pornire valabilă Expiră la serviciu principal 19 06:17:12 53 24:19:06  krbtgt/SWL.FAN@SWL.FAN
    reînnoiește până la 20 06:17:12, Steaguri: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Fișierul cache de acreditări '/ tmp / krb5cc_0' nu a fost găsit

root @ master: ~ # smbclient -L localhost -U%
Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Serviciu (Samba 4.5.1) Domeniu = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Comentariu server --------- ------- Master grup de lucru ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Introduceți parola administratorului: Domeniu = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Luni 19 Iun 11:50:52 2017 .. D 0 Luni 19 Iun 11:51:07 2017 19091584 blocuri de mărime 1024. 16198044 blocuri disponibile

root @ master: ~ # tool dns serverinfo master -U administrator

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan are înregistrare SRV 0 100 389 master.swl.fan.

root @ master: ~ # host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan are înregistrare SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t A master.swl.fan
master.swl.fan are adresa 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan are înregistrare SOA master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # host -t NS swl.fan
server de nume swl.fan master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan nu are înregistrare MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # lista de utilizatori a instrumentului
Administrator krbtgt Guest

root @ master: ~ # listă de grupuri de instrumente
# Ieșirea este o grămadă de grupuri. ;-)

Gestionăm Samba 4 AD-DC nou instalat

Dacă dorim să modificăm expirarea în câteva zile a parolei de administrator; complexitatea parolelor; lungimea minimă a parolei; durata minimă și maximă - în zile - a parolei; și modificați parola de administrator declarată în timpul provizionare, trebuie să executăm următoarele comenzi cu valori ajustate nevoilor dumneavoastră:

root @ master: ~ # instrument
Utilizare: instrument samba Principalul instrument de administrare a samba. Opțiuni: -h, --help afișează acest mesaj de ajutor și părăsește Opțiuni versiune: -V, --versiune Afișează numărul versiunii Subcomandele disponibile: dbcheck - Verifică baza de date AD locală pentru erori. delegare - Managementul delegației. dns - Managementul serviciului de nume de domeniu (DNS). domeniu - Gestionarea domeniului. drs - Managementul serviciilor de replicare a directorilor (DRS). dsacl - manipulare DS ACL. fsmo - Managementul rolurilor flexibile ale operațiunilor unice master (FSMO). gpo - Managementul obiectului politicii de grup (GPO). grup - Managementul grupului. ldapcmp - Comparați două baze de date ldap. ntacl - NT ACL manipulare. procese - Lista proceselor (pentru a facilita depanarea pe sisteme fără setproctitle). rodc - Gestionare RODC (Reader Only Domain Controller). site-uri - Managementul site-urilor. spn - Managementul Numelui Principalului Serviciului (SPN). testparm - Sintaxă verifică fișierul de configurare. time - Preluarea timpului pe un server. utilizator - Gestionarea utilizatorilor. Pentru mai mult ajutor cu privire la o anumită subcomandă, tastați: samba-tool (-h | --help)

root @ master: ~ # instrument tool administrator setexpiry --noexpiry
root @ master: ~ # set de parole pentru setarea parolelor --min-pwd-length = 7
root @ master: ~ # set de setări de parolă domeniu instrument --min-pwd-age = 0
root @ master: ~ # set de setări de parole pentru domeniul instrumentului --max-pwd-age = 60
root @ master: ~ # user tool setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Adăugăm mai multe înregistrări DNS

root @ master: ~ # tool dns
Utilizare: samba-tool dns Gestionarea serviciului de nume de domeniu (DNS). Opțiuni: -h, --help afișează acest mesaj de ajutor și ieșiți din Subcomandele disponibile: adăugare - Adăugare ștergere înregistrare DNS - Ștergere interogare înregistrare DNS - Interogare nume. roothints - Interogări de sugestii pentru rădăcină. serverinfo - Interogare pentru informații despre server. update - Actualizați o înregistrare DNS zonecreate - Creați o zonă. zonedelete - Ștergeți o zonă. zoneinfo - Interogare pentru informații despre zonă. zonelist - Interogare pentru zone. Pentru mai mult ajutor cu privire la o anumită subcomandă, tastați: samba-tool dns (-h | --help)

Server de mail

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

S-a remediat IP-ul altor servere

root @ master: ~ # tool dns add master swl.fan sysadmin A 192.168.10.1 -U administrator
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U administrator
root @ master: ~ # tool dns add master swl.fan proxy A 192.168.10.11 -U administrator
root @ master: ~ # tool dns add master swl.fan chat A 192.168.10.12 -U administrator

Zona inversă

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administrator
Parola pentru [SWL \ administrator]: Zona 10.168.192.in-addr.arpa creată cu succes

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

Verificări

root @ master: ~ # tool dns query master swl.fan mail ALL -U administrator
Parola pentru [SWL \ administrator]: Nume =, Înregistrări = 1, Copii = 0 A: 192.168.10.9 (semnalizatoare = f0, serial = 2, ttl = 900)

root @ master: ~ # master host
master.swl.fan are adresa 192.168.10.5
root @ master: ~ # host sysadmin
sysadmin.swl.fan are adresa 192.168.10.1
root @ master: ~ # mail gazdă
mail.swl.fan are adresa 192.168.10.9
root @ master: ~ # chat gazdă
chat.swl.fan are adresa 192.168.10.12
root @ master: ~ # gazdă proxy
proxy.swl.fan are adresa 192.168.10.11
root @ master: ~ # server de fișiere gazdă
fileserver.swl.fan are adresa 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa pointer nume domeniu sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa pointer nume domeniu master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa pointer nume domeniu mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa pointer nume de domeniu fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa pointer nume domeniu proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa pointer nume domeniu chat.swl.fan.

Pentru curioși

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

Adăugăm utilizatori

root @ master: ~ # utilizator instrument
Utilizare: utilizator samba-tool Gestionarea utilizatorilor. Opțiuni: -h, --help afișează acest mesaj de ajutor și ieșiți din Subcomandele disponibile: adăugați - Creați un utilizator nou. create - Creați un utilizator nou. șterge - Șterge un utilizator. disable - Dezactivează un utilizator. enable - Activați un utilizator. getpassword - Obțineți câmpurile de parolă ale unui cont de utilizator / computer. list - Listează toți utilizatorii. parolă - Schimbați parola pentru un cont de utilizator (cel furnizat în autentificare). setexpiry - Setați expirarea unui cont de utilizator. setpassword - Setați sau resetați parola unui cont de utilizator. parole de sincronizare - Sincronizați parola conturilor de utilizator. Pentru mai mult ajutor cu privire la o anumită subcomandă, vă rugăm să tastați: samba-tool user (-h | --help)

root @ master: ~ # instrument instrument creează trancos Trancos01
Utilizatorul „trancos” a fost creat cu succes
root @ master: ~ # user tool create gandalf Gandalf01
Utilizatorul „gandalf” a fost creat cu succes
root @ master: ~ # instrumentul utilizatorului creează legolas Legolas01
Utilizatorul „legolas” a fost creat cu succes
root @ master: ~ # lista de utilizatori a instrumentului
Administrator gandalf legolas pași krbtgt Guest

Administrare prin interfață grafică sau prin client web

Accesați wiki.samba.org pentru informații detaliate despre cum să instalați Microsoft RSAT o Instrumente de administrare a serverului la distanță. Dacă nu aveți nevoie de politicile clasice oferite de Microsoft Active Directory, puteți instala pachetul ldap-manager-cont care oferă o interfață simplă pentru administrare printr-un browser web.

Suita de programe Microsoft Remote Server Administration Tools (RSAT) este inclusă în sistemele de operare Windows Server.

Ne alăturăm domeniului la un client Windows 7 numit „șapte”

Deoarece nu avem un server DHCP în rețea, primul lucru pe care trebuie să-l facem este să configurăm placa de rețea a clientului cu un IP fix, să declarăm că DNS-ul principal va fi IP-ul samba-ad-dc, și verificați dacă opțiunea „Înregistrați adresa acestei conexiuni în DNS” este activată. Nu este inactiv să verificați dacă numele «Șapte»Nu este încă înregistrat în DNS-ul intern Samba.

După ce ne alăturăm computerului la domeniu și îl repornim, să încercăm să ne conectăm cu utilizatorul «pași«. Vom verifica dacă totul funcționează OK. De asemenea, se recomandă verificarea jurnalelor Windows Client și verificarea modului în care ora este sincronizată corect.

Administratorii cu o anumită experiență Windows vor descoperi că orice verificări pe care le fac clientului vor produce rezultate satisfăcătoare.

Rezumat

Sper că articolul este util cititorilor comunității. DesdeLinux.

La revedere!


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Gonzalo martinez el a spus

    Articol lung, dar detaliat, pas cu pas foarte bun despre cum să faci totul.

    Subliniez NIS, adevărul este că, deși știu despre existența sa, nu am știut niciodată cu adevărat cum funcționează, deoarece, pentru a fi sincer, mi-a dat întotdeauna impresia că a fost practic moartă lângă LDAP și Samba 4.

    PS: Felicitări pentru noul dvs. proiect personal! Păcat că nu vei continua să scrii aici, dar măcar există un loc unde să te urmezi.

  2.   HO2Gi el a spus

    Tutorial imens ca întotdeauna la preferatele mele, Salutări Fico.
    Felicitări pentru proiect.

  3.   IWO el a spus

    Secțiunea NIS este grozavă, îl simpatizez pe Gonzalo Martinez, o știam pe scurt, dar nu aveam idee cum să o implementez și în ce situații este utilizată.
    Vă mulțumesc o dată pentru un „portbagaj” extraordinar de articol teoretic și practic.
    În cele din urmă, noi succese în noul dvs. proiect „gigainside”.

  4.   Federico el a spus

    Multumesc mult tuturor pentru comentarii !!!.
    În ceea ce priveşte

  5.   mussol el a spus

    smb.conf pe care îl afișați nu are nicio legătură cu LDAP, este așa intenționat sau am lăsat ceva?

  6.   Fico el a spus

    mussol: Acesta este un controler de domeniu Samba 4 Active Directory care are deja serverul LDAP încorporat.

  7.   Vincent el a spus

    Ați putea să comentați cum să uniți un Mac (Apple) la un Samba 4 AD-DC?
    Mulţumesc.

  8.   jramirez el a spus

    Ce mai faci;

    Mulțumesc pentru manual, este minunat. Am o întrebare despre un mesaj care mi se pare.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Nu s-a rezolvat numele de gazdă / IP-ul dat: ad.rjsolucionessac.com. Rețineți că nu puteți utiliza intervalele IP de stil „/ mask” ȘI „1-4,7,100-”
    Nu se poate găsi o țintă validă. Vă rugăm să vă asigurați că gazdele specificate sunt fie adrese IP în notație standard, fie nume de gazdă care pot fi rezolvate cu DNS
    root @ AD: ~ #