PAM, NIS, LDAP, Kerberos, DS kaj Samba 4 AD-DC - SMB-Retoj

Ĝenerala indekso de la serio: Komputilaj Retoj por SMEoj: Enkonduko

Saluton amikoj kaj amikoj!

Kun ĉi tiu artikolo mi adiaŭas la Komunumon FromLinux. Speciala adiaŭo por Speciala Komunumo. Ekde nun mi estos en mia persona projekto, kiun vi povas koni en http://www.gigainside.com.

La ĉefa celo de la afiŝo estas proponi «Granda Bildo»Pri la Aŭtentikigaj Servoj kun Libera Programaro, kiujn ni disponas. Almenaŭ tio estas nia intenco. Sekve ĝi estos longa, malgraŭ tio, ke ni scias, ke ĝi kontraŭas la ĝeneralajn regulojn pri verkado de artikoloj. Ni esperas, ke la Sistemaj Administrantoj dankas ĝin.

Ni volas atentigi, ke la komuna protokolo al multaj el la modernaj aŭtentikaj sistemoj estas la LDAP, kaj ke ne estas senutile studi ĝin zorge, el la studmaterialo, kiun ni trovos sur la oficiala retejo http://www.openldap.org/.

Ni ne donos detalajn difinojn - aŭ ligojn - pri aspektoj pritraktitaj en antaŭaj artikoloj, aŭ pri tiuj, kies priskribo povas esti facile alirebla en Vikipedio aŭ aliaj retejoj aŭ artikoloj en la interreto, por ne perdi la objektivecon de la mesaĝo, kiun ni volas doni. Ni ankaŭ uzos validan miksaĵon de nomoj en la angla kaj la hispana, ĉar ni konsideras, ke plej multaj sistemoj naskiĝis kun nomoj en la angla kaj estas tre utile por Sysadmin asimili ilin en sia originala lingvo..

  • PAM: Konektebla Aŭtentiga Modulo.
  • NIS: Reta_Informacio_Servo.
  • LDAP: Malpeza Alira Protokola Protokolo.
  • Kerberos: Sekureca protokolo por aŭtentikigi uzantojn, komputilojn kaj servojn centre en reto, kontrolante iliajn atestilojn kontraŭ ekzistantaj eniroj en la datumbazo Kerberos.
  • DS: Adresara Servilo aŭ Adresara Servo
  • AD-DC: Aktiva Adresaro - Regila Regilo

Indekso

PAM

Ni dediĉas malgrandan serion al ĉi tia speco de loka aŭtentokontrolo, kiun vi vidos en ĉiutaga praktiko, ke ĝi estas vaste uzata kiam ni ekzemple aligas laborstacion al Regila Regilo aŭ Aktiva Adresaro; mapi uzantojn konservitajn en eksteraj LDAP-datumbazoj kvazaŭ ili estus lokaj uzantoj; mapi uzantojn konservitajn en la Regila Regilo de Aktiva Adresaro kvazaŭ lokaj uzantoj, ktp.

NIS

De Vikipedio:

  • Reta Informsistemo (konata per ĝia akronimo NIS, kiu en la hispana signifas Retan Informsistemon), estas la nomo de protokolo de servaj adresaroj kliento-servilo disvolvita de Sun Microsystems por sendi agordajn datumojn en distribuitaj sistemoj kiel nomoj de uzantoj kaj gastigantoj inter komputiloj en reto.NIS baziĝas sur ONC-RPC, kaj konsistas el servilo, klienta flanka biblioteko kaj diversaj administraj iloj.

    NIS origine nomiĝis Flavaj Paĝoj, aŭ YP, kiu ankoraŭ estas uzata por nomi ĝin. Bedaŭrinde, tiu nomo estas varmarko de British Telecom, kiu postulis Sunon faligi tiun nomon. Tamen YP restas prefikso en la nomoj de plej multaj NIS-rilataj komandoj, kiel ypserv kaj ypbind.

    DNS servas limigitan informon, la plej grava estas la korespondado inter la nomo de la nodo kaj la IP-adreso. Por aliaj specoj de informoj, ne ekzistas tia faka servo. Aliflanke, se nur malgranda LAN estas administrata sen interreta konektebleco, ĝi ne ŝajnas indi agordi DNS. Tial Suno disvolvis la Retan Informan Sistemon (NIS). NIS provizas ĝeneralajn datumajn alirajn kapablojn, kiuj povas esti uzataj por distribui, ekzemple, la informojn enhavitajn en pasvd kaj grupigas dosierojn al ĉiuj nodoj de via reto. Ĉi tio faras la reton aspekti kiel ununura sistemo, kun la samaj kontoj en ĉiuj nodoj. Simile NIS povas esti uzata por distribui la informojn pri nodnomoj enhavitaj en / etc / hosts al ĉiuj maŝinoj en la reto.

    Hodiaŭ NIS haveblas en preskaŭ ĉiuj Uniksaj distribuoj, kaj ekzistas eĉ senpagaj efektivigoj. BSD Net-2 publikigis unu, kiu estis derivita de publika referenca efektivigo donacita de Suno. La biblioteka kodo por la klienta parto de ĉi tiu versio estas en la GNU / Linukso libc delonge, kaj la administradaj programoj estis portitaj al GNU / Linukso fare de Swen Thümmler. Tamen mankas NIS-servilo ekde la referenca efektivigo.

    Peter Eriksson disvolvis novan efektivigon nomatan NYS. Ĝi subtenas kaj bazan NIS kaj la plibonigitan version de Sun NIS +. [1] NYS ne nur provizas kelkajn NIS-ilojn kaj servilon, sed ankaŭ aldonas tute novan aron da bibliotekaj funkcioj, kiujn vi bezonas kompili en vian libc, se vi volas uzi ilin. Ĉi tio inkluzivas novan agordan skemon por noda nomo-rezolucio, kiu anstataŭas la nunan skemon uzatan de la dosiero "host.conf".

    La GNU libc, konata kiel libc6 en la komunumo GNU / Linukso, inkluzivas ĝisdatigitan version de la tradicia NIS-subteno evoluigita de Thorsten Kukuk. Ĝi subtenas ĉiujn bibliotekajn funkciojn provizitajn de NYS, kaj ankaŭ uzas la progresintan agordan skemon de NYS. La iloj kaj servilo ankoraŭ bezonas, sed uzi la GNU-libc ŝparas la laboron de flikado kaj rekompilo de la biblioteko

    .

Komputila kaj domajna nomo, retinterfaco kaj solvilo

  • Ni komencas de pura instalado -sen grafika interfaco- de Debian 8 "Jessie". La domajno swl.fan signifas "Fanoj de Libera Programaro." Kio pli bona nomo ol ĉi tiu?.
root @ master: ~ # hostname
majstro
root @ master: ~ # hostname -f
majstro.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 amplekso gastiganto lo valid_lft forever preferita_lft forever inet6 :: 1/128 amplekso gastiganto valid_lft por ĉiam preferita_lft por ĉiam 2: eth0: mtu 1500 qdisc pfifo_fast state UP grupo defaŭlte qlen 1000 ligilo / etero 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 amplekso global eth0 valid_lft ĉiam preferata_lft por ĉiam inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 amplekso ligo valid_lft ĉiam preferata_lft por ĉiam

root @ master: ~ # cat /etc/resolv.conf 
serĉo swl.fan nomservilo 127.0.0.1

Instalado de bind9, isc-dhcp-server kaj ntp

ligi9

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

root @ master: ~ # nano /etc/bind/named.conf
inkluzivi "/etc/bind/named.conf.options"; inkluzivi "/etc/bind/named.conf.local"; inkluzivi "/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
opcioj {dosierujo "/ var / cache / bind"; // Se estas fajroŝirmilo inter vi kaj nomserviloj kun kiuj vi volas // paroli, vi eble devos ripari la fajromuron por permesi al // // havenoj paroli. Vidu http://www.kb.cert.org/vuls/id/800113

        // Se via ISP provizis unu aŭ plurajn IP-adresojn por stabilaj // nomserviloj, vi probable volas uzi ilin kiel plusendilojn. // Malkomentigu la sekvan blokon, kaj enmetu la adresojn anstataŭigante // la anstataŭilon de ĉiuj 0. // plusendantoj {// 0.0.0.0; //}; // ================================================= ===================== $ // Se BIND registras erarmesaĝojn pri la radika ŝlosilo eksvalidiĝanta, // vi devos ĝisdatigi viajn ŝlosilojn. Vidu https://www.isc.org/bind-keys
        // ================================================= ===================== $ // Ni ne volas DNSSEC
        dnssec-enable ne;
        // dnssec-validation auto; auth-nxdomain ne; # konformi al RFC1035 aŭskultu-v6 {any; }; // Por ĉekoj de localhost kaj sysadmin // tra dig swl.fan axfr // Ni ne havas Sklavan DNS ... ĝis nun
        permesi-translokigi {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Komuna Adresspaco (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"; };

// Ligo-loka / APIPA (RFCs 3927, 5735 kaj 6303)
zono "254.169.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IETF-protokolaj taskoj (RFCoj 5735 kaj 5736)
zono "0.0.192.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// TEST-NET- [1-3] por Dokumentado (RFC-oj 5735, 5737 kaj 6303)
zono "2.0.192.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "100.51.198.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "113.0.203.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IPv6 Ekzempla Areo por Dokumentado (RFC-oj 3849 kaj 6303)
zono "8.bd0.1.0.0.2.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// Domajnaj Nomoj por Dokumentado kaj Testado (BCP 32)
zono "testo" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "ekzemplo" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "malvalida" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "ekzemplo.com" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "ekzemplo.net" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "ekzemplo.org" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// Router Benchmark Testing (RFCs 2544 kaj 5735)
zono "18.198.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "19.198.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IANA Rezervita - Malnova Klaso E-Spaco (RFC 5735)
zono "240.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "241.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "242.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "243.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "244.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "245.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "246.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "247.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "248.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "249.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "250.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "251.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "252.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "253.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "254.in-addr.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IPv6 Neasignitaj Adresoj (RFC 4291)
zono "1.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "3.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "4.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "5.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "6.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "7.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "8.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "9.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "a.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "b.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "c.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "d.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "e.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "0.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "1.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "2.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "3.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "4.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "5.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "6.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "7.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "8.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "9.f.ip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "afip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "bfip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "0.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "1.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "2.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "3.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "4.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "5.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "6.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "7.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 kaj 6303)
zono "cfip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "dfip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IPv6-Ligo Loka (RFC-oj 4291 kaj 6303)
zono "8.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "9.efip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "aefip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "befip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IPv6 Malrekomendata Ejo-Lokaj Adresoj (RFC-oj 3879 kaj 6303)
zono "cefip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "defip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "eefip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; }; zono "fefip6.arpa" {tipo majstro; dosiero "/etc/bind/db.empty"; };

// IP6.INT estas kaduka (RFC 4159)
zono "ip6.int" {tipo majstro; dosiero "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Faru iun ajn lokan agordon ĉi tie // // Konsideru aldoni la 1918-zonojn ĉi tie, se ili ne estas uzataj en via // organizo inkluzivas "/etc/bind/zones.rfc1918";
inkluzivi "/etc/bind/zones.rfcFreeBSD";

// Deklaro pri la nomo, tipo, loko kaj ĝisdatiga permeso // de la DNS-Rekordaj Zonoj // Ambaŭ Zonoj estas MASTER-zono "swl.fan" {tipa majstro; dosiero "/var/lib/bind/db.swl.fan"; }; zono "10.168.192.in-addr.arpa" {tipo majstro; dosiero "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # named-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; seria 1D; refreŝigu 1H; reprovu 1W; eksvalidiĝu 3H); minimuma aŭ; Negativa kaŝmemora tempo por vivi; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Por Ŝatantoj de Libera Programaro"; sysadmin EN A 192.168.10.1 dosierservilo EN A 192.168.10.4 mastro EN A 192.168.10.5 proxyweb EN A 192.168.10.6 blogo EN A 192.168.10.7 ftpservilo EN A 192.168.10.8 poŝto EN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; seria 1D; refreŝigu 1H; reprovu 1W; eksvalidiĝu 3H); minimuma aŭ; Negativa konservado de tempo; @ IN NS master.swl.fan. ; 1 EN PTR sysadmin.swl.fan. 4 EN PTR-dosierserver.swl.fan. 5 EN PTR master.swl.fan. 6 EN PTR proxyweb.swl.fan. 7 EN PTR-blogo.swl.fan. 8 EN PTR ftpserver.swl.fan. 9 EN PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zone swl.fan/IN: ŝarĝita seria 1 Bone
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
zono 10.168.192.in-addr.arpa/IN: ŝarĝita seria 1 OK

root @ master: ~ # named-checkconf -zp
root @ master: ~ # systemctl restart bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9-ĉekojn

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # dig IN SOA swl.fan
root @ master: ~ # dig IN NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Komencante Nping 0.6.47 ( http://nmap.org/nping ) ĉe 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Min rtt: N / A | Avg rtt: N / A Krudaj pakoj senditaj: 84 (0B) | Rcvd: 0 (3B) | Perdita: 100.00 (1%) Nping farita: 3.01 IP-adreso pingita en XNUMX sekundoj 

isc-dhcp-servilo

root @ master: ~ # aptitude install isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Sur kiuj interfacoj la DHCP-servilo (dhcpd) devas servi DHCP-petojn? # Apartigu plurajn interfacojn kun spacoj, ekz. "Eth0 eth1".
INTERFACES = "eth0"

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

root @ master: ~ # nano dhcp.key
ŝlosilo dhcp-ŝlosilo {
        algoritmo hmac-md5;
        sekreta "Ba9GVadq4vOCixjPN94dCQ == ";
}; root @ master: ~ # install -o root -g bind -m 0640 dhcp.key /etc/bind/dhcp.key root @ master: ~ # install -o root -g root -m 0640 dhcp.key / etc / dhcp /dhcp.key root @ master: ~ # nano /etc/bind/named.conf.local
inkluzivi "/etc/bind/dhcp.key";

zono "swl.fan" {tipo majstro; dosiero "/var/lib/bind/db.swl.fan";
        permesi-ĝisdatigi {ŝlosilo dhcp-ŝlosilo; };
}; zono "10.168.192.in-addr.arpa" {tipo majstro; dosiero "/var/lib/bind/db.10.168.192.in-addr.arpa";
        permesi-ĝisdatigi {ŝlosilo dhcp-ŝlosilo; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-ĝisdatigi-stilan provizoran; ddns-ĝisdatigoj pri; ddns-domajna nomo "swl.fan."; ddns-rev-domajna nomo "in-addr.arpa."; ignori klientajn ĝisdatigojn; ĝisdatigo-optimumigo falsa; # Eble necesas ĉe Debian aŭtoritata; opcio ip-plusendado; opcio domajna nomo "swl.fan"; inkluzivi "/etc/dhcp/dhcp.key"; zono swl.fan. {ĉefa 127.0.0.1; ŝlosilo dhcp-ŝlosilo; } zono 10.168.192.in-addr.arpa. {ĉefa 127.0.0.1; ŝlosilo dhcp-ŝlosilo; } dividita-retloka {subreto 192.168.10.0 retmasko 255.255.255.0 {opcio-enkursigiloj 192.168.10.1; opcio subreto-masko 255.255.255.0; opcio elsendadreso 192.168.10.255; opcio domajnonomaj serviloj 192.168.10.5; opcio netbios-name-servers 192.168.10.5; opcio ntp-serviloj 192.168.10.5; opcio tempo-serviloj 192.168.10.5; gamo 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Interreta Sistemo-Konsorcio DHCP-Servilo 4.3.1 Kopirajto 2004-2014 Interreta Sistemo-Konsorcio. Ĉiuj rajtoj rezervitaj. Por informoj, bonvolu viziti https://www.isc.org/software/dhcp/
Agorda dosiero: /etc/dhcp/dhcpd.conf Datumbaza dosiero: /var/lib/dhcp/dhcpd.leases PID-dosiero: /var/run/dhcpd.pid

root @ master: ~ # systemctl restart bind9.service 
root @ master: ~ # systemctl status bind9.service 

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

ntp

root @ master: ~ # aptitude install ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 192.168.10.1 restrict -4 defaŭlte kod notrap nomodify nopeer noquery restrikti -6 defaŭlta kod notrap nomodify nopeer noquery restriktas 127.0.0.1 restriktas :: 1 elsendo 192.168.10.255

root @ master: ~ # systemctl restart ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 majo 10:04:01 ntpdate [18769]: ĝustigu tempan servilon 192.168.10.1 ofseto 0.369354 sek

Tutmondaj ĉekoj pri ntp, bind9 kaj isc-dhcp-server

De kliento Linukso, BSD, Mac OS aŭ Vindozo kontrolu, ke la horo estas ĝuste sinkronigita. Ke ĝi akiras dinamikan IP-adreson kaj ke la nomo de tiu gastiganto estas solvita per rektaj kaj inversaj DNS-demandoj. Ŝanĝu la nomon de la kliento kaj refaru ĉiujn ĉekojn. Ne daŭrigu antaŭ ol vi certos, ke la ĝis nun instalitaj servoj funkcias ĝuste. Por io ni skribis ĉiujn artikolojn pri DNS kaj DHCP en Komputilaj Retoj por PYMoj.

Instalado de NIS-Servilo

root @ master: ~ # aptitude show nis
Konfliktoj kun: netstd (<= 1.26) Priskribo: klientoj kaj demonoj por la Reta Informa Servo (NIS) Ĉi tiu pakaĵo provizas ilojn por starigi kaj konservi NIS-domajnon. NIS, originale konata kiel Flavaj Paĝoj (YP), estas plejparte uzata por lasi plurajn maŝinojn en reto dividi la samajn kontajn informojn, kiel la pasvorta dosiero.

root @ master: ~ # aptitude install nis
Paka Agordo ┌──────────────────────────┤ Nis-Agordo ├──────────────── ──────────┐ │ Elektu la "domajnan nomon" de NIS por ĉi tiu sistemo. Se vi volas, ke ĉi tiu maŝino estu nur kliento, vi devas enigi la nomon de la domajno │ │ NIS al kiu vi volas aliĝi. │ │ │ │ Alternative, se ĉi tiu maŝino devas esti NIS-servilo, vi povas │ │ enigi novan NIS "domajnan nomon" aŭ la nomon de ekzistanta NIS │ │-domajno. │ │ │ │ NIS-Domajno: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ ─────────────────────────────┘  

Ĝi prokrastos vian ĉar la serva agordo ne ekzistas kiel tia. Bonvolu atendi la finon de la procezo.

root @ master: ~ # nano / etc / default / nis
# Ĉu ni estas NIS-servilo kaj se jes kiaj specoj (valoroj: falsa, sklavo, mastro)?
NISSERVER = majstro

root @ master: ~ # nano /etc/ypserv.securenets # securenets Ĉi tiu dosiero difinas la alirrajtojn al via NIS-servilo # por NIS-klientoj (kaj sklavaj serviloj - ypxfrd ankaŭ uzas ĉi tiun # dosieron). Ĉi tiu dosiero enhavas retajn maskojn / retajn parojn. # A-klienta IP-adreso devas kongrui kun almenaŭ unu el tiuj. # # Oni povas uzi la vorton "gastiganto" anstataŭ retmasko de # 255.255.255.255. Nur IP-adresoj estas permesitaj en ĉi tiu # dosiero, ne gastnomoj. # # Ĉiam permesi aliron al localhost 255.0.0.0 127.0.0.0 # Ĉi tiu linio donas aliron al ĉiuj. BONVOLU REGULI! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Ĉu ni kunfandu la passwd-dosieron kun la ombra dosiero? # MERGE_PASSWD = vera | malvera
MERGE_PASSWD = vera

# Ĉu ni kunfandu la grupan dosieron kun la gshadow-dosiero? # MERGE_GROUP = vera | malvera
MERGE_GROUP = vera

Ni konstruas la NIS-datumbazon

root @ master: ~ # / usr / lib / yp / ypinit -m
Je ĉi tiu punkto, ni devas konstrui liston de la gastigantoj, kiuj funkciigos NIS-servilojn. master.swl.fan estas en la listo de NIS-servilaj gastigantoj. Bonvolu plu aldoni la nomojn por la aliaj gastigantoj, po po unu linio. Kiam vi finos la liston, tajpu a . sekva gastiganto: master.swl.fan sekva gastiganto: La nuna listo de NIS-serviloj aspektas jene: master.swl.fan Ĉu ĉi tio ĝustas? [y / n: y] Ni bezonas kelkajn minutojn por krei la datumbazojn ... make [1]: Forlasante dosierujon '/var/yp/swl.fan' master.swl.fan estis starigita kiel mastro-servilo NIS . Nun vi povas ruli ypinit -s master.swl.fan sur ĉiuj sklavaj serviloj.

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

Ni aldonas lokajn uzantojn

root @ master: ~ # adduser bilbo
Aldono de la uzanto "bilbo" ... Aldono de la nova grupo "bilbo" (1001) ... Aldono de la nova uzanto "bilbo" (1001) kun grupo "bilbo" ... Kreo de la hejma dosierujo `/ home / bilbo ' ... Kopiante la dosierojn de `/ etc / skel '... Enigu la novan pasvorton de UNIX: Retajpu la novan pasvorton de UNIX: passwd: pasvorto ĝisdatigita ĝuste Ŝanĝante la uzantajn informojn por bilbo Enigu la novan valoron, aŭ premu ENIRON por uzi la aprioran Plenan Nomon []: Bilbo Bagins-Ĉambro-Numero []: Labor-Telefono []: Hejma Telefono []: Aliaj []: Ĉu la informo ĝustas? [Y / n]

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

kaj tiel plu.

root @ master: ~ # fingro legolas
Ensaluto: legolas Nomo: Legolas Archer Directory: / home / legolas Shell: / bin / bash Neniam ensalutinta. Neniu poŝto. Neniu Plano.

Ni ĝisdatigas la NIS-datumbazon

root @ master: / var / yp # make
make [1]: Enirante dosierujon '/var/yp/swl.fan' Ĝisdatigante passwd.byname ... Ĝisdatigante passwd.byuid ... Ĝisdatigante group.byname ... Ĝisdatigante group.bygid ... Ĝisdatigante netid.byname. .. Ĝisdatigante shadow.byname ... Ignorita -> kunfandita kun passwd make [1]: Forlasante dosierujon '/var/yp/swl.fan'

Ni aldonas NIS-opciojn al la isc-dhcp-servilo

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-ĝisdatigi-stilan provizoran; ddns-ĝisdatigoj pri; ddns-domajna nomo "swl.fan."; ddns-rev-domajna nomo "in-addr.arpa."; ignori klientajn ĝisdatigojn; ĝisdatigo-optimumigo falsa; aŭtoritata; opcio ip-plusendado; opcio domajna nomo "swl.fan"; inkluzivi "/etc/dhcp/dhcp.key"; zono swl.fan. {ĉefa 127.0.0.1; ŝlosilo dhcp-ŝlosilo; } zono 10.168.192.in-addr.arpa. {ĉefa 127.0.0.1; ŝlosilo dhcp-ŝlosilo; } dividita-retloka {subreto 192.168.10.0 retmasko 255.255.255.0 {opcio-enkursigiloj 192.168.10.1; opcio subreto-masko 255.255.255.0; opcio elsendadreso 192.168.10.255; opcio domajnonomaj serviloj 192.168.10.5; opcio netbios-name-servers 192.168.10.5; opcio ntp-serviloj 192.168.10.5; opcio tempo-serviloj 192.168.10.5;
                opcio nis-domain "swl.fan";
                opcio nis-serviloj 192.168.10.5;
                gamo 192.168.10.30 192.168.10.250; }}

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

NIS-Klienta Instalado

  • Ni komencas de pura instalado -sen grafika interfaco- de Debian 8 "Jessie".
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP-grupo defaŭlte qlen 1000 ligilo / etero 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 amplekso tutmonda eth0

root @ mail: ~ # aptitude install nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Agorda dosiero por la ypbind-procezo. Vi povas difini # NIS-servilojn permane ĉi tie, se ili ne troveblas per # elsendado sur la loka reto (kiu estas la apriora). # # Vidu la manlibron de ypbind por la sintakso de ĉi tiu dosiero. # # GRAVA: Por la "ypserver", uzu IP-adresojn aŭ certigu, ke # la gastiganto estas en / etc / hosts. Ĉi tiu dosiero nur interpretiĝas # unufoje, kaj se DNS ne atingeblas, tamen la ypserver ne povas esti solvita kaj ypbind neniam ligos al la servilo. # ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Ekzempla agordo de la funkcio GNU Name Service Switch. # Se vi havas la pakaĵojn `glibc-doc-reference 'kaj` info' instalitaj, provu: # `info libc" Noma Servoŝaltilo "'por informoj pri ĉi tiu dosiero. passwd: compat nis grupo: compat nis shadow: compat nis gshadow: dosieroj gastigantoj: dosieroj dns nis retoj: dosieraj protokoloj: db-dosieroj servoj: db-dosieroj eteroj: db-dosieroj rpc: db-dosieroj netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) por detaloj.
nedeviga pam_mkhomedir.so skel = / etc / skel umask = 077
# jen la po-pakaj moduloj (la "Ĉefa" bloko)

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

Ni fermas la kunsidon kaj rekomencas ĝin sed kun uzanto registrita en la NIS-datumbazo ĉe majstro.swl.fan.

root @ mail: ~ # exit
elsaluti Konekto al retpoŝto fermiĝis.

buzz @ sysadmin: ~ $ ssh legolas @ mail
pasvorto de legolas @ mail: Kreante dosierujon '/ home / legolas'. La programoj inkluzivitaj kun la sistemo Debian GNU / Linukso estas libera programaro; la ĝustaj distribuaj kondiĉoj por ĉiu programo estas priskribitaj en la individuaj dosieroj en / usr / share / doc / * / copyright. Debian GNU / Linukso venas kun ABSOLUTE NENIU GARANTIO, laŭ la permeso de la aplikebla juro.
legolas @ mail: ~ $ pwd
/ hejmo / legolas
legolas @ mail: ~ $ 

Ni ŝanĝas la pasvorton de la legolas-uzanto kaj kontrolas

legolas @ mail: ~ $ yppasswd 
Ŝanĝi informojn pri NIS-konto por legolas ĉe master.swl.fan. Bonvolu enigi malnovan pasvorton: legolas Ŝanĝi NIS-pasvorton por legolas en master.swl.fan. Bonvolu enigi novan pasvorton: pafarkisto La pasvorto devas havi ambaŭ majusklajn kaj minusklajn literojn aŭ neleterajn. Bonvolu enigi novan pasvorton: Arquero2017 Bonvolu tajpi novan pasvorton: Arquero2017 La NIS-pasvorto estis ŝanĝita ĉe master.swl.fan.

legolas @ mail: ~ $ exit
elsaluti Konekto al retpoŝto fermiĝis.

buzz @ sysadmin: ~ $ ssh legolas @ mail
pasvorto de legolas @ mail: Arquero2017

La programoj inkluzivitaj kun la sistemo Debian GNU / Linukso estas libera programaro; la ĝustaj distribuaj kondiĉoj por ĉiu programo estas priskribitaj en la individuaj dosieroj en / usr / share / doc / * / copyright. Debian GNU / Linukso venas kun ABSOLUTE NENIU GARANTIO, laŭ la permeso de la aplikebla juro. Lasta ensaluto: sab 27 majo 12:51:50 2017 de sysadmin.swl.fan
legolas @ mail: ~ $

La NIS-Servo efektivigita ĉe la servila kaj klienta nivelo funkcias ĝuste.

LDAP

El Vikipedio:

  • LDAP estas la akronimo de Malpeza Alira Protokola Protokolo (hispane Malpeza / Simpligita Alira Protokola Protokolo), kiu rilatas al aplika nivela protokolo, kiu permesas aliron al ordigita kaj distribuita adresara servo por serĉi diversajn informojn en ĉirkaŭaĵo. reto. LDAP ankaŭ estas konsiderata datumbazo (kvankam ĝia stokada sistemo povas esti malsama) pridemandinda.Adresaro estas aro de objektoj kun atributoj organizitaj laŭ logika kaj hierarkia maniero. La plej ofta ekzemplo estas la telefona adresaro, kiu konsistas el serio de nomoj (personoj aŭ organizoj) aranĝitaj alfabete, kun ĉiu nomo havanta adreson kaj telefonan numeron ligita al ĝi. Por pli bone kompreni, ĝi estas libro aŭ dosierujo, en kiu estas skribitaj nomoj, telefonaj numeroj kaj adresoj de homoj, kaj ĝi estas aranĝita alfabete.

    LDAP-adresarbo foje reflektas diversajn politikajn, geografiajn aŭ organizajn limojn, depende de la elektita modelo. Aktualaj LDAP-disfaldoj emas uzi nomojn de Domajna Sistemo (DNS) por strukturi la pli altajn nivelojn de la hierarkio. Dum vi malsupreniras la dosierujon, eniroj povas aperi reprezentante homojn, organizajn unuojn, presilojn, dokumentojn, homgrupojn, aŭ ion ajn, kio reprezentas donitan eniron en la arbo (aŭ plurajn enirojn).

    Kutime ĝi stokas la aŭtentikajn informojn (uzantnomo kaj pasvorto) kaj estas uzata por aŭtentikigi, kvankam eblas stoki aliajn informojn (uzanto-kontaktodatumoj, loko de diversaj retaj rimedoj, permesoj, atestiloj, ktp). Resume, LDAP estas unuigita alira protokolo al aro da informoj en reto.

    La aktuala versio estas LDAPv3, kaj ĝi estas difinita en RFCs RFC 2251 kaj RFC 2256 (LDAP-baza dokumento), RFC 2829 (aŭtentikiga metodo por LDAP), RFC 2830 (etendaĵo por TLS), kaj RFC 3377 (teknika specifo)

    .

Por longaLa protokolo LDAP - kaj ĝiaj datumbazoj kongruaj aŭ ne kun OpenLDAP - estas la plej uzata en plej multaj aŭtentikaj sistemoj hodiaŭ. Kiel ekzemplo de la antaŭa aserto, ni donas sube iujn nomojn de sistemoj -Senpagaj aŭ Privataj-, kiuj uzas LDAP-datumbazojn kiel backend por stoki ĉiujn siajn objektojn:

  • OpenLDAP
  • Apache DirectoryServer
  • Red Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystem Open DS
  • Red Hat Identity Manager
  • Senpaga IPA
  • Samba NT4 Klasika Domajna Regilo.
    Ni volas klarigi, ke ĉi tiu sistemo estis evoluo de Team Samba kun Samba 3.xxx + OpenLDAP kiel backend. Microsoft neniam efektivigis ion similan. Saltis de NT 4 Domaj Regiloj al iliaj Aktivaj Dosierujoj
  • Samba 4 Active Directory - Domajna Kontrolilo
  • ClearOS
  • Zentyal
  • Kompania Servilo UCS Uninvention
  • Microsoft Active Directory

Ĉiu efektivigo havas siajn proprajn karakterizaĵojn, kaj la plej norma kaj kongrua estas la OpenLDAP.

Active Directory, ĉu ĝi estas la originala de Microsoft aŭ tiu de Samba 4, konsistigas kuniĝon de pluraj ĉefaj eroj, kiuj estas:

Ni ne devas konfuzi a Adresara Servo o Adresara Servo kun Aktiva Dosierujo o Aktiva Adresaro. La unuaj povas aŭ ne aranĝi Kerberos-aŭtentokontrolon, sed ili ne ofertas la Microsoft-retan servon, kiun Vindozo-Domajno provizas, nek ili havas Vindozan Regilan Regilon kiel tia.

Adresara Servo aŭ Adresara Servo povas esti uzata por aŭtentikigi uzantojn en miksita reto kun UNIX / Linukso kaj Vindozaj klientoj. Por ĉi-lasta, programo devas esti instalita sur ĉiu kliento, kiu funkcias kiel peranto inter la Kataloga Servo kaj la Vindozo-kliento mem, kiel Libera Programaro. paĝo.

Adresara Servo kun OpenLDAP

  • Ni komencas de pura instalado -sen grafika interfaco- de Debian 8 "Jessie", kun la sama maŝina nomo "majstro" uzata por la instalado de NIS, same kiel la agordo de ĝia retinterfaco kaj la dosiero /etc/resolv.conf. Ni instalis la servilon ntp, bind9 kaj isc-dhcp por ĉi tiu nova servilo, sen forgesi la tutmondajn kontrolojn pri la ĝusta funkciado de la tri antaŭaj servoj..
root @ master: ~ # aptitude install slapd ldap-utils

Paka agordo

┌────────────────────┤ Slapd-agordo ├────────────────────┐ │ Enigu la pasvorton por la administranta eniro de via LDAP │ │ -dosierujo. │ │ │ │ Pasvorto de administranto: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────┘

Ni kontrolas la komencan agordon

root @ master: ~ # slapcat
dn: dc = swl, dc = ventumilo
objectClass: top objectClass: dcObject objectClass: organizo o: swl.fan dc: swl strukturaObjectClass: organiza eniroUUID: c8510708-da8e-1036-8fe1-71d022a16904 kreintojName: cn = administranto, dc = swl, dc = enira eniro createTimestamp20170531205219: 20170531205219.833955 Z # 000000 # 000 # 000000-modifiloj Nomo: cn = administranto, dc = swl, dc = ventumilo modifi Tempestamp: 20170531205219Z

dn: cn = administranto, dc = swl, dc = ventumilo
objectClass: simpleSecurityObject objectClass: organizationalRole cn: Admin priskribo: LDAP administranto userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe-eniro = cXNUMXe XNUMXZ # XNUMX # XNUMX # XNUMX modifiloj Nomo: cn = administranto, dc = swl, dc = ventumilo modifi Tempestamp: XNUMXZ

Ni modifas la dosieron /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BAZO dc = swl, dc = fan-URI    ldap: // localhost

Organizaj Unuoj kaj ĝenerala grupo «uzantoj»

Ni aldonas la minimumajn necesajn Organizajn Unuojn, same kiel la grupon Posix «uzantoj» al kiuj ni igos ĉiujn uzantojn membroj, sekvante la ekzemplon de multaj sistemoj, kiuj havas la gruponuzantoj«. Ni nomas ĝin per la nomo de «uzantoj» por ne eniri en eblajn konfliktojn kun la grupo «surhavi"de la sistemo.

root @ master: ~ # nano base.ldif
dn: ou = homoj, dc = swl, dc = fanobjekto Klaso: organizaUnit ou: homoj dn: ou = grupoj, dc = swl, dc = fanobjekto Klaso: organizaUnit ou: grupoj dn: cn = uzantoj, ou = grupoj, dc = swl, dc = fan objectClass: posixGroup cn: users gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Entajpu LDAP-Pasvorton: aldonante novan eniron "ou = homoj, dc = swl, dc = fan" aldonante novan eniron "ou = grupoj, dc = swl, dc = fan"

Ni kontrolas la aldonitajn enirojn

root @ master: ~ # ldapsearch -x ou = homoj
# homoj, swl.fan dn: ou = homoj, dc = swl, dc = fanobjekto Klaso: organiza Unuo ou: homoj

root @ master: ~ # ldapsearch -x ou = grupoj
# grupoj, swl.fan dn: ou = grupoj, dc = swl, dc = fanobjekto Klaso: organiza Unuo ou: grupoj

root @ master: ~ # ldapsearch -x cn = uzantoj
# uzantoj, grupoj, swl.fan dn: cn = uzantoj, ou = grupoj, dc = swl, dc = fanobjekto Klaso: posixGrupo cn: uzantoj gidNombro: 10000

Ni aldonas plurajn uzantojn

La pasvorto, kiun ni devas deklari en LDAP, devas esti akirita per la komando slappasswd, kiu redonas SSHA-ĉifritan pasvorton.

Pasvorto por la uzanto paŝas:

root @ master: ~ # slappasswd 
Nova pasvorto: Enmetu novan pasvorton: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Pasvorto por uzanto legolas

root @ master: ~ # slappasswd 
Nova pasvorto: Enmetu novan pasvorton: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Pasvorto por uzanto gandalf

root @ master: ~ # slappasswd 
Nova pasvorto: Enmetu novan pasvorton: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = strides, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides givenName: Strides sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: trancos@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-uzanto Pasvorto: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 mail: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeDirectory: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf givenName: Gandalf sn: La Sorĉisto uzanto Pasvorto: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 mail: gandalf@swl.fan
gecos: Gandalf The Wizard loginShell: / bin / bash homeDirectory: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Enigu LDAP-Pasvorton: aldonante novan eniron "uid = paŝoj, ou = homoj, dc = swl, dc = fan" aldonante novan eniron "uid = legolas, ou = homoj, dc = swl, dc = fan" aldonante novan eniron "uid = gandalfo, ou = homoj, dc = swl, dc = fan "

Ni kontrolas la aldonitajn enirojn

root @ master: ~ # ldapsearch -x cn = paŝoj
root @ master: ~ # ldapsearch -x uid = paŝoj

Ni administras la slpad-datumbazon per konzolaj utilecoj

Ni elektas la pakon ldapscripts por tia tasko. La procedo de instalado kaj agordo estas jena:

root @ master: ~ # aptitude install ldapscripts
 
root @ master: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.original
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
SERVIDO = loka gastiganto BINDDN = 'cn = administranto, dc = swl, dc = fan' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = swl, dc = fan' GSUFFIX = 'ou = grupoj' USUFFIX = 'ou = homoj' # MSUFFIX = 'ou = Komputiloj' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP-klientaj komandoj LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGrATE "# UTEM ktp. /ldapadduser.template "PASSWORDGEN =" eoo% u "

Rimarku, ke la skriptoj uzas la pakajn komandojn ldap-utils. Kuri dpkg -L ldap-utils | grep / bin scii, kio ili estas.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapadduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: antaŭnomo: sn: displayName: uidNombro: gidNumber: 10000 homeDirectory: ensalutŝelo: poŝto: @ swl.fan geckos: priskribo: Uzanta Konto
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## ni forigas la komenton UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Ni aldonas la uzanton "bilbo" kaj igas lin membro de la grupo "uzantoj"

root @ master: ~ # ldapadduser bilbo-uzantoj
[dn: uid = bilbo, ou = homoj, dc = swl, dc = fervorulo] Enigu valoron por "donitaNomo": Bilbo [dn: uid = bilbo, ou = homoj, dc = swl, dc = fervorulo] Enigu valoron por " sn ": Bagins [dn: uid = bilbo, ou = homoj, dc = swl, dc = fan] Enigu valoron por" displayName ": Bilbo Bagins Sukcese aldonis uzanton bilbo al LDAP Sukcese starigis pasvorton por uzanto bilbo

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

Por vidi la haŝiŝon de la pasvorto de la bilbo-uzanto, necesas fari la demandon kun aŭtentikigo:

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

Por forigi la bilbo-uzanton ni ekzekutas:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Enigu LDAP-Pasvorton:

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

Ni administras la slapd-datumbazon per interreta interfaco

Ni havas funkcian Adresaran Servon, kaj ni volas administri ĝin pli facile. Estas multaj programoj desegnitaj por ĉi tiu tasko, kiel la phpldapadmin, ldap-konto-administranto, ktp., kiuj estas haveblaj rekte de la deponejoj. Ni ankaŭ povas administri Adresaran Servon per la Apache Directory Studio, kiun ni devas elŝuti de interreto.

Por pliaj informoj, bonvolu viziti https://blog.desdelinux.net/ldap-introduccion/, kaj la jenaj 6 artikoloj.

LDAP-kliento

Scenejo:

Diru, ke ni havas la teamon mail.swl.fan kiel retpoŝta servilo efektivigita kiel ni vidis en la artikolo Postfix + Dovecot + Squirrelmail kaj lokaj uzantoj, kiu kvankam disvolvita ĉe CentOS, povas bone servi kiel gvidilo por Debian kaj multaj aliaj Linuksaj distribuaĵoj. Ni volas, ke krom la lokaj uzantoj, kiujn ni jam deklaris, la uzantoj konservitaj en la datumbazo OpenLDAP ekzistanta en majstro.swl.fan. Por atingi ĉi-supre ni devas «mapi»Al LDAP-uzantoj kiel lokaj uzantoj en la servilo mail.swl.fan. Ĉi tiu solvo validas ankaŭ por iu ajn servo bazita sur PAM-aŭtentokontrolo. La ĝenerala procedo por Debian, estas la sekva:

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

  ┌────────────────────┤ Agordo de libnss-ldap ├─────────────────────┐ │ Enigu la URI ("Uniform Resource Identifier", aŭ │ │ Uniform Resource Identifier) ​​de la LDAP-servilo. Ĉi tiu ŝnuro similas al │ │ «ldap: //: / ». Vi ankaŭ povas │ │ uzi «ldaps: // » aŭ "ldapi: //". La havena numero estas nedeviga. │ │ │ │ Oni rekomendas uzi IP-adreson por eviti malsukceson kiam domajnomaj servoj │ │ ne disponeblas. │ │ │ │ LDAP-servilo URI: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Agordo de libnss-ldap ├──────────────────────┐ │ Enigu la distingitan nomon (DN) de la LDAP-serĉbazo. Multaj retejoj uzas la domajnajn nomojn por ĉi tiu celo. Ekzemple, la domajno "example.net" uzus │ │ "dc = example, dc = net" kiel la distinga nomo de la serĉbazo. │ │ │ │ La distingita nomo (DN) de la serĉbazo: │ │ │ │ dc = swl, dc = fan ____________________________________________________________ │ │ │ │ │ ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libnss-ldap ├────────────────────── ┐ Enigu la version de la LDAP-protokolo, kiun ldapns devas uzi. Oni rekomendas uzi la plej altan versian numeron haveblan. │ │ │ │ LDAP-versio uzota: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libnss-ldap ├──────────────────────┐ │ Elektu kiun konton oni uzos por nss-demandoj kun │ │ radikaj privilegioj. │ │ │ │ Noto: Por ke ĉi tiu opcio funkciu, la konto bezonas permesojn por access │ povi aliri la LDAP-atributojn asociitajn kun la uzanto entries │ "ombro" eniroj same kiel la pasvortoj de la uzantoj kaj │ │ grupoj . │ │ │ │ LDAP-konto por radiko: │ │ │ │ cn = administranto, dc = swl, dc = ventumilo ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libnss-ldap ├─────────────────────┐ │ Enigu la uzotan pasvorton kiam libnss-ldap provas │ │ aŭtentikigi al la LDAP-adresaro kun la LDAP-konto de radiko. │ │ │ │ La pasvorto estos konservita en aparta dosiero │ │ ("/etc/libnss-ldap.secret") al kiu nur alireblas radiko. │ │ │ │ Se vi enigas malplenan pasvorton, la malnova pasvorto estos reuzata. │ │ │ │ Pasvorto por radika LDAP-konto: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ ││└ ────────────────────────────┘ ┌──────────────────── ─┤ Agordo de libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf ne estas administrita aŭtomate │ │ │ │ Vi devas modifi vian dosieron "/etc/nsswitch.conf" uzi LDAP-datuman fonton se vi volas, ke la pakaĵo libnss-ldap funkciu. │ │ Vi povas uzi la ekzemplan dosieron │ │ en "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" kiel ekzemplo de la agordo de nsswitch aŭ │ │ vi povas kopii ĝin super via aktuala agordo. │ │ │ │ Rimarku, ke antaŭ ol forigi ĉi tiun pakon eble konvenas │ │ forigi la enirojn "ldap" de la dosiero nsswitch.conf tiel ke la bazaj servoj │ │ daŭre funkcias. │ │ │ │ │ ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libpam-ldap ├──────────────────────┐ │ │ │ Ĉi tiu opcio permesas pasvortajn ilojn per PAM por ŝanĝi lokajn pasvortojn. │ │ │ │ La pasvorto por la LDAP-administranta konto estos konservita en aparta │ │ dosiero, kiun nur la administranto povas legi. │ │ │ │ Ĉi tiu opcio devas esti malebligita, se oni muntas "/ ktp" per NFS. │ │ │ │ Ĉu vi volas permesi al la LDAP-administranta konto konduti kiel │ │ al la loka administranto? │ │ │ │                                            │ ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libpam-ldap ├──────────────────────┐ │ │ │ Elektu ĉu la LDAP-servilo devigas identigon antaŭ ol akiri entradajn │ enirojn. │ │ │ │ Ĉi tiu agordo malofte necesas. │ │ │ │ Ĉu uzanto devas aliri la LDAP-datumbazon? │ │ │ │                                               │ ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libpam-ldap ├──────────────────────┐ │ Enigu la nomon de la LDAP-administranta konto. Account │ │ │ Ĉi tiu konto estos aŭtomate uzata por administrado de datumbazo, ĉar ĝi devas havi la taŭgajn administrajn privilegiojn. │ │ │ │ LDAP-administranta konto: │ │ │ │ cn = administranto, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Agordo de libpam-ldap ├──────────────────────┐ │ Enigu la pasvorton por la administranta konto. │ │ │ │ La pasvorto estos konservita en la dosiero "/etc/pam_ldap.secret". La administranto de │ │ estos la sola, kiu povas legi ĉi tiun dosieron, kaj permesos al │ │ libpam-ldap aŭtomate regi la administradon de konektoj en la datumbazo │ │. │ │ │ │ Se vi lasas ĉi tiun kampon malplena, la antaŭa konservita pasvorto │ │ estos denove uzata. │ │ │ │ Pasvorto de administranto LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Ekzempla agordo de la funkcio GNU Name Service Switch. # Se vi havas la pakaĵojn `glibc-doc-reference 'kaj` info' instalitaj, provu: # `info libc" Noma Servoŝaltilo "'por informoj pri ĉi tiu dosiero. passwd: komp ldap
grupo: samideano ldap
shadow: samideano ldap
gshadow: dosieroj gastigas: dosieroj dns retoj: dosieraj protokoloj: db-dosieroj servoj: db-dosieroj eteroj: db-dosieroj rpc: db-dosieroj netgroup: nis

Ni redaktu la dosieron /etc/pam.d/common-password, ni iras al linio 26 kaj forigas la valoron «uzu_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - pasvortaj moduloj komunaj al ĉiuj servoj # # Ĉi tiu dosiero estas inkluzivita de aliaj servospecifaj PAM-agordaj dosieroj, # kaj devas enhavi liston de moduloj, kiuj difinas la servotajn servojn. # kutimis ŝanĝi uzantajn pasvortojn. La apriora estas pam_unix. # Klarigo de pam_unix-opcioj: # # La opcio "sha512" ebligas salajn SHA512-pasvortojn. Sen ĉi tiu opcio, # la apriora estas Uniksa kripto. Antaŭaj eldonoj uzis la opcion "md5". # # La "malklara" opcio anstataŭas la malnovan opcion 'OBSCURE_CHECKS_ENAB' en # login.defs. # # Vidu la manpage de pam_unix por aliaj ebloj. # Ekde pam 1.0.1-6, ĉi tiu dosiero estas administrita de pam-auth-update defaŭlte. # Por utiligi ĉi tion, oni rekomendas agordi iujn ajn # lokajn modulojn antaŭ aŭ post la defaŭlta bloko, kaj uzi # pam-auth-update por administri elekton de aliaj moduloj. Vidu # pam-auth-update (8) por detaloj. # jen la pasvortaj moduloj (la "Ĉefa" bloko) pasvorto [sukceso = 2 defaŭlta = ignori] pam_unix.so obskura sha512
pasvorto [sukceso = 1 user_unknown = ignori defaŭltan = morti] pam_ldap.so try_first_pass
# jen la rezerva se neniu modulo sukcesas pasvortan postulon pam_deny.supre la stako kun pozitiva revenvaloro se ankoraŭ ne ekzistas; # ĉi tio evitas, ke ni redonu eraron nur ĉar nenio fiksas sukcesan kodon # ĉar la supraj moduloj ĉiu simple saltos ĉirkaŭ pasvorto bezonata pam_permit.so # kaj jen pli da po-pakaj moduloj (la "Aldona" bloko) # fino de pam- auth-update agordo

Se ni bezonos la Loka Ensaluto de la uzantoj konservitaj en LDAP, kaj ni volas, ke iliaj dosierujoj estu kreitaj aŭtomate hejmo, ni devas redakti la dosieron /etc/pam.d/common-session kaj aldonu la jenan linion al la fino de la dosiero:

nedeviga pam_mkhomedir.so skel = / etc / skel umask = 077

En la ekzemplo de OpenLDAP Directory Service disvolvita pli frue, la sola loka uzanto kreita estis la uzanto zumado, dum en LDAP ni kreas la uzantojn paŝoj, Legolas, gandalf, y bilbo. Se la ĝisnunaj agordoj estas ĝustaj, tiam ni povus listigi la lokajn uzantojn kaj tiujn mapitajn kiel lokajn sed konservitajn en la fora LDAP-servilo:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Paŝoj: x: 10000: 10000: Paŝoj El Rey: / hejmo / paŝoj: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf La Sorĉisto: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Post la ŝanĝoj en la aŭtentikigo de la sistemo, validas rekomenci la servilon se ni ne alfrontas kritikan servon:

root @ mail: ~ # reboot

Poste ni komencas lokan kunsidon en la servilo mail.swl.fan kun la atestiloj de uzanto konservita en la LDAP-datumbazo de majstro.swl.fan. Ni ankaŭ povas provi ensaluti per SSH.

 

buzz @ sysadmin: ~ $ ssh gandalf @ mail
pasvorto de gandalf @ mail: Kreante dosierujon '/ home / gandalf'. La programoj inkluzivitaj kun la sistemo Debian GNU / Linukso estas libera programaro; la ĝustaj distribuaj kondiĉoj por ĉiu programo estas priskribitaj en la individuaj dosieroj en / usr / share / doc / * / copyright. Debian GNU / Linukso venas kun ABSOLUTE NENIU GARANTIO, laŭ la permeso de la aplikebla juro.
gandalf @ mail: ~ $ su
Pasvorto:

root @ mail: / home / gandalf # getent-grupo
zumo: x: 1001: uzantoj: *: 10000:

root @ mail: / home / gandalf # exit
eliro

gandalf @ mail: ~ $ ls -l / home /
entute 8 drwxr-xr-x 2 buzz buzz     4096 Jun 17 12:25 buzz drwx ------ 2 gandalf-uzantoj 4096 Jun 17 13:05 gandalfo

La Adresara Servo efektivigita ĉe la servila kaj klienta nivelo funkcias ĝuste.

Kerberos

El Vikipedio:

  • Kerberos estas komputila reta aŭtentikiga protokolo kreita de la MIT tio permesas al du komputiloj en nesekura reto sekure pruvi sian identecon unu al la alia. Ĝiaj projektantoj unue temis pri kliento-servila modelo, kaj ĝi provizas reciprokan aŭtentikigon: kaj kliento kaj servilo kontrolas la identecon unu de la alia. Aŭtentikigaj mesaĝoj estas protektitaj por malebligi subaŭskultante y reludi atakojn.

    Kerberos baziĝas sur simetria ŝlosila kriptografio kaj postulas fidindan trian partion. Krome, ekzistas etendaĵoj al la protokolo por povi uzi nesimetrian ŝlosilan kriptografion.

    Kerberos baziĝas sur la Protokolo Needham-Schroeder. Ĝi uzas fidindan trian parton, nomatan "Ŝlosila Distribua Centro" (KDC), kiu konsistas el du apartaj logikaj partoj: "Aŭtentiga Servilo" (AS aŭ Aŭtentiga Servilo) kaj «bilet-eldonanta servilo» (TGS aŭ Ticket Granting Server). Kerberos funkcias surbaze de "biletoj", kiuj servas por pruvi la identecon de uzantoj.

    Kerberos konservas datumbazon de sekretaj ŝlosiloj; Ĉiu ento en la reto - ĉu kliento aŭ servilo - dividas sekretan ŝlosilon konatan nur de si mem kaj Kerberos. Scio pri ĉi tiu ŝlosilo utilas por pruvi la identecon de la ento. Por komunikado inter du entoj, Kerberos generas sesian ŝlosilon, kiun ili povas uzi por certigi siajn problemojn.

Malavantaĝoj de Kerberos

De Saniĝinta:

kvankam Kerberos forigas komunan sekurecan minacon, povas esti malfacile efektivigebla pro diversaj kialoj:

  • Migrado de pasvortoj de uzanto de norma pasvorto UNIKSO, kiel / etc / passwd aŭ / etc / shadow, al datumbaza pasvorto de Kerberos, povas tedi kaj ne ekzistas rapida mekanismo por plenumi ĉi tiun taskon.
  • Kerberos supozas, ke ĉiu uzanto estas fidinda, sed uzas nefiditan maŝinon en nefidita reto. Ĝia ĉefa celo estas malhelpi senditajn neĉifritajn pasvortojn per la reto. Tamen, se iu alia uzanto, krom la taŭga uzanto, havas aliron al la biletmaŝino (KDC) por aŭtentikigo, Kerberos riskus.
  • Por ke apliko uzu Kerberos, la kodo devas esti modifita por fari la taŭgajn alvokojn al la bibliotekoj Kerberos. Aplikoj tiel modifitaj estas konsiderataj kerberigitaj. Por iuj aplikoj, ĉi tio povas esti troa programado, pro la grandeco de la apliko aŭ ĝia Dezajno. Por aliaj malkongruaj aplikoj, ŝanĝoj devas esti faritaj al la maniero kiel la retservilo kaj ĝiaj klientoj komunikas; denove ĉi tio povas sufiĉe programi. Ĝenerale fermitaj fontaj programoj, kiuj ne havas subtenon de Kerberos, estas kutime la plej problemaj.
  • Fine, se vi decidas uzi Kerberos en via reto, vi devas rimarki, ke ĝi estas tute aŭ nenio elekta. Se vi decidas uzi Kerberos en via reto, vi devas memori, ke se iuj pasvortoj estas transdonitaj al servo, kiu ne uzas Kerberos por aŭtentikigi, vi riskas, ke la pakaĵo povas esti kaptita. Tiel via reto ne ricevos avantaĝon per uzado de Kerberos. Por sekurigi vian reton per Kerberos, vi devas uzi nur la kerberigitajn versiojn de ĉiuj klientaj / servilaj programoj, kiuj sendas neĉifritajn pasvortojn aŭ ne uzas iujn el ĉi tiuj programoj en la reto..

Mane efektivigi kaj agordi OpenLDAP kiel Kerberos Back-End ne estas facila tasko. Tamen poste ni vidos, ke Samba 4 Active Directory - Domain Controller integras travideblan manieron por Sysadmin, DNS-servilo, Microsoft Network kaj ĝia Domain Controller, LDAP-servilo kiel Back-End de preskaŭ ĉiuj ĝiaj objektoj, kaj la Kerberos-bazita aŭtentikiga servo kiel la fundamentaj eroj de Mikrosofta stila Aktiva Adresaro.

Ĝis nun ni ne havis la bezonon efektivigi "Kerberigitan Reton". Jen kial ni ne skribis pri kiel efektivigi Kerberos.

Samba 4 Active Directory - Regila Regilo

Grava:

Ne ekzistas pli bona dokumentado ol la retejo wiki.samba.org. La memestima Sysadmin devas viziti tiun retejon -en la angla- kaj trarigardi la grandan nombron da paĝoj dediĉitaj tute al Samba 4, verkita de Team Samba mem. Mi ne kredas, ke ekzistas dokumentado havebla en la interreto por anstataŭigi ĝin. Parenteze, observu la nombron de vizitoj reflektitaj ĉe la fino de ĉiu paĝo. Ekzemplo de tio estas, ke via ĉefpaĝo aŭ «Ĉefpaĝo» estis vizitita 276,183 fojojn ekde hodiaŭ 20 junio 2017 je 10:10 orienta norma horo. Krome la dokumentado estas tre aktuala, ĉar tiu paĝo estis modifita la 6an de junio.

El Vikipedio:

Samba estas senpaga efektivigo de la Vindozo-Dosiera Dividada Protokolo (antaŭe nomata SMB, ĵus renomita CIFS) por UNIX-similaj sistemoj. Tiel eblas, ke komputiloj kun GNU / Linukso, Mac OS X aŭ Unikso ĝenerale aspektas kiel serviloj aŭ funkcias kiel klientoj en Vindozaj retoj. Sambo ankaŭ permesas al uzantoj konfirmi kiel Ĉefa Regila Regilo (PDC), kiel domajna membro kaj eĉ kiel Aktiva Adresara domajno por Vindozo-bazitaj retoj; krom povi servi presitajn atendovicojn, komunajn dosierujojn kaj aŭtentikigi per sia propra uzantarkivo.

Inter la Unikso-similaj sistemoj, sur kiuj Samba povas funkcii, estas la distribuoj GNU / Linukso, Solaris kaj la malsamaj BSD-variantoj inter la ke ni povas trovi la Mac OS X-Servilon de Apple.

Samba 4 AD-DC kun sia Interna DNS

  • Ni komencas de pura instalado -sen grafika interfaco- de Debian 8 "Jessie".

Komencaj kontroloj

root @ master: ~ # hostname
majstro
root @ master: ~ # hostname --fqdn
majstro.swl.fan
root @ master: ~ # ip addr
1: kio: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 amplekso gastiganto lo valid_lft forever preferita_lft forever inet6 :: 1/128 amplekso gastiganto valid_lft por ĉiam preferita_lft por ĉiam 2: eth0: mtu 1500 qdisc pfifo_fast state NEKONATA grupo defaŭlte qlen 1000 ligilo / etero 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 amplekso tutmonda eth0
       valida_lft por ĉiam preferata_lft por ĉiam inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 ampleksooligo valid_lft por ĉiam preferata_lft por ĉiam
root @ master: ~ # cat /etc/resolv.conf
serĉo swl.fan nomservilo 127.0.0.1
  • Per kiu ni deklaras la filion ĉefa nur, ĝi estas pli ol sufiĉa por niaj celoj.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ jesie ĉefa
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / ĝisdatigoj ĉefa

Postfix de Exim kaj utilecoj

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

  ┌────────────────────────┤ Postfiksa Agordo ├──────────────────── ────┐ │ Elektu la tipon de agordo de retpoŝta servilo, kiu plej taŭgas por viaj │ │ bezonoj. │ │ │ │ Neniu agordo: │ │ Konservas la nunan agordon nerompita. │ │ Interreta retejo: │ │ Poŝto estas sendita kaj ricevita rekte per SMTP. │ │ Interreto kun "inteligenta gastiganto": │ │ Poŝto ricevas rekte per SMTP aŭ per running │ ilo kiel "fetchmail". Eliranta poŝto estas sendita per smart │ "inteligenta gastiganto". │ │ Nur loka poŝto: │ │ La sola poŝto liverita estas por lokaj uzantoj. Ne │ │ ekzistas reto. │ │ │ │ Ĝenerala speco de retpoŝta agordo: │ │ │ │ Sen agordo │ │ Interreta retejo │ │ Interreto kun "inteligenta gastiganto" │ │ Satelita sistemo │ │                         Nur loka poŝto                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Agordo de Postfikso ├────────────────────────── │ La "poŝta sistemo-nomo" estas la nomo de la domajno, kiu │ │ estas uzata por "kvalifiki" _ALL_ retpoŝtadresojn sen domajna nomo. Ĉi tio inkluzivas poŝton al kaj de "radiko": bonvolu ne igi │ │ vian maŝinon sendi retpoŝtojn de radiko@ekzemplo.org al │ │ malpli ol radiko@ekzemplo.org demandis. │ │ │ │ Aliaj programoj uzos ĉi tiun nomon. Ĝi devas esti unika │ │ kvalifikita domajna nomo (FQDN). │ │ │ │ Tial, se retpoŝta adreso sur la loka maŝino estas │ │ io@ekzemplo.org, la ĝusta valoro por ĉi tiu opcio estos example.org. │ │ │ │ Poŝta sistemo nomo: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Ni purigas

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

Ni instalas postulojn kompili Samba 4 kaj aliaj necesaj pakaĵoj

root @ master: ~ # aptitude install acl attr autoconf bison \
konstru-esenca debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-uzanto 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-moduloj 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

 ┌───────────────┤ Agordi aŭtentikigon de Kerberos ├───────────────┐ │ Kiam uzantoj provas uzi Kerberos kaj specifi nomon │ │ rektoro aŭ uzanto sen klarigi al kiu administra Kerberos-domajno apartenas la ĉefa │ │, la sistemo prenas la aprioran regnon │ │.  La apriora regno ankaŭ povas esti uzata kiel la regno │ │ de servo Kerberos funkcianta sur la loka maŝino.  │ │ Tipe, la apriora regno estas la majuskla nomo de la loka DNS │ │-domajno.  │ │ │ │ Kerberos versio 5 defaŭlta sfero: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Agordi aŭtentikigon Kerberos ├───────────────┐ │ Enigu la nomojn de la serviloj Kerberos en la SWL.FAN-sfero de │ │ Kerberos, apartigitaj per spacoj.  │ │ │ │ Kerberos-serviloj por via regno: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ ││└ ─────────────────────────────┘ ┌───────────────┤ Agordi aŭtentikigon Kerberos ├───────────────┐ │ Enigu la administran servilan nomon (pasvortan ŝanĝon) │ │ por la regno Kerberos SWL.FAN.   

La supra procezo prenis iom da tempo, ĉar ni ankoraŭ ne havas DNS-servon instalitan. Tamen vi elektis la domajnon ĝuste laŭ la dosieraj agordoj / ktp / gastigantoj. Memoru tion en la dosiero /etc/resolv.conf ni deklaris kiel domajna servilo al la IP 127.0.0.1.

Ni nun agordas la dosieron / etc / ldap / ldap / conf

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

Por demandoj uzantaj la komandon ldapsearch farita de la radikuzanto estas tia ldapsearch -x -W cn = xxxx, ni devas krei la dosieron /radiko/.ldapsearc kun la jena enhavo:

root @ master: ~ # nano .ldaprc
BINDDN CN = Administranto, CN = Uzantoj, DC = swl, DC = fervorulo

La dosiersistemo devas subteni ACL - Alirkontrolan Liston

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statikaj dosiersistemaj informoj. # # Uzu 'blkid' por presi la universale unikan identigilon por # aparato; ĉi tio povas esti uzata kun UUID = kiel pli fortika maniero nomi aparatojn #, kiu funkcias eĉ se diskoj estas aldonitaj kaj forigitaj. Vidu fstab (5). # # # / estis en / dev / sda1 dum instalado UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, baro = 1, tagmezo, eraroj = remount-ro 0 1
# interŝanĝo estis en / dev / sda5 dum instalado UUID = cb73228a-615d-4804-9877-3ec225e3ae32 neniu interŝanĝo sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660-uzanto, noauto 0 0

root @ master: ~ # mount -a

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

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
# dosiero: testing_acl.txt # posedanto: root # grupo: root user :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Ni ricevas la fonton Samba 4, kompilas ĝin kaj instalas ĝin

Estas tre rekomendinde elŝuti la versian fontodosieron Stabila de la retejo https://www.samba.org/. En nia ekzemplo ni elŝutas la version sambo-4.5.1.tar.gz al la dosierujo / elekti.

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 /

Agordaj opcioj

Se ni volas agordi la agordajn opciojn, ni ekzekutas:

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

kaj tre zorge elektu tiujn, kiujn ni bezonas. Estas konsilinde kontroli, ĉu la elŝutita pakaĵo povas esti instalita sur la Linuksa distribuo, kiun ni uzas, kiu en nia kazo estas Debian 8.6 Jessie:

root @ master: /opt/samba-4.5.1# ./konfiguro distĉeko

Ni agordas, Kompilas kaj Instalas samba-4.5.1

  • Komencante de la antaŭe instalitaj postuloj kaj la 8604 dosieroj (kiuj konsistigas la kompaktan sambo-4.5.1.tar.gz), kiuj pezas ĉirkaŭ 101.7 megabajtojn -inkluzive de la dosierujoj source3 kaj source4, kiuj pezas ĉirkaŭ 61.1 megabajtojn-, ni ricevos anstataŭanton por Aktiva Adresaro laŭ Mikrosofto, kun kvalito kaj stabileco pli ol akcepteblaj por iu ajn produktada ĉirkaŭaĵo. Ni devas reliefigi la laboron de Team Samba en liverado de la Libera Programaro Samba 4.

La subaj komandoj estas la klasikaj por kompili kaj instali pakaĵojn de siaj fontoj. Ni devas pacienci dum la tuta procezo daŭras. Ĝi estas la sola maniero akiri validajn kaj ĝustajn rezultojn.

root @ master: /opt/samba-4.5.1# ./configure --with-systemd --disable-tasoj
root @ master: /opt/samba-4.5.1# fari
root @ master: /opt/samba-4.5.1# fari instali

Dum la komanda procezo fari, ni povas vidi, ke la fontoj Samba 3 kaj Samba 4. estas kompilitaj. Tial Team Samba asertas, ke ĝia versio 4 estas la natura ĝisdatigo de la versio 3, ambaŭ por Domaj Regiloj bazitaj sur Samba 3 + OpenLDAP, kaj dosieraj serviloj aŭ pli malnovaj versioj de Samba 4.

Provizanta Sambon

Ni uzos kiel DNS la SAMBA_INTERNA. en https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End ni trovos pliajn informojn. Kiam ili petas nin pri la pasvorto de la administranta uzanto, ni devas tajpi unu el minimuma longo de 8 signoj kaj ankaŭ kun literoj - majuskla kaj minuskla - kaj nombroj.

Antaŭ ol daŭrigi la provizon kaj faciligi la vivon, ni aldonas la Vojo de la Samba-plenumeblaj en nia dosiero .bashrcPoste ni fermas kaj ensalutas denove.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: efektivigita de bash (1) por ne-ensalutaj ŝeloj. # Noto: PS1 kaj umask jam estas agorditaj en / etc / profile. Vi devas # bezoni ĉi tion krom se vi volas malsamajn defaŭltojn por radiko. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Vi povas malkomenti la jenajn liniojn se vi volas ke "ls" estu kolorigita: # export LS_OPTIONS = '- color = aŭtomata '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Iuj pliaj kaŝnomoj por eviti erarojn : # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
deklari -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # exit logout Konekto al majstro fermita. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-ila domajna provizo --use-rfc2307 --interactive
Sfero [SWL.FAN]: SWL.FAN
 Domajno [SWL]: SWL
 Servila Rolo (dc, membro, memstara) [dc]: dc
 DNS-backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNA
 IP-adreso de DNS-plusendilo (skribu 'neniu' por malebligi plusendadon) [192.168.10.5]: 8.8.8.8
Pasvorto de administranto: ViaPasvorto 2017
Retajpu pasvorton: ViaPasvorto 2017
Serĉi IPv4-adresojn Serĉi IPv6-adresojn Neniu IPv6-adreso estos atribuita Agordi share.ldb Agordi sekretojn.ldb Agordi la registron Agordi la datumbazojn de privilegioj Agordi idmap db Agordi SAM db Agordi sam.ldb-sekciojn kaj agordojn Agordi supren sam.ldb rootDSE Antaŭŝarĝo de la skemo Samba 4 kaj AD Aldonado de DomainDN: DC = swl, DC = ventumilo Aldono de agordo-ujo Agordo de skemo sam.ldb Agordo de agordaj datumoj de sam.ldb Agordo de ekranaj specifiloj Modifado de ekranaj specifiloj Aldono de uzanto Ŝanĝi uzanton-ujon Aldoni komputilan ujon Modifi komputilajn ujojn Agordi sam.ldb-datumojn Agordi konatajn sekurecajn ĉefojn Agordi sam.ldb-uzantojn kaj grupojn Agordi mem-aliĝon Aldoni DNS-kontojn Krei CN = MicrosoftDNS, CN = Sistemo, DC = swl, DC = fan Krei sekciojn DomainDnsZones kaj ForestDnsZones Populante sekciojn DomainDnsZones kaj ForestDnsZones Agordi sam.ldb rootDSE-markadon kiel sinkronigitan Fiksan provizon GvidilojAgordo de Kerberos taŭga por Samba 4 estis generita ĉe /usr/local/samba/private/krb5.conf Agordo de falsaj yp-servilaj agordoj Post kiam la supraj dosieroj estas instalitaj, via Samba4-servilo pretos uzi Servila Rolo: aktiva dosierujo regilo Gastiganta nomo: majstra NetBIOS-Domajno: SWL DNS-Domajno: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Ni ne forgesu kopii la agordan dosieron de Kerberos kiel indikas la eligo de la Provizanta:

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

Por ne tajpi la komandon sambo-ilo kun via kompleta nomo, ni kreas simbolan ligon kun la mallonga nomo ilo:

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

Ni instalas la NTP

Fundamenta peco en Aktiva Adresaro estas la Reta Tempo-Servo. Ĉar la aŭtentokontrolo estas farita per Kerberos kaj ĝiaj Biletoj, la sinkronigo de la tempo kun la Samba 4 AD-DC estas esenca.

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

root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegenstats file clockstats clock type day enable server 192.168.10.1 restriktas -4 defaŭlte kod notrap nomodify nopeer noquery restriktas -6 defaŭltas kod notrap nomodify nopeer noquery restriktas default mssntp restriktas 127.0.0.1 restriktas :: 1 elsendo 192.168.10.255

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

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

Se ekzameninte la syslog uzante la supran komandon aŭ uzante journalctl -f ni ricevas la mesaĝon:

Jun 19 12:13:21 majstro ntpd_intres [1498]: patro mortis antaŭ ol ni finis, elirante

ni devas rekomenci la servon kaj provi denove. Nun ni kreas la dosierujon ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: Ne povas aliri / usr / local / samba / var / lib / ntp_signd: Dosiero aŭ dosierujo ne ekzistas

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 /

# Kiel petite ĉe samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 Jun 19 12:21 / usr / local / samba / var / lib / ntp_signd

Ni agordas la Samba-komencon uzante systemd

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

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

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

Samba 4 AD-DC-dosieraj lokoj

ĈIUJ -malpli la nove kreita samba-ad-dc.service- la dosieroj estas en:

root @ master: ~ # ls -l / usr / local / samba /
entute 32 drwxr-sr-x 2 radika bastono 4096 Jun 19 11:55 am
drwxr-sr-x 2 root bastono 4096 Jun 19 11:50 ktp
drwxr-sr-x 7 root bastono 4096 Jun 19 11:30 inkluzivi
drwxr-sr-x 15 root bastono 4096 Jun 19 11:33 lib
drwxr-sr-x 7 root bastono 4096 Jun 19 12:40 privata
drwxr-sr-x 2 root bastono 4096 Jun 19 11:33 sbin
drwxr-sr-x 5 root bastono 4096 Jun 19 11:33 kunhavigi
drwxr-sr-x 8 root bastono 4096 Jun 19 12:28 estis

en la plej bona UNIX-stilo. Ĉiam estas konsilinde trarigardi la malsamajn dosierujojn kaj ekzameni ilian enhavon.

/Usr/local/samba/etc/smb.conf-dosiero

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Tutmondaj parametroj [tutmondaj] netbios name = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 servilo servoj = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , dns-servila rolo = aktiva dosierujo regila regilo permesas dns-ĝisdatigojn = sekura nur idmap_ldb: uzu rfc2307 = jes idmap-agordo *: backend = tdb-idmap-agordo *: gamo = 1000000-1999999 ldap-servilo postulas fortan auth = neniu printcap nomo = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = Ne [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Ne

root @ master: ~ # testparm
Ŝarĝu smb-agordajn dosierojn el /usr/local/samba/etc/smb.conf Sekcio pri Prilaborado "[netlogon]" Sekcio pri Prilaborado "[sysvol]" Ŝarĝita servdosiero OK. Servila rolo: ROLE_ACTIVE_DIRECTORY_DC Premu enen por vidi malplenon de viaj servaj difinoj # Tutmondaj parametroj [tutmonda] regno = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 ldap-servilo postulas fortan auth = Neniu passdb-backend = samba_dsdb-servila rolo = aktiva dosierujo domajna regilo rpc_server: tcpip = neniu rpc_daemon: spoolssd = enigita rpc_server: spoolss = enigita rpc_server: winreg = enigita rpc_server: ntsvcs = enigita rpc_server: eventlog = enkonstruita rpc_server: srvsvc_vs_cser eksteraj pipoj = vera idmap-agordo *: gamo = 1000000-1999999 idmap_ldb: uzu rfc2307 = jes idmap-agordo *: backend = tdb-mapo-arkivo = Neniu mapo nurlegite = neniu butiko dos atributoj = Jes vfs-objektoj = dfs_samba4 acl_xattr [netlogon] vojo = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read only = Ne [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Ne

Minimumaj kontroloj

root @ master: ~ # ilo domajna nivelo montras
Domajno kaj arbara funkcio-nivelo por domajno 'DC = swl, DC = fan' Arbara funkcia nivelo: (Vindozo) 2008 R2 Domajna nivelo: (Vindozo) 2008 R2 Plej malalta funkcia nivelo de PK: (Vindozo) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # tool dbcheck
Kontrolo de 262 objektoj Kontrolo de 262 objektoj (0 eraroj)

root @ master: ~ # kinit Administranto
Pasvorto por Administranto@SWL.FAN: 
root @ master: ~ # klist -f
Bileta kaŝmemoro: DOSIERO: / tmp / krb5cc_0
Ĉefa defaŭlto: Administranto@SWL.FAN

Valida starto Eksvalidiĝas Serva ĉefa 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    renovigi ĝis 20/06/17 12:53:18, Flagoj: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Atestila kaŝmemora dosiero '/ tmp / krb5cc_0' ne trovita

root @ master: ~ # smbclient -L localhost -U%
Domajno = [SWL] OS = [Vindozo 6.1] Servilo = [Samba 4.5.1] Sharename Type Komento --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Servo (Samba 4.5.1) Domajno = [SWL] OS = [Vindozo 6.1] Servilo = [Samba 4.5.1] Servila Komento --------- ------- Laborgrupa Majstro ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Enigu la pasvorton de administranto: Domajno = [SWL] OS = [Vindozo 6.1] Servilo = [Samba 4.5.1]. D 0 Mon Jun 19 11:50:52 2017 .. D 0 Mon Jun 19 11:51:07 2017 19091584 grandecoj 1024. 16198044 blokoj disponeblaj

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

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

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

root @ master: ~ # host -t A master.swl.fan
master.swl.fan havas adreson 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan havas SOA-rekordan mastron.swl.fan. gastiganto.swl.fan. 1 900 600 86400 3600

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

root @ master: ~ # host -t MX swl.fan
swl.fan ne havas MX-rekordon

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # ilo de uzantoj de iloj
Administranto krbtgt Gasto

root @ master: ~ # ila grupa listo
# La eligo estas aro da grupoj. ;-)

Ni administras la nove instalitan Samba 4 AD-DC

Se ni volas modifi la eksvalidiĝon en tagoj de la pasvorto de Administranto; la komplekseco de pasvortoj; la minimuma longeco de la pasvorto; la minimuma kaj maksimuma daŭro -en tagoj- de la pasvorto; kaj ŝanĝu la pasvorton de Administranto deklaritan dum la Provizanta, ni devas plenumi la jenajn komandojn per la valoroj adaptitaj al viaj bezonoj:

root @ master: ~ # ilo
Uzado: sambo-ilo Ĉefa samba administra ilo. Ebloj: -h, --help montri ĉi tiun helpan mesaĝon kaj eliri Versio-Opciojn: -V, --versio Montri versian numeron Haveblaj subkomandoj: dbcheck - Kontrolu lokan AD-datumbazon por eraroj. delegacio - Delegacia administrado. dns - Administrado de Domajna Servo (DNS). domajno - Domajna administrado. drs - Administrado de Directory Replication Services (DRS). dsacl - DS ACL-manipulado. fsmo - Fleksebla Administrado de Flekseblaj Unusoldaj Majstraj Operacioj (FSMO). gpo - Administrado de Gruppolitika Objekto (GPO). grupo - Grupadministrado. ldapcmp - Komparu du ldap-datumbazojn. ntacl - NT ACL-manipulado. procezoj - Listigi procezojn (por helpi elpurigon de sistemoj sen aroproctitolo). rodc - Administrado de RODC (Read-Only Domain Controller). retejoj - Administrado de retejoj. spn - Administrado de Serva Ĉefa Nomo (SPN). testparm - Sintakso kontrolu la agordan dosieron. tempo - Rekuperu la tempon sur servilo. uzanto - Uzanto-administrado. Por pli da helpo pri specifa subkomando, bonvolu tajpi: samba-ilo (-h | --helpo)

root @ master: ~ # tool user setexpiry administrator --noexpiry
root @ master: ~ # tool domain passwordsettings set --min-pwd-length = 7
root @ master: ~ # tool domain passwordsettings set --min-pwd-age = 0
root @ master: ~ # tool domain passwordsettings set --max-pwd-age = 60
root @ master: ~ # tool user setpassword --filter = samaccountname = Administranto --newpassword = Passw0rD

Ni aldonas plurajn DNS-rekordojn

root @ master: ~ # tool dns
Uzado: samba-ilo dns Administrado de Domajna Servo (DNS). Ebloj: -h, --help montri ĉi tiun helpmesaĝon kaj eliri Disponeblajn subkomandojn: aldoni - Aldoni DNS-rekordon forigi - Forigi DNS-rekordan demandon - Demandi nomon. roothints - Demandaj radikaj aludoj. serverinfo - Konsulto pri informoj pri Servilo. ĝisdatigi - Ĝisdatigi DNS-rekordon zonkrei - Krei zonon. zonedelete - Forigi zonon. zoneinfo - Konsulto pri zoninformoj. zonelisto - Demando pri zonoj. Por pli da helpo pri specifa subkomando, bonvolu tajpi: samba-tool dns (-h | --helpo)

Retpoŝta servilo

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

Fiksa IP de aliaj serviloj

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

Inversa Zono

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administranto
Pasvorto por [SWL \ administranto]: Zono 10.168.192.in-addr.arpa kreita sukcese

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

Kontroloj

root @ master: ~ # tool dns query master swl.fan mail ALL -U administrator
Pasvorto por [SWL \ administranto]: Nomo =, Rekordoj = 1, Infanoj = 0 A: 192.168.10.9 (flagoj = f0, seria = 2, ttl = 900)

root @ master: ~ # host master
master.swl.fan havas adreson 192.168.10.5
root @ master: ~ # host sysadmin
sysadmin.swl.fan havas adreson 192.168.10.1
root @ master: ~ # gastiganta retpoŝto
mail.swl.fan havas adreson 192.168.10.9
root @ master: ~ # gastiganta babilejo
chat.swl.fan havas adreson 192.168.10.12
root @ master: ~ # prokura gastiganto
proxy.swl.fan havas adreson 192.168.10.11
root @ master: ~ # gastiga dosierservilo
fileserver.swl.fan havas adreson 192.168.10.10
root @ master: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa domajna nomo montrilo sysadmin.swl.fan.
root @ master: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa domajna nomo montrilo master.swl.fan.
root @ master: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa domajna montrilo mail.swl.fan.
root @ master: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa domajna montrilo fileserver.swl.fan.
root @ master: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa domajna montrilo proxy.swl.fan.
root @ master: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa domajna nomo montrilo chat.swl.fan.

Por scivolemuloj

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

Ni aldonas uzantojn

root @ master: ~ # iluzanto
Uzado: samba-iluzanto Administrado de uzantoj. Ebloj: -h, --help montri ĉi tiun helpmesaĝon kaj eliri Disponeblajn subkomandojn: aldoni - Krei novan uzanton. krei - Krei novan uzanton. forigi - Forigi uzanton. malŝalti - Malŝalti uzanton. ebligi - Ebligi uzanton. getpassword - Akiru la pasvortajn kampojn de uzanto / komputila konto. listo - Listigu ĉiujn uzantojn. pasvorto - Ŝanĝi pasvorton por konto de uzanto (tiu donita en aŭtentokontrolo). setexpiry - Agordi la eksvalidiĝon de uzanta konto. setpassword - Agordi aŭ reagordi la pasvorton de uzanta konto. syncpasswords - Sinkronigu la pasvorton de kontoj de uzanto. Por pli da helpo pri specifa subkomando, bonvolu tajpi: samba-iluzanto (-h | --helpo)

root @ master: ~ # iluzanto kreu paŝojn Trancos01
Uzanto 'trancos' kreita sukcese
root @ master: ~ # iluzanto kreu gandalf Gandalf01
Uzanto 'gandalf' kreita sukcese
root @ master: ~ # iluzanto kreu legolas Legolas01
Uzanto 'legolas' kreiĝis sukcese
root @ master: ~ # ilo de uzantoj de iloj
Administranto gandalf legolas strides krbtgt Guest

Administrado per grafika interfaco aŭ per interreta kliento

Vizitu wiki.samba.org por detalaj informoj pri kiel instali la Microsoft RSAT o Iloj pri administrado de fora servilo. Se vi ne postulas la klasikajn politikojn ofertitajn de Microsoft Active Directory, vi povas instali la pakaĵon ldap-konto-administranto kiu ofertas simplan interfacon por administrado per tTT-legilo.

La serio de programoj Microsoft Remote Server Administration Tools (RSAT) estas inkluzivita en operaciumoj Vindoza Servilo.

Ni kunigas la domajnon al Windows 7-kliento nomita "sep"

Ĉar ni ne havas DHCP-servilon en la reto, la unua afero, kiun ni devas fari, estas agordi la retan karton de la kliento per fiksa IP, deklari, ke la ĉefa DNS estos la IP de la samba-ad-dc, kaj kontrolu, ke la opcio "Registri la adreson de ĉi tiu konekto en DNS" estas aktivigita. Ne estas senutile kontroli, ke la nomo «sep»Ankoraŭ ne estas registrita en la Samba Interna DNS.

Post kiam ni aliĝos al la komputilo al la regado kaj rekomencos ĝin, ni provu ensaluti kun la uzanto «paŝoj«. Ni kontrolos, ke ĉio funkcias bone. Ankaŭ rekomendas kontroli la protokolojn de Vindozo-Kliento kaj kontroli kiel la tempo estas ĝuste sinkronigita.

Administrantoj kun iom da Vindoza sperto trovos, ke iuj kontroloj, kiujn ili faras ĉe la kliento, donos kontentigajn rezultojn.

Resumo

Mi esperas, ke la artikolo utilas al la legantoj de la komunumo FromLinux.

Ĝis revido!


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

8 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita.

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   Gonzalo martinez diris

    Longa sed detala artikolo, tre bona paŝo post paŝo pri kiel fari ĉion.

    Mi emfazas NIS, la vero estas, ke kvankam mi scias pri ĝia ekzisto, mi neniam vere sciis kiel ĝi funkcias, ĉar sincere ĝi ĉiam donis al mi la impreson, ke ĝi estis preskaŭ morta apud LDAP kaj Samba 4.

    PS: Gratulon pro via nova persona projekto! Domaĝo, ke vi ne plu skribos ĉi tie, sed almenaŭ estas loko por sekvi vin.

  2.   HO2Gi diris

    Grandega lernilo kiel ĉiam al miaj plej ŝatataj, Salutojn Fico.
    Gratulon pro la projekto.

  3.   IWO diris

    La NIS-sekcio bonegas, mi simpatias kun Gonzalo Martinez, mi konis ĝin mallonge, sed tute ne sciis kiel efektivigi ĝin kaj en kiaj situacioj ĝi estas uzata.
    Dankon unufoje pro grandega "trunko" de teoria kaj praktika artikolo.
    Finfine novaj sukcesoj en via nova projekto «gigainside».

  4.   federika diris

    Koran dankon al ĉiuj pro komento !!!.
    salutoj

  5.   musolo diris

    la smb.conf, kiun vi montras, havas neniun ligon kun LDAP, ĉu ĝi estas intence aŭ ĉu mi lasis ion?

  6.   phico diris

    musolo: Jen Samba 4 Active Directory Domain Controler kiu jam havas sian enkonstruitan LDAP-servilon.

  7.   vincent diris

    Ĉu vi povus komenti kiel kunigi mac (pomon) al sambo 4 AD-DC?
    Dankon.

  8.   jramirez diris

    Kiel vi fartas;

    Dankon pro la manlibro, ĝi bonegas. Mi havas demandon pri mesaĝo, kiu aperas al mi.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Malsukcesis solvi la donitan gastnomon / IP: ad.rjsolucionessac.com. Notu, ke vi ne povas uzi IP-stilojn '/ mask' KAJ '1-4,7,100-'
    Ne eblas trovi validan celon. Bonvolu certigi, ke la specifaj gastigantoj estas aŭ IP-adresoj en norma skribmaniero aŭ gastnomoj, kiuj povas esti solvitaj per DNS
    radiko @ AD: ~ #

bool (vera)