PAM, NIS, LDAP, „Kerberos“, DS ir „Samba 4 AD-DC“ - SMB tinklai

Bendras serijos indeksas: Kompiuteriniai tinklai MVĮ: įvadas

Sveiki draugai ir draugai!

Šiuo straipsniu atsisveikinu su Bendruomene DesdeLinux. Ypatingas atsisveikinimas su ypatinga bendruomene. Nuo šiol aš dalyvausiu savo asmeniniame projekte, kurį galite pamatyti adresu http://www.gigainside.com.

Pagrindinis posto tikslas yra pasiūlyti «Didelė nuotrauka»Apie mūsų turimas autentifikavimo paslaugas naudojant nemokamą programinę įrangą. Bent jau tai yra mūsų ketinimas. Todėl tai bus ilga, nepaisant to, kad žinome, kad tai prieštarauja bendrosioms straipsnių rašymo taisyklėms. Tikimės, kad sistemos administratoriai tai įvertins.

Norime pažymėti, kad daugelio šiuolaikinių autentifikavimo sistemų bendrasis protokolas yra LDAPir kad nėra dykos atidžiai ją išstudijuoti iš tyrimo medžiagos, kurią rasime oficialioje svetainėje http://www.openldap.org/.

Mes nepateiksime išsamių apibrėžimų ar nuorodų apie aspektus, nagrinėtus ankstesniuose straipsniuose, arba apie tuos, kurių aprašymas gali būti lengvai pasiekiamas Vikipedijoje ar kitose interneto svetainėse ar straipsniuose, kad neprarastume norimo pranešimo objektyvumo. duoti. Mes taip pat naudosime galiojantį vardų derinį anglų ir ispanų kalbomis, nes manome, kad dauguma sistemų gimė su pavadinimais anglų kalba, o „Sysadmin“ yra labai naudinga juos įsisavinti originalo kalba.

  • PAM: Prijungiamas autentifikavimo modulis.
  • NNV: Tinklo_informacijos_paslauga.
  • LDAP: lengvas katalogų prieigos protokolas.
  • Kerberos: Saugos protokolas, skirtas vartotojams, kompiuteriams ir paslaugoms autentifikuoti centralizuotai tinkle, tikrinant jų kredencialus pagal esamus „Kerberos“ duomenų bazės įrašus.
  • DS: Katalogų serveris arba Katalogų tarnyba
  • AD–DC: „Active Directory“ - domeno valdiklis

PAM

Šiam lokalaus autentifikavimo tipui skiriame nedidelę seriją, kurią kasdien pastebėsite, kad ji yra plačiai naudojama, kai, pavyzdžiui, prisijungiame prie darbo vietos prie domeno valdiklio ar „Active Directory“; atvaizduoti vartotojus, saugomus išorinėse LDAP duomenų bazėse, tarsi jie būtų vietiniai vartotojai; susieti vartotojus, saugomus „Active Directory“ domeno valdiklyje, tarsi jie būtų vietiniai vartotojai ir pan.

NNV

De ':

  • Tinklo informacinė sistema (žinoma sutrumpinimu NIS, o tai ispanų kalba reiškia tinklo informacinę sistemą) yra „Sun Microsystems“ sukurto kliento ir serverio katalogų paslaugų protokolo pavadinimas, skirtas konfigūracijos duomenims siųsti paskirstytose sistemose, pavyzdžiui, vartotojų ir kompiuterių vardai tarp kompiuterių tinkle.NIS remiasi ONC RPC ir susideda iš serverio, kliento bibliotekos ir įvairių administravimo įrankių.

    Iš pradžių NIS buvo vadinamas geltonaisiais puslapiais arba YP, kuris vis dar naudojamas jam nurodyti. Deja, šis vardas yra „British Telecom“ prekės ženklas, dėl kurio „Sun“ turėjo numesti šį vardą. Tačiau YP išlieka priešdėlis daugumos su NIS susijusių komandų, tokių kaip ypserv ir ypbind, pavadinimuose.

    DNS teikia ribotą informacijos diapazoną, svarbiausia - atitikimas tarp mazgo pavadinimo ir IP adreso. Kitos rūšies informacijai tokios specializuotos paslaugos nėra. Kita vertus, jei valdote tik mažą LAN be interneto ryšio, neatrodo verta nustatyti DNS. Štai kodėl „Sun“ sukūrė tinklo informacinę sistemą (NIS). NIS teikia bendras prieigos prie duomenų bazės galimybes, kurios gali būti naudojamos paskirstant, pavyzdžiui, informaciją, esančią „passwd“, ir grupuojant failus į visus jūsų tinklo mazgus. Dėl to tinklas atrodo kaip viena sistema, kurioje visuose mazguose yra tos pačios paskyros. Panašiai, NIS gali būti naudojama paskirstant mazgų pavadinimų informaciją, esančią / etc / hosts, visoms tinklo mašinoms.

    Šiandien NIS yra praktiškai visuose „Unix“ paskirstymuose ir yra net nemokamų diegimų. „BSD Net-2“ paskelbė tokį, kuris buvo gautas iš „Sun“ dovanotos viešosios nuorodos įgyvendinimo. Šios versijos kliento dalies bibliotekos kodas jau seniai egzistuoja GNU / Linux libc, o administravimo programas į GNU / Linux perkėlė Swen Thümmler. Tačiau įgyvendinant nuorodą trūksta NIS serverio.

    Peteris Erikssonas sukūrė naują diegimą, pavadintą NYS. Jis palaiko tiek pagrindinę NIS, tiek patobulintą „Sun NIS +“ versiją. [1] NYS suteikia ne tik daugybę NIS įrankių ir serverį, bet ir prideda visiškai naują bibliotekos funkcijų rinkinį, kurį turite sukompiliuoti į savo libc, jei norite jais naudotis. Tai apima naują mazgo pavadinimo skiriamosios gebos konfigūravimo schemą, kuri pakeis dabartinę schemą, kurią naudoja failas „host.conf“.

    GNU libc, GNU / Linux bendruomenėje žinomas kaip libc6, apima atnaujintą tradicinės NIS palaikymo versiją, kurią sukūrė Thorstenas Kukukas. Jis palaiko visas bibliotekos funkcijas, kurias teikia NYS, taip pat naudoja išplėstinę NYS konfigūravimo schemą. Įrankiai ir serveris vis dar reikalingi, tačiau naudojant GNU libc sutaupoma bibliotekos lopymo ir kompiliavimo problemų

    .

Kompiuterio ir domeno vardas, tinklo sąsaja ir sprendėjas

  • Mes pradedame nuo švaraus Debian 8 „Jessie“ diegimo - be grafinės sąsajos.. Domenas swl.fan reiškia „Laisvos programinės įrangos gerbėjai“. Koks geresnis vardas už šį?.
root @ master: ~ # pagrindinio kompiuterio vardas
meistras
root @ master: ~ # pagrindinio kompiuterio vardas -f
meistras.suk.fanas

root @ master: ~ # ip addr 1: lo: „mtu 65536 qdisc noqueue state“ Nežinoma grupės numatytoji nuoroda / atgalinis ryšys 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 taikymo sritis pagrindinė kompiuterio svetainė 6/1 apimties priegloba valid_lft forever prefer_lft forever 128: eth2: „mtu 0 qdisc pfifo_fast“ būsena UP grupės numatytasis „qlen 1500“ ryšys / eteris 1000: 00c: 0: 29c: 4: d76 brd ff: ff: ff: ff: ff: ff inet 9/192.168.10.5 brd 24 taikymo sritis „global eth192.168.10.255 valid_lft“ visiems laikams prefer_lft amžinai inet0 fe6 :: 80c: 20ff: fe29c: 4d76 / 9 taikymo srities nuoroda valid_lft forever prefer_lft forever

root @ master: ~ # cat /etc/resolv.conf 
ieškoti swl.fan vardų serveris 127.0.0.1

„Bind9“, „isc-dhcp-server“ ir „ntp“ diegimas

surišti9

root @ master: ~ # aptitude įdiegti bind9 privalomas9-doc nmap
root @ master: ~ # systemctl būsenos surišimas9

root @ master: ~ # nano /etc/bind/named.conf
įtraukti „/etc/bind/named.conf.options“; įtraukti „/etc/bind/named.conf.local“; įtraukti „/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
parinktys {katalogas "/ var / cache / bind"; // Jei tarp jūsų ir vardų serverių, su kuriais norite // kalbėtis, yra užkarda, gali tekti pataisyti užkardą, kad būtų galima kalbėti keliems // prievadams. Pamatyti http://www.kb.cert.org/vuls/id/800113

        // Jei jūsų IPT pateikė vieną ar daugiau IP adresų stabiliems // vardų serveriams, tikriausiai norite juos naudoti kaip ekspeditorius. // Nepakomentuokite šio bloko ir įterpkite adresus, pakeisdami // all-0 vietos rezervavimo ženklą. // ekspeditoriai {// 0.0.0.0; //}; // ================================================= = ==================== $ // Jei „BIND“ užregistruos klaidos pranešimus apie pagrindinio rakto galiojimo pabaigą, // turėsite atnaujinti raktus. Pamatyti https://www.isc.org/bind-keys
        // ================================================= = ==================== $ // Mes nenorime DNSSEC
        dnssec-enable ne;
        // dnssec-validation auto; auth-nxdomain Nr; # atitinka RFC1035 klausytis-v6 {bet koks; }; // „localhost“ ir „sysadmin“ patikrinimams // per dig swl.fan axfr // Mes neturime „Slave DNS“ ... iki šiol
        leisti-perkelti {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Bendra adresų erdvė (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 (RFC 3927, 5735 ir 6303)
zona "254.169.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// IETF protokolo priskyrimai (RFC 5735 ir 5736)
zona "0.0.192.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// TEST-NET- [1-3] dokumentacijai (RFCs 5735, 5737 ir 6303)
zona "2.0.192.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "100.51.198.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "113.0.203.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// IPv6 dokumentacijos pavyzdžių diapazonas (RFC 3849 ir ​​6303)
zona "8.bd0.1.0.0.2.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// Domenų vardai dokumentacijai ir testavimui (BCP 32)
zonos "testas" {tipo meistras; failas "/etc/bind/db.empty"; }; zonos "pavyzdys" {tipo meistras; failas "/etc/bind/db.empty"; }; zone "invalid" {type master; failas "/etc/bind/db.empty"; }; zona „pavyzdys.com“ {tipo meistras; failas "/etc/bind/db.empty"; }; zona "pavyzdys.net" {tipo meistras; failas "/etc/bind/db.empty"; }; zone "example.org" {type master; failas "/etc/bind/db.empty"; };

// Maršrutizatoriaus etalono testavimas (RFC 2544 ir 5735)
zona "18.198.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "19.198.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// IANA rezervuota - senoji E klasės erdvė (RFC 5735)
zona "240.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "241.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "242.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "243.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "244.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "245.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "246.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "247.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "248.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "249.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "250.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "251.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "252.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "253.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "254.in-addr.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// nepriskirti „IPv6“ adresai (RFC 4291)
zona "1.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "3.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "4.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "5.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "6.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "7.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "8.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "9.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "a.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "b.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "c.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "d.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "e.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "0.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "1.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "2.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "3.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "4.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "5.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "6.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "7.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "8.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "9.f.ip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "afip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "bfip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "0.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "1.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "2.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "3.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "4.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "5.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "6.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "7.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 ir 6303)
zona "cfip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "dfip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// „IPv6 Link Local“ (RFC 4291 ir 6303)
zona "8.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "9.efip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "aefip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "befip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// „IPv6“ nebenaudojami vietiniai vietiniai adresai (RFC 3879 ir 6303)
zona "cefip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "defip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "eefip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; }; zona "fefip6.arpa" {tipo meistras; failas "/etc/bind/db.empty"; };

// IP6.INT nebenaudojamas (RFC 4159)
zona "ip6.int" {type master; failas "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Čia atlikite bet kokią vietinę konfigūraciją // // Apsvarstykite galimybę čia pridėti 1918 m. Zonas, jei jos nenaudojamos jūsų // organizacijoje, įtraukite „/etc/bind/zones.rfc1918“;
įtraukti „/etc/bind/zones.rfcFreeBSD“;

// DNS įrašų zonų pavadinimo, tipo, vietos ir atnaujinimo leidimo // deklaravimas // Abi zonos yra MASTER zonos „swl.fan“ {tipo šablonas; failas "/var/lib/bind/db.swl.fan"; }; zona "10.168.192.in-addr.arpa" {tipo meistras; byla "/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. šaknis.master.swl.fan. (1; serijinis 1D; atnaujinkite 1H; bandykite dar kartą 1W; galiojimo laikas baigsis 3H); mažiausiai arba; Neigiamas talpyklos laikas gyventi; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT „Laisvos programinės įrangos gerbėjams“; sysadmin IN A 192.168.10.1 failų serveris A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN 192.168.10.6 tinklaraštis IN A 192.168.10.7 ftpserver IN A 192.168.10.8 paštas 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. šaknis.master.swl.fan. (1; serijinis 1D; atnaujinkite 1H; bandykite dar kartą 1W; galiojimo laikas baigsis 3H); mažiausiai arba; Neigiamas talpyklos laikas gyventi; @ IN NS master.swl.fan. ; 1 IN PTR sysadmin.swl.fan. 4 IN PTR failų serveris.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 IN PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zona swl.fan/IN: pakrautas 1 serija Gerai
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: pakrautas 1 serija Gerai

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl paleiskite iš naujo bind9.service
root @ master: ~ # systemctl būsena bind9.service

Bind9 čekiai

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 pagrindinio kompiuterio 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
Pradėti Nping 0.6.47 ( http://nmap.org/nping ) 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Maks. Rtt: N / A | Min. Rtt: Nėra | Vid. Rtt: Netaikyti žaliaviniai paketai: 84 (0B) | Rcvd: 0 (3B) | Prarasta: 100.00 (1%) „Nping“ atliktas: 3.01 IP adresas per pingavo per XNUMX sekundės 

isc-dhcp-serveris

root @ master: ~ # aptitude įdiegti isc-dhcp-serverį
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Kokiose sąsajose DHCP serveris (dhcpd) turėtų teikti DHCP užklausas? # Atskirkite kelias sąsajas su tarpais, pvz., „Eth0 eth1“.
SĄSAJOS = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n VARTOTOJAS dhcp-key
root @ master: ~ # cat Kdhcp-key. +157 + 51777. privatus 
Privataus rakto formatas: v1.3 algoritmas: 157 (HMAC_MD5) Raktas: Ba9GVadq4vOCixjPN94dCQ == Bitai: AAA = Sukurta: 20170527133656 Paskelbti: 20170527133656 Suaktyvinti: 20170527133656

root @ master: ~ # nano dhcp.key
raktas dhcp-raktas {
        algoritmas hmac-md5;
        slapta “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 šaknis @ master: ~ # nano /etc/bind/named.conf.local
įtraukti „/etc/bind/dhcp.key“;

zona "swl.fan" {tipo meistras; failas "/var/lib/bind/db.swl.fan";
        leisti atnaujinti {raktas dhcp-raktas; };
}; zona "10.168.192.in-addr.arpa" {tipo meistras; byla "/var/lib/bind/db.10.168.192.in-addr.arpa";
        leisti atnaujinti {raktas dhcp-raktas; };
};

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“ stiliaus tarpinis; ddns-atnaujinimai; ddns-domainname "swl.fan"; ddns-rev-domainname "in-addr.arpa."; ignoruoti kliento atnaujinimus; atnaujinimo optimizavimas klaidingas # Gali būti reikalaujama naudojant „Debian“ autoritetą; parinktis „ip-forwarding off“; parinkties domeno vardas „swl.fan“; įtraukti „/etc/dhcp/dhcp.key“; zona swl.fanas. {pirminis 127.0.0.1; raktas dhcp-raktas; } zona 10.168.192.in-addr.arpa. {pirminis 127.0.0.1; raktas dhcp-raktas; } shared-network redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; parinkties potinklio kaukė 255.255.255.0; parinkties transliacijos adresas 192.168.10.255; parinkties domeno vardo serveriai 192.168.10.5; parinktis netbios-name-serveriai 192.168.10.5; parinktis ntp-serveriai 192.168.10.5; pasirinkimo laiko serveriai 192.168.10.5; diapazonas 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Interneto sistemų konsorciumas DHCP Server 4.3.1 Autorių teisės 2004–2014 m. Interneto sistemų konsorciumas. Visos teisės saugomos. Norėdami gauti informacijos, apsilankykite https://www.isc.org/software/dhcp/
Konfigūruoti failą: /etc/dhcp/dhcpd.conf Duomenų bazės failas: /var/lib/dhcp/dhcpd.leasing PID failas: /var/run/dhcpd.pid

root @ master: ~ # systemctl paleiskite iš naujo bind9.service 
root @ master: ~ # systemctl būsena bind9.service 

root @ master: ~ # systemctl paleisti isc-dhcp-server.service
root @ master: ~ # systemctl būsena 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 apriboti -4 numatytasis kod notrap nomodify nopeer noquery apribojimas -6 numatytasis kod notrap nomodify nopeer noquery apribojimas 127.0.0.1 apribojimas :: 1 transliacija 192.168.10.255

root @ master: ~ # systemctl paleiskite iš naujo ntp.service 
root @ master: ~ # systemctl būsena ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
Gegužės 27 d. 10:04:01 ntpdate [18769]: koreguokite laiko serverio 192.168.10.1 poslinkį 0.369354 sek.

Visuotinai tikrinami ntp, bind9 ir isc-dhcp-serveriai

Iš „Linux“, BSD, „Mac OS“ ar „Windows“ kliento patikrinkite, ar laikas tinkamai sinchronizuotas. Kad jis įgauna dinamišką IP adresą ir kad to pagrindinio kompiuterio vardas bus išspręstas atliekant tiesiogines ir atvirkštines DNS užklausas. Pakeiskite kliento vardą ir perdarykite visus čekius. Negalima tęsti tol, kol nesate tikri, kad iki šiol įdiegtos paslaugos veikia tinkamai. Mes parašėme visus straipsnius apie DNS ir DHCP Kompiuteriniai tinklai MVĮ.

NIS serverio diegimas

root @ master: ~ # gabumų rodymas nis
Nesuderinama su: netstd (<= 1.26) Aprašymas: tinklo informacijos tarnybos (NIS) klientai ir demonai. Šiame pakete pateikiami įrankiai, skirti nustatyti ir palaikyti NIS domeną. NIS, iš pradžių žinomas kaip geltonieji puslapiai (YP), dažniausiai naudojamas tam, kad keli tinklo įrenginiai galėtų naudoti tą pačią paskyros informaciją, pavyzdžiui, slaptažodžio failą.

root @ master: ~ # aptitude install nis
Paketo konfigūracija ┌────────────────────────── Nis konfigūracija ─────────┐ │ Pasirinkite NIS „domeno vardą“ šiai sistemai. Jei norite, kad ši mašina būtų tik klientas, turėtumėte įvesti NIS domeno, prie kurio norite prisijungti, pavadinimą. Arba, jei ši mašina turi būti NIS serveris, galite │ │ įvesti naują NIS „domeno vardą“ arba esamo NIS │ │ domeno pavadinimą. IS │ │ │ NIS domenas: │ │ │ │ swl.fan __________________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ─────────────────────────────┘  

Tai užtruks jūsų, nes paslaugos konfigūracijos nėra. Palaukite, kol procesas bus baigtas.

root @ master: ~ # nano / etc / default / nis
Ar mes esame NIS serveris ir jei taip, kokio tipo (reikšmės: false, slave, master)?
NISSERVER = meistras

root @ master: ~ # nano /etc/ypserv.securenets # securenets Šis failas apibrėžia jūsų NIS serverio # prieigos teises NIS klientams (ir vergų serveriams - ypxfrd taip pat naudoja šį # failą). Šiame faile yra tinklo kaukės / tinklo poros. # Kliento IP adresas turi sutapti su bent vienu iš jų. # # Galima naudoti žodį „host“, o ne tinklo maską iš # 255.255.255.255. Šiame # faile leidžiami tik IP adresai, o ne pagrindinio kompiuterio pavadinimai. # # Visada leisti naudotis „localhost“ 255.0.0.0 127.0.0.0 # Ši linija suteikia prieigą visiems. PRAŠAU TIKSTI! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Ar turėtume sulieti slaptažodžio failą su šešėliniu failu? # MERGE_PASSWD = tiesa | klaidinga
MERGE_PASSWD = tiesa

# Ar turėtume sujungti grupės failą su gshadow failu? # MERGE_GROUP = tiesa | klaidinga
MERGE_GROUP = tiesa

Kuriame NIS duomenų bazę

root @ master: ~ # / usr / lib / yp / ypinit -m
Šiuo metu turime sudaryti kompiuterių, kurie veiks NIS serverius, sąrašą. master.swl.fan yra NIS serverio kompiuterių sąraše. Toliau pridėkite kitų kompiuterių pavadinimus, po vieną kiekvienoje eilutėje. Kai baigsite sąrašą, įveskite a . kitas pridedamas kompiuteris: master.swl.fan kitas pridedamas kompiuteris: Dabartinis NIS serverių sąrašas atrodo taip: master.swl.fan Ar tai teisinga? [y / n: y] Mums reikia kelių minučių, kad sukurtume duomenų bazes ... . Dabar jūs galite paleisti ypinit -s master.swl.fan visame vergo serveryje.

root @ master: ~ # systemctl paleiskite iš naujo nis
root @ master: ~ # systemctl būsena nis

Pridedame vietinius vartotojus

root @ master: ~ # adduser bilbo
Vartotojo „bilbo“ pridėjimas ... Naujos grupės „bilbo“ (1001) įtraukimas ... Naujo vartotojo „bilbo“ (1001) pridėjimas su grupe „bilbo“ ... Namų katalogo „home / bilbo“ kūrimas ... Kopijuojami failai iš `/ etc / skel '... Įveskite naują UNIX slaptažodį: Pakartotinai įveskite naują UNIX slaptažodį: slaptažodis: slaptažodis atnaujintas teisingai Bilbo vartotojo informacijos keitimas Įveskite naują reikšmę arba paspauskite ENTER, kad naudotumėte numatytasis vardas ir pavardė []: Bilbo Bagins kambario numeris []: darbo telefonas []: namų telefonas []: kitas []: ar informacija teisinga? [Taip / Ne]

root @ master: ~ # adduser žingsniai root @ master: ~ # adduser legolas

ir taip toliau.

root @ master: ~ # piršto legolas
Prisijungimas: legolas Vardas: Legolas Archer katalogas: / home / legolas Shell: / bin / bash Niekada neprisijungiau. Pašto nėra. Jokio plano.

Atnaujiname NIS duomenų bazę

root @ master: / var / yp # make
make [1]: Įvedamas katalogas '/var/yp/swl.fan' Atnaujinamas passwd.byname ... Atnaujinamas passwd.byuid ... Atnaujinamas group.byname ... Atnaujinamas group.bygid ... Atnaujinamas netid.byname. .. Atnaujinamas „shadow.byname“ ... Nepaisoma -> sujungta su „passwd make“ [1]: išeinama iš „/var/yp/swl.fan“

Pridedame NIS parinktis prie isc-dhcp-serverio

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
„ddns-update“ stiliaus tarpinis; ddns-atnaujinimai; ddns-domainname "swl.fan"; ddns-rev-domainname "in-addr.arpa."; ignoruoti kliento atnaujinimus; atnaujinimo optimizavimas klaidingas; autoritetingas; parinktis „ip-forwarding off“; parinkties domeno vardas „swl.fan“; įtraukti „/etc/dhcp/dhcp.key“; zona swl.fanas. {pirminis 127.0.0.1; raktas dhcp-raktas; } zona 10.168.192.in-addr.arpa. {pirminis 127.0.0.1; raktas dhcp-raktas; } shared-network redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; parinkties potinklio kaukė 255.255.255.0; parinkties transliacijos adresas 192.168.10.255; parinkties domeno vardo serveriai 192.168.10.5; parinktis netbios-name-serveriai 192.168.10.5; parinktis ntp-serveriai 192.168.10.5; pasirinkimo laiko serveriai 192.168.10.5;
                parinktis nis-domain "swl.fan";
                parinktis nis-serveriai 192.168.10.5;
                diapazonas 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl paleiskite iš naujo isc-dhcp-server.service

NIS kliento diegimas

  • Mes pradedame nuo švaraus Debian 8 „Jessie“ diegimo - be grafinės sąsajos..
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip adresas
2: eth0: „mtu 1500 qdisc pfifo_fast“ būsena UP grupės numatytasis „qlen 1000“ ryšys / eteris 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 taikymo sritis global eth0

root @ mail: ~ # tinkamumas diegti nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf „ypbind“ proceso konfigūracijos failas. Čia galite rankiniu būdu apibrėžti # NIS serverius, jei jų negalima rasti # transliuojant vietiniame tinkle (tai yra numatytasis nustatymas). # # Žr. Ypbind vadovą puslapyje, kur rasite šio failo sintaksę. # # SVARBU: Norėdami naudoti „ypserver“, naudokite IP adresus arba įsitikinkite, kad # pagrindinis kompiuteris yra aplanke / etc / hosts. Šis failas interpretuojamas tik # kartą ir, jei DNS nepasiekiamas, dar negalima išspręsti „ypserver“ ir „ypbind“ niekada nesusijungs su serveriu. # ypserver ypserver.network.com ypserver master.swl.fan domenas swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # GNU vardų tarnybos jungiklio funkcijų konfigūracijos pavyzdys. # Jei turite įdiegtus „glibc-doc-reference“ ir „info“ paketus, pabandykite: # „info libc„ Name Service Switch ““, kad gautumėte informacijos apie šį failą. „passwd“: „COMPIS NIS“ grupė: „COMPIS NIS“ šešėlis: „COMPIS NIS GSHADOW“: failų pagrindiniai kompiuteriai: failai dns nis tinklai: failų protokolai: db failų paslaugos: db failų eteriai: db failai rpc: db failai tinklo grupė: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8), jei reikia išsamios informacijos.
sesija pasirenkama pam_mkhomedir.so skel = / etc / skel umask = 077
# čia yra pakuotės moduliai (blokas „Pagrindinis“)

root @ mail: ~ # systemctl būsena nis
root @ mail: ~ # systemctl paleiskite iš naujo nis

Uždarome sesiją ir pradedame ją iš naujo, bet naudodami NIS duomenų bazėje registruotą vartotoją meistras.suk.fanas.

root @ mail: ~ # exit
atsijungti Prisijungimas prie pašto uždarytas.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail slaptažodis: Katalogo „/ home / legolas“ kūrimas. Programos, įtrauktos į „Debian GNU / Linux“ sistemą, yra nemokama programinė įranga; tikslūs kiekvienos programos platinimo terminai aprašyti atskiruose failuose, esančiuose / usr / share / doc / * / copyright. „Debian GNU / Linux“ tiekiama su absoliučiai jokia garantija, kiek leidžia galiojantis įstatymas.
legolas @ mail: ~ $ pwd
/ namai / legolas
legolas @ paštas: ~ $ 

Pakeičiame „legolas“ vartotojo slaptažodį ir patikriname

legolas @ mail: ~ $ yppasswd 
„Legolas“ NIS paskyros informacijos keitimas master.swl.fan. Įveskite seną slaptažodį: legolas NIS slaptažodžio keitimas legolas svetainėje master.swl.fan. Įveskite naują slaptažodį: archer Slaptažodis turi būti sudarytas iš didžiųjų ir mažųjų raidžių arba be raidžių. Įveskite naują slaptažodį: Arquero2017 Prašome iš naujo įvesti naują slaptažodį: Arquero2017 NIS slaptažodis pakeistas master.swl.fan.

legolas @ mail: ~ $ exit
atsijungti Prisijungimas prie pašto uždarytas.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail slaptažodis: Arquero2017

Programos, įtrauktos į „Debian GNU / Linux“ sistemą, yra nemokama programinė įranga; tikslūs kiekvienos programos platinimo terminai aprašyti atskiruose failuose, esančiuose / usr / share / doc / * / copyright. „Debian GNU / Linux“ tiekiama su absoliučiai jokia garantija tiek, kiek leidžia taikomi įstatymai. Paskutinis prisijungimas: 27 m. Gegužės 12 d. 51:50:2017 iš sysadmin.swl.fan
legolas @ paštas: ~ $

NIS tarnyba, įdiegta serverio ir kliento lygiu, veikia tinkamai.

LDAP

Iš Vikipedijos:

  • LDAP yra „Lightweight Directory Access Protocol“ (ispaniškai „Lengvasis / supaprastintas prieigos prie katalogų protokolas“) trumpinys, nurodantis programos lygio protokolą, leidžiantį pasiekti užsakytą ir paskirstytą katalogų paslaugą, norint ieškoti įvairios informacijos aplinkos tinkle. LDAP taip pat laikoma duomenų baze (nors jos saugojimo sistema gali būti kitokia), kuriai galima pateikti užklausą.Katalogas yra objektų rinkinys, kurio atributai sutvarkyti logiškai ir hierarchiškai. Dažniausias pavyzdys yra telefonų katalogas, kurį sudaro vardų (asmenų ar organizacijų) serijos, išdėstytos abėcėlės tvarka, prie kiekvieno vardo pridedamas adresas ir telefono numeris. Norint geriau suprasti, tai yra knyga ar aplankas, į kurį įrašomi žmonių vardai, telefonų numeriai ir adresai, jie išdėstyti abėcėlės tvarka.

    LDAP katalogų medis kartais atspindi įvairias politines, geografines ar organizacines ribas, atsižvelgiant į pasirinktą modelį. Dabartiniai LDAP diegimai dažniausiai naudoja domenų vardų sistemos (DNS) vardus, kad struktūrizuotų aukštesnius hierarchijos lygius. Judant žemyn kataloge, gali pasirodyti įrašai, atstovaujantys žmonėms, organizaciniams vienetams, spausdintuvams, dokumentams, žmonių grupėms ar viskam, kas reiškia nurodytą medžio įrašą (arba kelis įrašus).

    Paprastai ji saugo autentifikavimo informaciją (vartotojo vardą ir slaptažodį) ir naudojama autentifikavimui, nors galima saugoti ir kitą informaciją (vartotojo kontaktinius duomenis, įvairių tinklo išteklių vietą, leidimus, sertifikatus ir kt.). Apibendrinant galima pasakyti, kad LDAP yra vieningas prieigos prie tinklo informacijos protokolas.

    Dabartinė versija yra LDAPv3 ir ji apibrėžta RFC RFC 2251 ir RFC 2256 (pagrindinis LDAP dokumentas), RFC 2829 (LDAP autentifikavimo metodas), RFC 2830 (TLS plėtinys) ir RFC 3377 (techninė specifikacija)

    .

Ilgam, LDAP protokolas ir jo duomenų bazės, suderinamos ar nesuderinamos su „OpenLDAP“, šiandien yra dažniausiai naudojamos daugumoje autentifikavimo sistemų. Kaip ankstesnio teiginio pavyzdį, žemiau pateikiame keletą sistemų - „Free“ arba „Private“ - pavadinimų, kurie naudoja LDAP duomenų bazes kaip užpakalinę dalį savo objektams saugoti:

  • OpenLDAP
  • „Apache“ katalogo serveris
  • „Red Hat Directory Server“ - 389 DS
  • „Novell Directory Services“ - el. Katalogas
  • „SUN Microsystem Open DS“
  • „Red Hat“ tapatybės vadybininkas
  • Nemokama IPA
  • „Samba NT4 Classic“ domeno valdiklis.
    Norime paaiškinti, kad šią sistemą sukūrė „Team Samba“ su „Samba 3.xxx + OpenLDAP as“ posistemės. „Microsoft“ niekada neįdiegė nieko panašaus. Iš NT 4 domeno valdiklių perėjo į savo aktyviuosius katalogus
  • „Samba 4 Active Directory“ - domeno valdiklis
  • ClearOS
  • Zentyalas
  • UCS „Uninvention“ įmonės serveris
  • „Microsoft Active Directory“

Kiekvienas diegimas turi savo ypatybes, o pats standartiškiausias ir suderinamiausias yra OpenLDAP.

„Active Directory“, nesvarbu, ar tai būtų „Microsoft“, ar „Samba 4“ originalas, sudaro kelių pagrindinių komponentų, kurie yra:

Neturime painioti a Katalogų tarnyba o Katalogų tarnyba su a "Active Directory" o „Active Directory“. Pirmieji gali arba negali turėti „Kerberos“ autentifikavimą, tačiau jie nesiūlo „Microsoft“ tinklo paslaugos, kurią teikia „Windows“ domenas, taip pat neturi „Windows“ domeno valdiklio.

Katalogų tarnyba arba katalogų paslauga gali būti naudojama naudotojų autentiškumui patvirtinti mišriame tinkle su UNIX / Linux ir Windows klientais. Pastarajam kiekvienam klientui turi būti įdiegta programa, kuri veikia kaip tarpininkas tarp katalogų tarnybos ir pačios „Windows“ kliento, pavyzdžiui, nemokama programinė įranga. puslapis.

Katalogų tarnyba su „OpenLDAP“

  • Mes pradedame nuo švaraus Debian 8 „Jessie“ diegimo - be grafinės sąsajos., su tuo pačiu mašinos pavadinimu „master“, naudojamu diegiant NIS, taip pat konfigūruojant jo tinklo sąsają ir /etc/resolv.conf failą. Mes įdiegėme NTP, bind9 ir isc-dhcp-serverį šiam naujam serveriui, nepamiršdami visuotinio trijų ankstesnių paslaugų tinkamo veikimo patikrinimo.
root @ master: ~ # aptitude įdiegti slapd ldap-utils

Paketo konfigūracija

┌─────────────────────┤ Slapd konfigūracija ├──────────────────────┐┐ Įveskite savo LDAP katalogo administratoriaus įrašo slaptažodį. │ │ │ │ Administratoriaus slaptažodis: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────┘

Mes patikriname pradinę konfigūraciją

root @ master: ~ # slapcat
dn: dc = swl, dc = ventiliatorius
objectclass: top objectClass: dcObject objectClass: organizacija o: swl.fan dc: swl structureObjectClass: organizacijos įrašasUUID: c8510708-da8e-1036-8fe1-71d022a16904 kūrėjaiPavadinimas: cn = admin, dc = swl, dc = ventiliatoriaus įrašas createTimestamp20170531205219: : 20170531205219.833955ZN000000 įrašas Z # 000 # 000000 # 20170531205219 modifikatoriai Pavadinimas: cn = admin, dc = swl, dc = ventiliatorius modifikuoti Laiko žymė: XNUMXZ

dn: cn = administratorius, dc = swl, dc = ventiliatorius
objectClass: simpleSecurityObject objectClass: organizationalRole CN: Admin aprašymas: LDAP administratorius UserPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e-da8fe1036e-entrySw8d-2-dm71c-022-entrySw16904e-da20170531205219fe-20170531205219.834422-pradinio 000000-fancimes-c000emp000000a20170531205219-entrySwXNUMX -cXNUMXempXNUMXeXNUMXpmTmlYOVhKSUXNUMX-entry-XNUMXc-XNUMX-f-XNUMX-entry-XNUMX-c-XNUMX-fcf-XNUMX-entry-XNUMX-cXNUMX-daXNUMXfe-XNUMX-entry-XNUMX-fancimes-entry-XNUMX-entry-ufr-ole - įrašas: XNUMXZ # XNUMX # XNUMX # XNUMX modifikatoriai Pavadinimas: cn = admin, dc = swl, dc = ventiliatorius modifikuoti Laiko žymė: XNUMXZ

Mes keičiame failą /etc/ldap/ldap.conf

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

Organizaciniai vienetai ir bendrosios grupės «vartotojai»

Pridedame būtiniausius organizacinius vienetus, taip pat „Posix“ grupės „vartotojus“, prie kurių visus vartotojus padarysime, sekdami daugelio grupes turinčių sistemų pavyzdžiu «Vartotojai«. Mes įvardijame jį „vartotojų“ vardu, kad nekiltų galimų konfliktų su grupe «vartotojas"sistemos.

root @ master: ~ # nano bazė.dif
dn: ou = žmonės, dc = swl, dc = ventiliatoriaus objektas: klasė: organizacinis vienetas ou: žmonės dn: ou = grupės, dc = swl, dc = ventiliatoriaus objektas: klasė: organizacinis vienetas ou: grupės dn: cn = vartotojai, ou = grupės, dc = swl, dc = fan objectClass: posixGroup cn: users gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = administratorius, dc = swl, dc = ventiliatorius -W -f base.ldif
Įveskite LDAP slaptažodį: pridedant naują įrašą "ou = žmonės, dc = swl, dc = ventiliatorius" pridedant naują įrašą "ou = grupės, dc = swl, dc = ventiliatorius"

Mes patikriname pridėtus įrašus

root @ master: ~ # ldapsearch -x ou = žmonės
# žmonės, swl.fan dn: ou = žmonės, dc = swl, dc = ventiliatoriaus objektasKlasė: organizacinisVienybės ou: žmonės

root @ master: ~ # ldapsearch -x ou = grupės
# grupės, swl.fan dn: ou = grupės, dc = swl, dc = ventiliatoriaus objektasKlasė: organizacijosUnit ou: grupės

root @ master: ~ # ldapsearch -x cn = vartotojai
# vartotojai, grupės, swl.fan dn: cn = vartotojai, ou = grupės, dc = swl, dc = ventiliatoriaus objektasKlasė: posixGroup cn: users gidNumber: 10000

Pridedame kelis vartotojus

Slaptažodį, kurį turime deklaruoti LDAP, reikia gauti naudojant komandą slappasswd, kuris grąžina SSHA užšifruotą slaptažodį.

Vartotojo žingsnių slaptažodis:

root @ master: ~ # slappasswd 
Naujas slaptažodis: iš naujo įveskite naują slaptažodį: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Vartotojo legolas slaptažodis

root @ master: ~ # slappasswd 
Naujas slaptažodis: iš naujo įveskite naują slaptažodį: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Vartotojo gandalf slaptažodis

root @ master: ~ # slappasswd 
Naujas slaptažodis: iš naujo įveskite naują slaptažodį: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano vartotojai.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 paštas: 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 vartotojas Slaptažodis: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 paštas: legolas@swl.fan
„gecos“: „Legolas Archer“ prisijungimas „Shell“: / bin / bash homeKatalogas: / home / legolas dn: uid = gandalf, ou = žmonės, dc = swl, dc = ventiliatoriaus objektasKlasė: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf givenName: Gandalf sn: vedlio vartotojas {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 paštas: gandalf@swl.fan
„gecos“: „Gandalf Wizard“ prisijungimas „Shell“: / bin / bash homeKatalogas: / home / gandalfas

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = ventiliatorius -W -f vartotojai.ldif
Įveskite LDAP slaptažodį: pridedant naują įrašą "uid = strides, ou = people, dc = swl, dc = fan" pridedamas naujas įrašas "uid = legolas, ou = žmonės, dc = swl, dc = fan" pridedamas naujas įrašas "uid = gandalfas, ou = žmonės, dc = swl, dc = ventiliatorius "

Mes patikriname pridėtus įrašus

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

Mes valdome slpad duomenų bazę su konsolės paslaugomis

Mes pasirenkame paketą užrašai tokiai užduočiai atlikti. Diegimo ir konfigūravimo procedūra yra tokia:

root @ master: ~ # aptitude įdiegti 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 = ventiliatorius' GSUFFIX = 'ou = grupės' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Computers' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP kliento komandos 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 "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT etc / GRUPE" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT / etcixgroup" # UT / etcixgroup "# UT etc / GRUPP" . /ldapadduser.template "PASSWORDGEN =" aidas% u "

Atkreipkite dėmesį, kad scenarijai naudoja paketo komandas ldap-utils. Bėk dpkg -L ldap-utils | grep / bin žinoti, kas jie yra.

root @ master: ~ # sh -c "echo -n 'administratoriaus slaptažodis'> \
/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: duotas vardas: sn: rodomas pavadinimas: uidNumber: „gidNumber“: 10000 namų Katalogas: loginShell: Paštas: @ swl.fan geckos: aprašymas: Vartotojo paskyra
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## pašaliname komentarą UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Pridedame vartotoją „bilbo“ ir padarome jį grupės „vartotojai“ nariu

root @ master: ~ # ldapadduser bilbo vartotojai
[dn: uid = bilbo, ou = žmonės, dc = swl, dc = ventiliatorius] Įveskite „givenName“ vertę: Bilbo [dn: uid = bilbo, ou = žmonės, dc = swl, dc = ventiliatorius] Įveskite reikšmę „ sn ": Baginsas [dn: uid = bilbo, ou = žmonės, dc = swl, dc = ventiliatorius] Įveskite„ displayName “reikšmę: Bilbo Bagins Sėkmingai pridėtas vartotojo bilbo prie LDAP Sėkmingai nustatytas vartotojo bilbo slaptažodis

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 homeKatalogas: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo description: Vartotojo paskyra

Norint pamatyti bilbo vartotojo slaptažodžio maišos funkciją, būtina atlikti užklausą su autentifikavimu:

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

Norėdami ištrinti „bilbo“ vartotoją, kurį vykdome:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = ventiliatorius -W uid = bilbo, ou = žmonės, dc = swl, dc = ventiliatorius
Įveskite LDAP slaptažodį:

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

Mes valdome slapd duomenų bazę per žiniatinklio sąsają

Mes turime funkcinę katalogų tarnybą ir norime ją lengviau valdyti. Yra daug šiai užduočiai skirtų programų, tokių kaip phpldapadmin, „ldap“ paskyros valdytojasir kt., kuriuos galite gauti tiesiogiai iš saugyklų. Katalogų tarnybą taip pat galime valdyti per „Apache“ katalogo studija, kurią turime atsisiųsti iš interneto.

Norėdami gauti daugiau informacijos, apsilankykite https://blog.desdelinux.net/ldap-introduccion/ir šiuos 6 straipsnius.

LDAP klientas

Etapas:

Tarkime, kad turime komandą mail.swl.fan kaip pašto serveris, įgyvendintas taip, kaip matėme straipsnyje „Postfix“ + „Dovecot“ + „Squirrelmail“ ir vietiniai vartotojai, nors ir sukurta „CentOS“, gali būti naudinga kaip „Debian“ ir daugelio kitų „Linux“ distributorių vadovas. Mes norime, kad, be jau deklaruotų vietinių vartotojų, vartotojai, saugomi „OpenLDAP“ duomenų bazėje, esančioje meistras.suk.fanas. Norėdami pasiekti pirmiau minėtus dalykus, turimežemėlapis»LDAP vartotojams kaip vietiniams vartotojams serveryje mail.swl.fan. Šis sprendimas taip pat galioja visoms paslaugoms, pagrįstoms PAM autentifikavimu. Bendroji procedūra debianyra toks:

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

  ┌─────────────────────┤ Konfigūruoti libnss-ldap ├──────────────────────│┐ Įveskite LDAP serverio URI („Uniform Resource Identifier“ arba „form │ Uniform Resource Identifier“). Ši eilutė yra panaši į │ │ «LDAP: //: / ». Taip pat galite │ │ naudoti «ldaps: // » arba „ldapi: //“. Prievado numeris neprivalomas. Avoid │ │ │ Rekomenduojama naudoti IP adresą, kad būtų išvengta gedimo, kai domeno vardo paslaugos nėra prieinamos. AP │ │ │ LDAP serverio URI: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────┘┘┘┌───────┌┌┌┌┌┌ ┤ konfigūracija libnss-ldap ├───────────────────────┐┐ │ Įveskite išskiriamą LDAP paieškos bazės pavadinimą (DN). Daugelis svetainių šiam tikslui naudoja domeno vardo komponentus. Pavyzdžiui, domenas „example.net“ kaip išskirtinį paieškos bazės pavadinimą naudos │ │ „dc = example, dc = net“. │ │ │ │ Skirtasis paieškos bazės pavadinimas (DN): │ │ │ │ dc = swl, dc = ventiliatorius ____________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libnss-ldap ├───────────────────────┐ │ Įveskite LDAP protokolo versiją, kurią turėtų naudoti „ldapns“. │ │ rekomenduojama naudoti didžiausią galimą versijos numerį. Naudojama LDAP versija: │ │ │ │                                     3                                     2 │ │ │ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libnss-ldap ├────────────────────────┐ │ Pasirinkite, kuri paskyra bus naudojama nss užklausoms su │ │ pagrindinėmis teisėmis. │ │ │ │ Pastaba: Kad ši parinktis veiktų, paskyrai reikalingi leidimai, kad │ │ galėtų pasiekti LDAP atributus, susietus su vartotojo shadow │ „šešėliniais“ įrašais, taip pat vartotojų ir the │ grupių slaptažodžiais. . │ │ │ │ Šaknies LDAP paskyra: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libnss-ldap Įveskite slaptažodį, kuris bus naudojamas, kai „libnss-ldap“ bandys │ │ autentifikuoti LDAP katalogą naudodama šaknies LDAP abonementą. │ │ │ │ Slaptažodis bus išsaugotas atskirame faile │ │ ("/etc/libnss-ldap.secret"), prie kurio gali prisijungti tik root. │ │ │ │ Jei įvesite tuščią slaptažodį, senasis slaptažodis bus pakartotinai naudojamas. │ │ │ │ „Root LDAP“ paskyros slaptažodis: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └─────────────────------ ────────────────────────────┘┘┌┌────────┌┌┌─── Konfigūracija libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf nėra valdomas automatiškai │ │ │ │ Turite pakeisti savo failą "/etc/nsswitch.conf "naudoti LDAP duomenų šaltinį, jei norite, kad paketas libnss-ldap veiktų. │ │ Galite naudoti failo │ │ pavyzdį „/usr/share/doc/libnss-ldap/examples/nsswitch.ldap“ kaip „nsswitch“ konfigūracijos pavyzdį arba │ │ galite nukopijuoti jį per dabartinę konfigūraciją. │ │ │ │ Atkreipkite dėmesį, kad prieš pašalinant šį paketą gali būti patogu │ │ pašalinti „ldap“ įrašus iš failo nsswitch.conf, kad pagrindinės paslaugos │ │ toliau veiktų. │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libpam-ldap ├──────────────────────┐ │ │ │ Ši parinktis leidžia slaptažodžių įrankiams, naudojantiems PAM, pakeisti vietinius slaptažodžius. │ │ │ │ LDAP administratoriaus paskyros slaptažodis bus saugomas atskirame │ │ faile, kurį gali perskaityti tik administratorius. Option │ │ │ Ši parinktis turėtų būti išjungta, jei „/ etc“ montuojate per NFS. │ │ │ account Ar norite leisti LDAP administratoriaus paskyrai elgtis kaip vietiniam administratoriui? │ │ │ │                                            │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libpam-ldap ├──────────────────────┐ │ │ │ Pasirinkite, ar LDAP serveris priverčia identifikuoti prieš gaudamas įėjimo │ įrašus. Setting │ │ │ Šis nustatymas retai reikalingas. Ar vartotojas turi prisijungti prie LDAP duomenų bazės? │ │ │ │                                               │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libpam-ldap ├────────────────────────┐ │ Įveskite LDAP administratoriaus paskyros pavadinimą. Account │ │ │ Ši paskyra bus automatiškai naudojama tvarkant duomenų bazę │ │, todėl ji turi turėti atitinkamas administratoriaus teises. │ │ │ │ LDAP administratoriaus paskyra: │ │ │ │ cn = administratorius, dc = swl, dc = ventiliatorius ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌─────────────────── Konfigūracija libpam-ldap ├───────────────────────┐ │ Įveskite administratoriaus paskyros slaptažodį. │ │ │ │ Slaptažodis bus išsaugotas faile "/etc/pam_ldap.secret". │ │ administratorius bus vienintelis, galintis perskaityti šį failą, ir leis │ │ libpam-ldap automatiškai valdyti ryšių valdymą │ │ duomenų bazėje. │ │ │ │ Jei paliksite šį lauką tuščią, vėl bus naudojamas ankstesnis išsaugotas slaptažodis │ │. │ │ │ │ LDAP administratoriaus slaptažodis: │ │ │ │ ******** _________________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # GNU vardų paslaugų jungiklio funkcionalumo konfigūracijos pavyzdys. # Jei turite įdiegtus „glibc-doc-reference“ ir „info“ paketus, pabandykite: # `info libc„ Name Service Switch “, kad gautumėte informacijos apie šį failą. passwd: compat ldap
grupė: tautietis ldap
šešėlis: hon ldap
gshadow: files hosts: failai dns tinklai: failų protokolai: db failų paslaugos: db failų eteriai: db failai rpc: db failai netgroup: nis

Redaguokime failą /etc/pam.d/common-password, pereiname prie 26 eilutės ir pašaliname vertę «use_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - su slaptažodžiu susiję moduliai, bendri visoms paslaugoms # # Šis failas yra įtrauktas iš kitų konkrečiai tarnybai skirtų PAM konfigūracijos failų, # ir jame turėtų būti modulių, apibrėžiančių paslaugas, kurias reikia atlikti, sąrašas. # naudojamas pakeisti vartotojo slaptažodžius. Numatytasis yra pam_unix. # Pam_unix parinkčių paaiškinimas: # # Parinktis „sha512“ įgalina sūdytus SHA512 slaptažodžius. Be šios parinkties # numatytasis nustatymas yra „Unix“ kripta. Ankstesniuose leidimuose buvo naudojama parinktis „md5“. # # Parinktis „neaiški“ pakeičia seną parinktį „OBSCURE_CHECKS_ENAB“, esančią # login.defs. # # Žr. Pam_unix vadovą kitoms parinktims. # Nuo pam 1.0.1-6 šį failą pagal numatytuosius nustatymus valdo pam-auth-update. # Norėdami pasinaudoti tuo, rekomenduojama sukonfigūruoti bet kurį # vietinį modulį prieš numatytąjį bloką arba po jo ir naudoti # pam-auth-update kitų modulių pasirinkimui valdyti. Išsamesnės informacijos ieškokite # pam-auth-update (8). # čia yra paketinių modulių („Pirminio“ bloko) slaptažodis [sėkmė = 2 numatytasis = ignoruoti] pam_unix.so neaiškus sha512
slaptažodis [sėkmė = 1 user_unknown = ignoruoti numatytąjį = die] pam_ldap.so try_first_pass
# čia yra atsarginė priemonė, jei nė vienam moduliui nepavyksta įvesti slaptažodžio pam_deny.so # pradėkite rietuvę su teigiama grąžos verte, jei jos dar nėra; # taip išvengsime klaidos grąžinimo vien todėl, kad niekas nenustato sėkmės kodo # nes aukščiau esantys moduliai tiesiog pereis aplink reikalingą slaptažodį pam_permit.so # ir čia yra daugiau paketų modulių (blokas „Papildomas“) # pam- pabaiga Aut. atnauj. konfig

Jei mums to prireiks LDAP saugomų vartotojų vietinį prisijungimą ir norime, kad jų aplankai būtų sukurti automatiškai home, turime redaguoti failą /etc/pam.d/common-session ir failo pabaigoje pridėkite šią eilutę:

sesija pasirenkama pam_mkhomedir.so skel = / etc / skel umask = 077

Anksčiau sukurtame „OpenLDAP Directory Service“ pavyzdyje vienintelis sukurtas vietinis vartotojas buvo vartotojas Buzz, o LDAP mes kuriame vartotojus žingsniai, Legolas, gandalfIr Bilbo. Jei iki šiol atliktos konfigūracijos yra teisingos, turėtume galėti išvardyti vietinius vartotojus ir tuos, kurie susieti kaip vietiniai, bet saugomi nuotoliniame LDAP serveryje:

root @ mail: ~ # getent passwd 
„buzz“: x: 1001: 1001: „Buzz Debian“ pirmoji OS ,,,: / home / buzz: / bin / bash
Žingsniai: x: 10000: 10000: Strides El Rey: / home / strides: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / namai / legolas: / bin / bash
gandalfas: x: 10002: 10000: Gandalfo vedlys: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Po sistemos autentifikavimo pakeitimų yra tinkama iš naujo paleisti serverį, kitaip susiduriame su kritine paslauga:

root @ mail: ~ # perkraukite

Vėliau mes pradedame vietinę sesiją serveryje mail.swl.fan su vartotojo duomenimis, saugomais LDAP duomenų bazėje meistras.suk.fanas. Taip pat galime pabandyti prisijungti per SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
„gandalf @ mail“ slaptažodis: „/ home / gandalf“ katalogo kūrimas. Programos, įtrauktos į „Debian GNU / Linux“ sistemą, yra nemokama programinė įranga; tikslūs kiekvienos programos platinimo terminai aprašyti atskiruose failuose, esančiuose / usr / share / doc / * / copyright. „Debian GNU / Linux“ tiekiama su absoliučiai jokia garantija, kiek leidžia galiojantis įstatymas.
gandalf @ mail: ~ $ su
Slaptažodis:

root @ mail: / home / gandalf # getent group
„Buzz“: x: 1001: vartotojai: *: 10000:

root @ mail: / home / gandalf # exit
išeiti

gandalf @ paštas: ~ $ ls -l / home /
viso 8 drwxr-xr-x 2 buzz buzz     4096 Birželio 17 d. 12:25 „buzz drwx“ ------ 2 gandalf vartotojai 4096 Birželio 17 13:05 gandalfas

Katalogų tarnyba, įdiegta serverio ir kliento lygiu, veikia tinkamai.

Kerberos

Iš Vikipedijos:

  • Yra kompiuterio tinklo autentifikavimo protokolas, sukurtas MIT tai leidžia dviem kompiuteriams, esantiems nesaugiame tinkle, saugiai įrodyti savo tapatybę. Jo dizaineriai pirmiausia sutelkė dėmesį į kliento-serverio modelį ir teikia abipusį autentifikavimą: tiek klientas, tiek serveris patikrina vienas kito tapatybę. Autentifikavimo pranešimai yra apsaugoti, kad jų nebūtų pasiklausymas y pakartoti atakas.

    „Kerberos“ yra pagrįsta simetriška raktų kriptografija ir reikalauja patikimos trečiosios šalies. Be to, yra protokolo plėtinių, kad būtų galima naudoti asimetrinę raktų kriptografiją.

    „Kerberos“ yra pagrįsta Needham-Schroeder protokolas. Tam naudojama patikima trečioji šalis, vadinama „Raktų paskirstymo centru“ (KDC), kurį sudaro dvi atskiros loginės dalys: „Autentifikavimo serveris“ (AS arba Autentifikavimo serveris) ir «Bilietų išdavimo serveris» (TGS arba Bilietų suteikimo serveris). ). „Kerberos“ dirba pagal „bilietus“, kurie padeda įrodyti vartotojų tapatybę.

    „Kerberos“ tvarko slaptų raktų duomenų bazę; Kiekvienas tinklo objektas - klientas ar serveris - dalijasi slaptu raktu, žinomu tik sau ir „Kerberos“. Šio rakto žinojimas padeda įrodyti subjekto tapatybę. Bendravimui tarp dviejų subjektų „Kerberos“ sugeneruoja seanso raktą, kurį gali naudoti savo problemoms apsaugoti.

„Kerberos“ trūkumai

De Išgydė:

Nors Kerberos pašalina bendrą grėsmę saugumui, ją įgyvendinti gali būti sunku dėl įvairių priežasčių:

  • Vartotojo slaptažodžių perkėlimas iš standartinės slaptažodžių duomenų bazės UNIX, pvz., / etc / passwd arba / etc / shadow, „Kerberos“ slaptažodžių duomenų bazei, gali būti varginantis ir nėra greito mechanizmo šiai užduočiai atlikti.
  • „Kerberos“ daro prielaidą, kad kiekvienas vartotojas yra patikimas, tačiau nepatikimame tinkle jis naudoja nepatikimą mašiną. Pagrindinis jo tikslas yra užkirsti kelią nešifruotų slaptažodžių siuntimui per tinklą. Tačiau jei bet kuris kitas vartotojas, išskyrus atitinkamą vartotoją, turi prieigą prie bilietų pardavimo aparato (KDC), kad būtų galima patvirtinti, „Kerberos“ gresia pavojus.
  • Kad programa galėtų naudoti „Kerberos“, kodas turi būti modifikuotas, kad būtų galima atlikti reikiamus skambučius į „Kerberos“ bibliotekas. Tokiu būdu modifikuotos programos laikomos kerberizuotomis. Kai kurioms programoms tai gali būti per daug programavimo pastangų dėl programos dydžio ar jos dizaino. Kitų nesuderinamų programų atveju reikia pakeisti tinklo serverio ir jo klientų bendravimo būdą; vėlgi, tam gali prireikti nemažai programavimo. Paprastai uždarojo kodo programos, neturinčios „Kerberos“ palaikymo, dažniausiai kelia daugiausia problemų.
  • Galiausiai, jei nuspręsite naudoti „Kerberos“ savo tinkle, turite suprasti, kad tai pasirinkimas „viskas arba nieko“. Jei nuspręsite naudoti „Kerberos“ savo tinkle, turite prisiminti, kad jei kokie nors slaptažodžiai perduodami tarnybai, kurios autentifikavimui nenaudojama „Kerberos“, rizikuojate, kad paketas gali būti perimtas. Taigi jūsų tinklas negaus jokios naudos iš „Kerberos“ naudojimo. Norėdami apsaugoti savo tinklą naudodami „Kerberos“, turėtumėte naudoti tik kerberizuotas visų kliento / serverio programų versijas, kurios siunčia nešifruotus slaptažodžius arba nenaudoja nė vienos iš šių programų tinkle..

Rankinis „OpenLDAP“ įdiegimas ir konfigūravimas kaip „Kerberos Back-End“ nėra lengva užduotis. Tačiau vėliau pamatysime, kad „Samba 4 Active Directory - Domain Controller“ skaidriai integruoja „Sysadmin“, DNS serverį, „Microsoft“ tinklą ir jo domeno valdiklį, LDAP serverį kaip beveik visų savo objektų galinę dalį, ir „Kerberos“ pagrindu sukurta autentifikavimo paslauga kaip pagrindiniai „Microsoft“ stiliaus „Active Directory“ komponentai.

Iki šiol mums nebuvo poreikio įdiegti „Kerberized Network“. Štai kodėl mes nerašėme, kaip įgyvendinti „Kerberos“.

„Samba 4 Active Directory“ - domeno valdiklis

Svarbu:

Nėra geresnių dokumentų nei svetainė wiki.samba.org. Save gerbiantis „Sysadmin“ turėtų apsilankyti toje svetainėje - anglų kalba - ir naršyti daugybę „Samba 4“ skirtų puslapių, kuriuos parašė pats „Team Samba“. Nemanau, kad internete yra prieinamų dokumentų. Beje, stebėkite apsilankymų skaičių, atsispindintį kiekvieno puslapio apačioje. To pavyzdys yra tas, kad buvo aplankytas jūsų pagrindinis puslapis arba «Pagrindinis puslapis» 276,183 kartus nuo 20 m. birželio 2017 d. 10 val. Rytų standartiniu laiku. Be to, dokumentai yra nuolat atnaujinami, nes tas puslapis buvo pakeistas birželio 10 d.

Iš Vikipedijos:

„Samba“ yra nemokamas „Microsoft Windows“ failų bendrinimo protokolo (anksčiau vadinamo SMB, neseniai pervadinto į CIFS) diegimas UNIX tipo sistemoms. Tokiu būdu gali būti, kad kompiuteriai su GNU / Linux, „Mac OS X“ ar „Unix“ apskritai atrodo kaip serveriai arba veikia kaip klientai „Windows“ tinkluose. „Samba“ taip pat leidžia patvirtinti vartotojus kaip pirminį domeno valdiklį (PDC), kaip domeno narį ir net kaip „Windows“ tinklų „Active Directory“ domeną; be galimybės aptarnauti spausdinimo eiles, bendrinamus katalogus ir autentifikuoti savo vartotojo archyve.

Tarp „Unix“ tipo sistemų, kuriose galima paleisti „Samba“, yra GNU / Linux paskirstymai, „Solaris“ ir skirtingi BSD variantai tarp kad galime rasti „Apple“ „Mac OS X Server“.

„Samba 4 AD-DC“ su savo vidiniu DNS

  • Mes pradedame nuo švaraus Debian 8 „Jessie“ diegimo - be grafinės sąsajos..

Pirminiai patikrinimai

root @ master: ~ # pagrindinio kompiuterio vardas
meistras
root @ master: ~ # hostname --fqdn
meistras.suk.fanas
root @ master: ~ # ip adresas
1: kas: mtu 65536 qdisc noqueue state Nežinoma grupės numatytoji nuoroda / atgalinis ryšys 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 „inet 127.0.0.1/8“ taikymo sritis pagrindinis kompiuteris lo valid_lft forever prefer_lft forever inet6 :: 1/128 apimties priegloba valid_lft forever prefer_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state Nežinoma grupės numatytoji qlen 1000 nuoroda / eteris 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 taikymo sritis global eth0
       valid_lft forever prefer_lft forever inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 scope link valid_lft forever prefer_lft forever
root @ master: ~ # cat /etc/resolv.conf
ieškoti swl.fan vardų serveris 127.0.0.1
  • Su kuriuo deklaruojame šaką pagrindinis tik tai daugiau nei pakankamai mūsų tikslams.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ Jessie pagrindinis
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / atnaujinimai pagrindinis

„Postfix“ pagal „Exim“ ir komunalines paslaugas

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

  ┌────────────────────────┤ Postfix konfigūracija ────┐ │ Pasirinkite pašto serverio konfigūracijos tipą, kuris geriausiai atitiks jūsų │ │ poreikius. Configuration │ │ │ Nėra konfigūracijos: │ │ Išlaiko dabartinę konfigūraciją. │ │ Interneto svetainė: │ │ Laiškai siunčiami ir gaunami tiesiogiai naudojant SMTP. │ │ Internetas su „smarthost“: │ │ Paštas gaunamas tiesiogiai naudojant SMTP arba naudojant tokį įrankį kaip „como fetchmail“. Siunčiami laiškai siunčiami naudojant „smarthost“. │ │ Tik vietinis paštas: │ │ Vienintelis pristatomas paštas skirtas vietiniams vartotojams. Ne │ │ yra tinklas. │ │ │ │ Bendras pašto konfigūracijos tipas: │ │ │ │ Nėra konfigūracijos │ │ Interneto svetainė │ │ Internetas su „smarthost“ │ │ Palydovinė sistema │ │                         Tik vietinis paštas                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────── ────────────────────────────┘┘┌┌────────┌┌┌─── ─────┤ „Postfix“ konfigūracija ├─────────────────────────┐ │ „Pašto sistemos pavadinimas“ yra domeno, kuris │ │ naudojamas „kvalifikuoti“ _ALL_ el. Pašto adresus be domeno pavadinimo. Tai apima laiškus iš „root“ ir iš „root“: neverskite │ machine jūsų mašinos siųsti el. Laiškus iš root@example.org iki │ │ mažiau nei root@example.org - paklausė. │ │ │ │ Kitos programos naudos šį pavadinimą. Tai turi būti unikalus │ │ kvalifikuotas domeno vardas (FQDN). │ │ │ │ Todėl, jei el. Pašto adresas vietiniame kompiuteryje yra │ │ kažkas@pavyzdys.org, teisinga šios parinkties reikšmė bus example.org. │ │ │ │ Pašto sistemos pavadinimas: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ─────────────────────────────┘  

Mes valome

root @ master: ~ # tinkamumo valymas ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # gabumas švarus
root @ master: ~ # aptitude autoclean

Mes įdiegiame reikalavimus sudaryti „Samba 4“ ir kitos būtinos pakuotės

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

 ┌───────────────┤ „Kerberos“ autentifikavimo konfigūravimas ├────────────────┐ │ Kai vartotojai bando naudoti „Kerberos“ ir nurodyti vardą │ │ pagrindinis ar vartotojas, neišaiškinęs, kuriam „Kerberos“ domenui priklauso pagrindinis │ │, sistema perima numatytąją sritį │ │.  Numatytoji sritis taip pat gali būti naudojama kaip vietinėje mašinoje veikiančios „Kerberos“ paslaugos │ │ sritis.  │ │ Paprastai numatytoji sritis yra vietinio DNS │ │ domeno didžiosios raidės pavadinimas.  „Kerberos“ 5 versijos numatytoji sritis: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └─────────────────------ ──────────────────────────────┘ ┌──────────────── authent „Kerberos“ autentifikavimo konfigūravimas ├───────────────┐ │ Įveskite „Kerberos“ serverių pavadinimus į „Kerberos“ SWL.FAN karalystę, atskirtus tarpais.  „Kerberos“ serveriai jūsų karalystei: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────── ──────────────────────────────┘ ┌──────────────── authent „Kerberos“ autentifikavimo konfigūravimas ├───────────────┐ │ Įveskite „Kerberos SWL.FAN“ srities administracinio serverio pavadinimą (slaptažodžio pakeitimas) │ │.   

Ankstesnis procesas užtruko šiek tiek laiko, nes dar neturime įdiegtos jokios DNS paslaugos. Tačiau pagal failo parametrus domeną pasirinkote teisingai / Etc / hosts. Nepamirškite to byloje / Etc / resolv.conf mes deklaravome kaip domenų vardų serverį IP 127.0.0.1.

Dabar sukonfigūruojame failą / etc / ldap / ldap / conf

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

Užklausoms naudojant komandą ldapsearch pagaminti iš šakninio vartotojo yra tokio tipo ldapsearch -x -W cn = xxxx, turime sukurti failą /root/.ldapsearch turinį:

root @ master: ~ # nano .ldaprc
BINDDN CN = administratorius, CN = vartotojai, DC = swl, DC = ventiliatorius

Failų sistema turi palaikyti ACL - prieigos kontrolės sąrašą

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statinės failų sistemos informacija. # # Naudokite „blkid“, kad išspausdintumėte unikalų # įrenginio identifikatorių; tai gali būti naudojama su UUID = kaip patikimesnis būdas pavadinti įrenginius #, kurie veikia, net jei diskai yra pridėti ir pašalinti. Žr. Fstab (5). # # # / buvo įjungtas / dev / sda1 diegiant UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barjeras = 1, bet kuriuo metu, klaidos = remount-ro 0 1
# swap buvo įjungtas / dev / sda5 diegiant UUID = cb73228a-615d-4804-9877-3ec225e3ae32 niekas nepakeitė sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 vartotojas, 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
# failas: testing_acl.txt user.test = "testas"

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 # savininkas: root # group: root vartotojas :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Gauname „Samba 4“ šaltinį, sukompiliuojame ir įdiegiame

Labai rekomenduojama atsisiųsti versijos šaltinio failą Stabilus iš svetainės https://www.samba.org/. Mūsų pavyzdyje mes atsisiųsime versiją samba-4.5.1.tar.gz link aplanko / 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 /

Konfigūracijos parinktys

Jei norime pritaikyti konfigūracijos parinktis, vykdome:

root @ master: /opt/samba-4.5.1# ./konfigūruoti - pagalba

ir labai atidžiai pasirinkite mums reikalingus. Patartina patikrinti, ar atsisiųstą paketą galima įdiegti naudojamame „Linux“ paskirstyme, kuris mūsų atveju yra „Debian 8.6 Jessie“:

root @ master: /opt/samba-4.5.1# . / Configure patikrinti

Konfigūruojame, kompiliuojame ir įdiegiame samba-4.5.1

  • Iš anksčiau įdiegtų reikalavimų ir 8604 failų (sudarančių kompaktišką samba-4.5.1.tar.gz), sveriančių apie 101.7 megabaito, įskaitant „source3“ ir „source4“ aplankus, kurie sveria apie 61.1 megabaitą, gausime „Microsoft“ stiliaus „Active Directory“, kurio kokybė ir stabilumas yra daugiau nei priimtinas bet kuriai gamybos aplinkai. Turime pabrėžti „Samba“ komandos darbą pristatant nemokamą programinę įrangą „Samba 4“.

Žemiau pateiktos komandos yra klasikinės, skirtos paketams kompiliuoti ir įdiegti iš jų šaltinių. Turime būti kantrūs, kol trunka visas procesas. Tai vienintelis būdas gauti teisingus ir teisingus rezultatus.

root @ master: /opt/samba-4.5.1# ./configure --with-systemd - išimamos taurės
root @ master: /opt/samba-4.5.1# padaryti
root @ master: /opt/samba-4.5.1# make install

Komandos proceso metu padaryti, matome, kad sudaryti „Samba 3“ ir „Samba 4“ šaltiniai. Štai kodėl „Team Samba“ patvirtina, kad jos 4 versija yra natūralus 3 versijos atnaujinimas tiek domenų valdikliams, kurių pagrindas yra „Samba 3 + OpenLDAP“, tiek failų serveriams arba senesniems. „Samba 4“ versijos.

Aprūpinimas Samba

Mes naudosime kaip DNS SAMBA_INTERNAL. Į https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End rasime daugiau informacijos. Kai jie prašo mūsų administratoriaus vartotojo slaptažodžio, turime įvesti vieną iš mažiausiai 8 simbolių ilgio, taip pat su raidėmis - didžiosiomis ir mažosiomis raidėmis ir skaičiais.

Prieš pereinant prie aprūpinimo ir palengvinant gyvenimą, pridedame kelias mūsų faile esančių „Samba“ vykdomųjų failų .bashrcTada mes užsidarome ir vėl prisijungiame.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: įvykdė bash (1) ne prisijungimo kriauklėms. # Pastaba: PS1 ir umask jau nustatyti / etc / profile. Jums nereikės to # reikalauti, nebent norite skirtingų numatytųjų šaknų. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Galite atšaukti šias eilutes, jei norite, kad „ls“ būtų nuspalvintas: # export LS_OPTIONS = '- spalva = auto '# eval "" dircolors "" # alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Dar keli slapyvardžiai, kad išvengtumėte klaidų: # pseudonimas rm = 'rm -i' # pseudonimas cp = 'cp -i' # pseudonimas mv = 'mv -i'
paskelbti -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # išeiti iš atsijungimo Ryšys su valdikliu uždarytas. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-tool domeno nuostata --use-rfc2307 --interactive
Karalystė [SWL.FAN]: SWL.FAN
 Domenas [SWL]: SWL
 Serverio vaidmuo (dc, narys, atskiras) [dc]: dc
 DNS užpakalinė dalis (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, Nėra) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS ekspeditoriaus IP adresas (parašykite „nėra“, kad išjungtumėte persiuntimą) [192.168.10.5]: 8.8.8.8
Administratoriaus slaptažodis: „TuPassword2017“
Pakartokite slaptažodį: „TuPassword2017“
IPv4 adresų paieška IPv6 adresų paieška IPv6 adresas nebus priskirtas Nustatyti share.ldb Nustatyti secrets.ldb Registro nustatymas Nustatyti privilegijų duomenų bazę Nustatyti idmap db Nustatyti SAM db Nustatyti sam.ldb skaidinius ir parametrus Nustatyti up sam.ldb rootDSE „Samba 4“ ir „AD“ schemos išankstinis įkėlimas „DomainDN“ pridėjimas: DC = swl, DC = ventiliatorius Konfigūracijos konteinerio pridėjimas Sam.ldb schemos nustatymas sam.ldb konfigūracijos duomenų nustatymas Ekrano specifikacijų nustatymas Ekrano specifikacijų modifikavimas Vartotojų konteinerio pridėjimas Vartotojų konteinerio modifikavimas Kompiuterių konteinerio modifikavimas Kompiuterių konteinerio modifikavimas Sam.ldb duomenų nustatymas Gerai žinomų saugumo principų nustatymas Sam.ldb vartotojų ir grupių nustatymas Savarankiško prisijungimo nustatymas DNS paskyrų pridėjimas CN = MicrosoftDNS, CN = System, DC = swl, DC sukūrimas = ventiliatorius „DomainDnsZones“ ir „ForestDnsZones“ skaidinių kūrimas „DomainDnsZones“ ir „ForestDnsZones“ skaidinių užpildymas Nustatant sam.ldb rootDSE žymėjimą kaip sinchronizuotą Taisymo nuostatų GUID„Kerberos“ konfigūracija, tinkama „Samba 4“, buvo sukurta adresu /usr/local/samba/private/krb5.conf Padirbtų yp serverio nustatymų nustatymas Įdiegus aukščiau nurodytus failus, jūsų „Samba4“ serveris bus pasirengęs naudoti „Server Role: active directory domain“ valdiklio pagrindinio kompiuterio pavadinimas: pagrindinis „NetBIOS“ domenas: SWL DNS domenas: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Nepamirškime nukopijuoti „Kerberos“ konfigūracijos failo, kaip parodyta Atidėjiniai:

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

Nenurodyti komandos samba-įrankis su jūsų visu vardu sukuriame simbolinę nuorodą su trumpuoju vardu įrankis:

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

Mes įdiegiame NTP

Pagrindinis „Active Directory“ elementas yra tinklo laiko tarnyba. Kadangi autentifikavimas atliekamas per „Kerberos“ ir jos bilietus, laiko sinchronizavimas su „Samba 4 AD-DC“ yra gyvybiškai svarbus.

root @ master: ~ # aptitude įdiegti 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 apribojimas -4 numatytasis kod notrap nomodify nopeer noquery apribojimas -6 numatytasis kod notrap nomodify nopeer noquery apribojimas numatytasis mssntp apribojimas 127.0.0.1 apribojimas :: 1 transliacija 192.168.10.255

root @ master: ~ # service ntp paleiskite iš naujo
root @ master: ~ # paslaugos ntp būsena

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

Jei nagrinėjant sistemos dienoraštis naudojant komandą aukščiau arba naudojant Journalctl -f gauname pranešimą:

Birželio 19 d. 12:13:21 meistras ntpd_intres [1498]: tėvas mirė, kol mes baigėme, išeidami

turime iš naujo paleisti paslaugą ir bandyti dar kartą. Dabar mes kuriame aplanką ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
Ls: / usr / local / samba / var / lib / ntp_signd negalima pasiekti: Failo ar katalogo nėra

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

# Kaip reikalaujama samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 šaknis ntp 4096 birželio 19 d. 12:21 / usr / local / samba / var / lib / ntp_signd

Mes sukonfigūruojame „Samba“ pradėjimą naudoti „systemd“

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Paslauga] Tipas = šakojantis 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 [Įdiegti] WantedBy = kelių naudotojų.target

root @ master: ~ # systemctl įgalinti samba-ad-dc
root @ master: ~ # perkraukite

root @ master: ~ # systemctl būsena samba-ad-dc
root @ master: ~ # systemctl būsena ntp

„Samba 4 AD-DC“ failų vietos

VISI -atėmus naujai sukurtą samba-ad-dc.paslaugą- failai yra:

root @ master: ~ # ls -l / usr / local / samba /
viso 32 drwxr-sr-x 2 šakniniai darbuotojai 4096 Birželio 19 11:55 jusu siuksliu
drwxr-sr-x 2 šakninis personalas 4096 Birželio 19 11:50 tt
drwxr-sr-x 7 šakninis personalas 4096 Birželio 19 11:30 įtraukti
drwxr-sr-x 15 šakninis personalas 4096 Birželio 19 11:33 lib
drwxr-sr-x 7 šakninis personalas 4096 Birželio 19 12:40 privatus
drwxr-sr-x 2 šakninis personalas 4096 Birželio 19 11:33 sbin
drwxr-sr-x 5 šakninis personalas 4096 Birželio 19 11:33 share
drwxr-sr-x 8 šakninis personalas 4096 Birželio 19 12:28 buvo

geriausiu UNIX stiliumi. Visada patartina naršyti skirtinguose aplankuose ir ištirti jų turinį.

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

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Visuotiniai parametrai [globalus] netbios name = MASTER sritis = SWL.FAN darbo grupė = SWL DNS ekspeditorius = 8.8.8.8 serverio paslaugos = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , dns serverio vaidmuo = aktyvus katalogo domeno valdiklis leidžia dns atnaujinimus = saugo tik idmap_ldb: naudokite rfc2307 = taip idmap config *: backend = tdb idmap config *: diapazonas = 1000000-1999999 null [netlogon] kelias = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = Ne [sysvol] kelias = / usr / local / samba / var / spynos / sysvol tik skaitymas = ne

root @ master: ~ # testparm
Įkelti smb konfigūracijos failus iš /usr/local/samba/etc/smb.conf Apdorojimo skyrius "[netlogon]" Apdorojimo skyrius "[sysvol]" Įkeltų paslaugų failas gerai. Serverio vaidmuo: ROLE_ACTIVE_DIRECTORY_DC Paspauskite klavišą Enter, kad pamatytumėte savo paslaugų apibrėžimų # Visuotiniai parametrai [globalus] sritis = SWL.FAN darbo grupė = SWL dns ekspeditorius = 192.168.10.1 ldap serveris reikalauja stipraus auth = Nėra passdb backend = samba_dsdb serverio vaidmuo = aktyvus katalogas domeno valdiklis rpc_server: tcpip = no rpc_daemon: spoolssd = embedded rpc_server: spoolss = embedded rpc_server: winreg = embedded rpc_server: ntsvcs = embedded rpc_server: eventlog = embedded rpc_verver = rdc : išoriniai vamzdžiai = true idmap config *: range = 1000000-1999999 idmap_ldb: use rfc2307 = yes idmap config *: backend = tdb map archive = No map readonly = no store dos attributes = Yes vfs objects = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Ne

Minimalūs patikrinimai

root @ master: ~ # įrankio domeno lygio šou
Domeno ir miško funkcijos lygis „DC = swl, DC = ventiliatorius“ Miško funkcijos lygis: (Windows) 2008 R2 Domeno funkcijos lygis: (Windows) 2008 R2 Žemiausias nuolatinės srovės funkcijos lygis: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # įrankis dbcheck
Tikrinti 262 objektai Tikrinti 262 objektai (0 klaidų)

root @ master: ~ # kinit administratorius
Slaptažodis Administratorius@SWL.FAN: 
root @ master: ~ # klist -f
Bilietų talpykla: Failas: / tmp / krb5cc_0
Pagrindinis numatytasis nustatymas: Administratorius@SWL.FAN

Galioja pradedant Pasibaigia Paslaugos pagrindinis 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    atnaujinti iki 20-06-17 12:53:18, Vėliavos: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Nepavyko rasti kredencialų talpyklos failo „/ tmp / krb5cc_0“

root @ master: ~ # smbclient -L localhost -U%
Domenas = [SWL] OS = [Windows 6.1] Serveris = [Samba 4.5.1] Bendrinamojo vardo tipo komentaras --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC „Service“ („Samba 4.5.1“) domenas = [SWL] OS = [Windows 6.1] serveris = [Samba 4.5.1] serverio komentaras --------- ------- Workgroup Master ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Įveskite administratoriaus slaptažodį: Domenas = [SWL] OS = [Windows 6.1] Serveris = [Samba 4.5.1]. D 0 pirmadienis birželio 19 11:50:52 2017 .. D 0 pirmadienis birželio 19 11:51:07 2017 19091584 blokai, kurių dydis 1024. 16198044 blokai galimi

root @ master: ~ # įrankis dns serverinfo master -U administratorius

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan turi SRV įrašą 0 100 389 master.swl.fan.

root @ master: ~ # host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan turi SRV rekordą 0 100 88 master.swl.fan.

root @ master: ~ # host -t A master.swl.fan
master.swl.fan adresas yra 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan turi SOA įrašų master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # host -t NS swl.fan
vardo serverio pagrindinis.swl.fan.

root @ master: ~ # host -t MX swl.fan
„swl.fan“ neturi MX įrašo

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # įrankio vartotojų sąrašas
Administratorius krbtgt Svečias

root @ master: ~ # įrankių grupių sąrašas
# Išvestis yra krūva grupių. ;-)

Tvarkome naujai įdiegtą „Samba 4 AD-DC“

Jei norime pakeisti administratoriaus slaptažodžio galiojimo laiką dienomis; slaptažodžių sudėtingumas; minimalus slaptažodžio ilgis; minimali ir maksimali slaptažodžio trukmė - dienomis; ir pakeisti administratoriaus slaptažodį, deklaruotą per Atidėjiniai, mes turime vykdyti šias komandas naudodami vertės, pritaikytos jūsų poreikiams:

root @ master: ~ # įrankis
Naudojimas: samba-tool Pagrindinis sambos administravimo įrankis. Parinktys: -h, --help rodyti šį pagalbos pranešimą ir išeiti iš versijos parinkčių: -V, --version Rodyti versijos numerį Galimos pakomandos: dbcheck - Patikrinkite, ar vietinėje AD duomenų bazėje nėra klaidų. delegavimas - delegacijos valdymas. dns - domenų vardų tarnybos (DNS) valdymas. domenas - domeno valdymas. drs - Katalogų replikavimo paslaugų (DRS) valdymas. dsacl - DS ACL manipuliavimas. fsmo - lanksčios pavienių pagrindinių operacijų (FSMO) vaidmenų valdymas. gpo - „Group Policy Object“ (GPO) valdymas. grupė - grupės valdymas. ldapcmp - palyginkite dvi ldap duomenų bazes. NTACL - NT ACL manipuliavimas. procesai - išvardykite procesus (kad būtų lengviau derinti sistemas be setproctitle). rodc - tik skaitymo domeno valdiklio (RODC) valdymas. svetainės - svetainių valdymas. spn - paslaugos pagrindinio vardo (SPN) valdymas. testparm - sintaksė patikrina konfigūracijos failą. laikas - gaukite laiką serveryje. vartotojas - Vartotojo valdymas. Norėdami gauti daugiau pagalbos dėl konkretaus potvarkio, įveskite: samba-tool (-h | --pagalba)

root @ master: ~ # įrankio vartotojo setexpiry administratorius - noexpiry
root @ master: ~ # įrankio domeno slaptažodžių nustatymai - min-pwd-length = 7
root @ master: ~ # įrankio domeno slaptažodžių nustatymai - min-pwd-age = 0
root @ master: ~ # įrankio domeno slaptažodžių nustatymai - max-pwd-age = 60
root @ master: ~ # tool user setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Pridedame kelis DNS įrašus

root @ master: ~ # įrankis dns
Naudojimas: samba-tool dns Domeno vardo paslaugos (DNS) valdymas. Parinktys: -h, --help parodyti šį pagalbos pranešimą ir išeiti iš galimų pakomandų: pridėti - pridėti DNS įrašo ištrynimą - ištrinti DNS įrašo užklausą - pateikti užklausą vardui. Roothints - Užklausos šaknies užuominos. serverinfo - serverio informacijos užklausa. atnaujinti - atnaujinti DNS įrašo zonos sukūrimą - sukurti zoną. zonedelete - ištrinti zoną. zoneinfo - informacijos apie zoną užklausa. zonelist - zonų užklausa. Norėdami gauti daugiau pagalbos dėl konkretaus potvarkio, įveskite: samba-tool dns (-h | --pagalba)

Pašto serveris

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

Fiksuotas kitų serverių IP

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

Atvirkštinė zona

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administratorius
Slaptažodis [SWL \ administratoriui]: 10.168.192.in-addr.arpa zona sėkmingai sukurta

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

Patikrinimai

root @ master: ~ # tool dns query master swl.fan mail ALL -U administratorius
[SWL \ administratoriaus] slaptažodis: vardas =, įrašai = 1, vaikai = 0 A: 192.168.10.9 (vėliavos = f0, nuoseklus = 2, ttl = 900)

root @ master: ~ # pagrindinis kompiuteris
master.swl.fan adresas yra 192.168.10.5
root @ master: ~ # host sysadmin
sysadmin.swl.fan adresas yra 192.168.10.1
root @ master: ~ # pagrindinis paštas
mail.swl.fan adresas yra 192.168.10.9
root @ master: ~ # priimančiosios pokalbis
chat.swl.fan adresas yra 192.168.10.12
root @ master: ~ # proxy host
„proxy.swl.fan“ adresas yra 192.168.10.11
root @ master: ~ # pagrindinio failo serveris
fileserver.swl.fan adresas yra 192.168.10.10
root @ master: ~ # pagrindinis kompiuteris 192.168.10.1
1.10.168.192.in-addr.arpa domeno vardo rodyklė sysadmin.swl.fan.
root @ master: ~ # pagrindinis kompiuteris 192.168.10.5
5.10.168.192.in-addr.arpa domeno vardo rodyklė master.swl.fan.
root @ master: ~ # pagrindinis kompiuteris 192.168.10.9
9.10.168.192.in-addr.arpa domeno vardo rodyklė mail.swl.fan.
root @ master: ~ # pagrindinis kompiuteris 192.168.10.10
10.10.168.192.in-addr.arpa domeno vardo rodyklė fileserver.swl.fan.
root @ master: ~ # pagrindinis kompiuteris 192.168.10.11
11.10.168.192.in-addr.arpa domeno vardo rodyklė proxy.swl.fan.
root @ master: ~ # pagrindinis kompiuteris 192.168.10.12
12.10.168.192.in-addr.arpa domeno vardo žymeklis chat.swl.fan.

Smalsiems

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

Pridedame vartotojų

root @ master: ~ # įrankio vartotojas
Naudojimas: samba įrankio vartotojas Vartotojo valdymas. Parinktys: -h, --help parodyti šį pagalbos pranešimą ir išeiti iš galimų pakomandų: pridėti - sukurti naują vartotoją. sukurti - sukurti naują vartotoją. ištrinti - ištrinti vartotoją. išjungti - išjungti vartotoją. įjungti - įjungti vartotoją. getpassword - gaukite vartotojo / kompiuterio paskyros slaptažodžių laukus. sąrašas - išvardykite visus vartotojus. slaptažodis - pakeisti vartotojo abonemento slaptažodį (tą, kuris pateiktas autentifikavimo metu). setexpiry - nustatykite vartotojo abonemento galiojimo laiką. setpassword - nustatykite arba iš naujo nustatykite vartotojo abonemento slaptažodį. sinchronizuoti slaptažodžius - sinchronizuoti vartotojo abonementų slaptažodį. Norėdami gauti daugiau pagalbos dėl konkretaus potvarkio, įveskite: samba-tool user (-h | --pagalba)

root @ master: ~ # įrankio vartotojas sukuria „Trancos Trancos01“
Vartotojas „trancos“ sėkmingai sukurtas
root @ master: ~ # įrankio vartotojas sukuria gandalfą Gandalf01
Vartotojas „gandalf“ sėkmingai sukurtas
root @ master: ~ # įrankio vartotojas sukuria legolas Legolas01
Vartotojas „legolas“ sėkmingai sukurtas
root @ master: ~ # įrankio vartotojų sąrašas
Administratorius gandalfas legolas žengia krbtgt Svečias

Administravimas per grafinę sąsają arba per interneto klientą

Apsilankykite wiki.samba.org, jei norite gauti išsamesnės informacijos, kaip įdiegti „Microsoft RSAT“ o Nuotolinio serverio administravimo įrankiai. Jei jums nereikia klasikinės „Microsoft Active Directory“ siūlomos strategijos, galite įdiegti paketą „ldap“ paskyros valdytojas kuri siūlo paprastą sąsają administravimui per interneto naršyklę.

„Microsoft“ nuotolinio serverio administravimo įrankių (RSAT) programų rinkinys yra įtrauktas į „Windows Server“ operacines sistemas.

Prisijungiame prie domeno prie „Windows 7“ kliento, pavadinto „septyni“

Kadangi mes neturime DHCP serverio tinkle, pirmas dalykas, kurį turime padaryti, yra sukonfigūruoti kliento tinklo kortelę su fiksuotu IP, paskelbti, kad pagrindinis DNS bus samba-ad-dcir patikrinkite, ar aktyvuota parinktis „Užregistruoti šio ryšio adresą DNS“. Nenaudojama tikrinti, ar pavadinimas «septyni»Dar nėra registruotas„ Samba “vidiniame DNS.

Prisijungę prie kompiuterio prie domeno ir paleisdami jį iš naujo, pabandykime prisijungti prie vartotojo «žingsniai«. Mes patikrinsime, ar viskas veikia gerai. Taip pat rekomenduojama patikrinti „Windows Client“ žurnalus ir teisingai sinchronizuoti laiką.

Administratoriai, turintys tam tikrą „Windows“ patirtį, pastebės, kad bet kokie kliento patikrinimai duos patenkinamus rezultatus.

Santrauka

Tikiuosi, kad straipsnis bus naudingas bendruomenės skaitytojams. DesdeLinux.

Sudie!


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Gonzalo Martinezas sakė

    Ilgas, bet išsamus straipsnis, labai geras žingsnis po žingsnio, kaip viską padaryti.

    Pabrėžiu NIS, tiesa ta, kad nors aš žinau apie jo egzistavimą, niekada nežinojau, kaip jis veikia, nes, tiesą pasakius, man visada susidarė įspūdis, kad jis praktiškai mirė šalia LDAP ir „Samba 4“.

    PS: Sveikiname su nauju asmeniniu projektu! Gaila, kad neketinate čia toliau rašyti, bet bent jau yra kur jus sekti.

  2.   HO2Gi sakė

    Didžiulė pamoka, kaip visada mano mėgstamiausiems, sveikinimai Fico.
    Sveikiname su projektu.

  3.   IWO sakė

    NIS skyrius yra puikus, aš užjaučiu Gonzalo Martinezą, trumpai žinojau, bet neįsivaizdavau, kaip tai įgyvendinti ir kokiose situacijose jis naudojamas.
    Vieną kartą ačiū už didžiulį teorinio ir praktinio straipsnio „bagažą“.
    Pagaliau naujos jūsų projekto „gigainside“ sėkmės.

  4.   Federico sakė

    Ačiū visiems už komentarus !!!.
    saludos

  5.   musolis sakė

    jūsų parodytas smb.conf neturi jokio ryšio su LDAP, ar taip tyčia, ar aš ką nors palikau?

  6.   phico sakė

    mussol: Tai „Samba 4 Active Directory“ domeno valdiklis, kuriame jau yra įmontuotas LDAP serveris.

  7.   Vincentas sakė

    Ar galėtumėte pakomentuoti, kaip sujungti „Mac“ („Apple“) su „Samba 4 AD-DC“?
    Ačiū.

  8.   jramirez sakė

    Kaip laikaisi;

    Ačiū už vadovą, tai puiku. Turiu klausimą dėl man pasirodančios žinutės.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Nepavyko išspręsti nurodyto prieglobos serverio pavadinimo / IP: ad.rjsolucionessac.com. Atminkite, kad negalite naudoti „/ mask“ IR „1-4,7,100-“ stiliaus IP diapazonų
    Nepavyksta rasti tinkamo taikinio. Įsitikinkite, kad nurodyti pagrindiniai kompiuteriai yra IP adresai standartiniame žymėjime arba pagrindinio kompiuterio vardai, kuriuos galima išspręsti naudojant DNS
    šaknis @ AD: ~ #