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.
- Autentificare Squid + PAM pe CentOS 7.
- Administrarea locală a utilizatorilor și a grupului
- Server DNS autorizat NSD + Shorewall
- Prosody IM și utilizatorii locali
- Postfix + Dovecot + Squirrelmail și utilizatorii locali
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:
- LDAP personalizat de Microsoft și Samba.
- Domeniul Microsoft Windows o Domeniul Windows. Este practic rețeaua Microsoft.
- Microsoft Domain Controller o Controler de domeniu.
- Kerberos personalizat atât de Microsoft, cât și de Samba.
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!
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.
Tutorial imens ca întotdeauna la preferatele mele, Salutări Fico.
Felicitări pentru proiect.
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”.
Multumesc mult tuturor pentru comentarii !!!.
În ceea ce priveşte
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?
mussol: Acesta este un controler de domeniu Samba 4 Active Directory care are deja serverul LDAP încorporat.
Ați putea să comentați cum să uniți un Mac (Apple) la un Samba 4 AD-DC?
Mulţumesc.
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: ~ #