PAM, NIS, LDAP, Kerberos, DS och Samba 4 AD-DC - SMB-nätverk

Allmänt index för serien: Datornätverk för små och medelstora företag: introduktion

Hej vänner och vänner!

Med den här artikeln säger jag adjö till gemenskapen DesdeLinux. Ett speciellt farväl för en speciell gemenskap. Från och med nu kommer jag att vara med i mitt personliga projekt som du kan se på http://www.gigainside.com.

Huvudsyftet med inlägget är att erbjuda en «Hela bilden»Om autentiseringstjänster med fri programvara som vi har till vårt förfogande. Åtminstone är det vår avsikt. Därför kommer det att ta lång tid, trots att vi vet att det strider mot de allmänna reglerna för att skriva artiklar. Vi hoppas att systemadministratörerna uppskattar det.

Vi vill påpeka att det gemensamma protokollet till många av de moderna autentiseringssystemen är LDAP, och att det inte är ledigt att studera det noggrant, från studiematerialet som vi hittar på den officiella webbplatsen http://www.openldap.org/.

Vi kommer inte att ge detaljerade definitioner -eller länkar- om aspekter som behandlats i tidigare artiklar, eller om de vars beskrivning lätt kan nås på Wikipedia eller andra webbplatser eller artiklar på Internet, för att inte förlora objektiviteten i det meddelande vi vill ha att ge. Vi kommer också att använda en giltig blandning av namn på engelska och spanska, eftersom vi anser att de flesta system föddes med namn på engelska och det är mycket fördelaktigt för en Sysadmin att assimilera dem på originalspråket.

  • PAM: Pluggbar autentiseringsmodul.
  • NIS: Network_Information_Service.
  • LDAP: Lätt viktprotokoll.
  • Kerberos: Säkerhetsprotokoll för att autentisera användare, datorer och tjänster centralt i ett nätverk, verifiera deras autentiseringsuppgifter mot befintliga poster i Kerberos-databasen.
  • DS: Directory Server eller Directory Service
  • AD–DC: Active Directory - Domain Controler

PAM

Vi ägnar en liten serie åt denna typ av lokal autentisering, som du kommer att se i daglig praxis att den används ofta när vi till exempel ansluter en arbetsstation till en domänkontrollant eller en Active Directory; att kartlägga användare som är lagrade i externa LDAP-databaser som om de vore lokala användare; att kartlägga användare som är lagrade i domänkontrollanten i en Active Directory som om de vore lokala användare och så vidare.

NIS

De wikipedia:

  • Nätverksinformationssystem (känt av dess akronym NIS, som på spanska betyder nätverksinformationssystem), är namnet på ett klient-server katalogtjänstprotokoll utvecklat av Sun Microsystems för att skicka konfigurationsdata i distribuerade system såsom namn på användare och värdar mellan datorer i ett nätverk.NIS är baserat på ONC RPC och består av en server, ett klientbibliotek och olika administrationsverktyg.

    NIS kallades ursprungligen de gula sidorna, eller YP, som fortfarande används för att hänvisa till den. Tyvärr är det namnet ett varumärke som tillhör British Telecom, vilket krävde att Sun tappade det namnet. YP förblir dock ett prefix i namnen på de flesta NIS-relaterade kommandon, som ypserv och ypbind.

    DNS serverar ett begränsat utbud av information, det viktigaste är korrespondensen mellan nodnamnet och IP-adressen. För andra typer av information finns det ingen sådan specialiserad tjänst. Å andra sidan, om du bara hanterar ett litet LAN utan Internet-anslutning, verkar det inte värt att ställa in DNS. Det är därför Sun utvecklade nätverksinformationssystemet (NIS). NIS tillhandahåller generiska databasåtkomstfunktioner som kan användas för att till exempel distribuera informationen i passwd och gruppera filer till alla noder i ditt nätverk. Detta gör att nätverket ser ut som ett enda system med samma konton på alla noder. På samma sätt kan NIS användas för att distribuera information om nodnamnet i / etc / hosts till alla maskiner i nätverket.

    Idag finns NIS i praktiskt taget alla Unix-distributioner, och det finns till och med gratis implementeringar. BSD Net-2 publicerade en som har härletts från en public domain-referensimplementering donerad av Sun. Bibliotekskoden för klientdelen av den här versionen har funnits i GNU / Linux libc under lång tid och administrationsprogrammen överfördes till GNU / Linux av Swen Thümmler. Emellertid saknas en NIS-server från referensimplementeringen.

    Peter Eriksson har utvecklat en ny implementering som heter NYS. Den stöder både grundläggande NIS och den förbättrade versionen av Sun NIS +. [1] NYS tillhandahåller inte bara ett antal NIS-verktyg och en server, det lägger också till en helt ny uppsättning biblioteksfunktioner som du behöver kompilera i din libc om du vill använda dem. Detta inkluderar ett nytt konfigurationsschema för upplösning av nodnamn som ersätter det aktuella schemat som används av "host.conf" -filen.

    GNU libc, känd som libc6 i GNU / Linux-communityn, innehåller en uppdaterad version av det traditionella NIS-stödet som utvecklats av Thorsten Kukuk. Den stöder alla biblioteksfunktioner som tillhandahålls av NYS och använder också det avancerade NYS-konfigurationsschemat. Verktygen och servern behövs fortfarande, men med hjälp av GNU libc sparas besväret med att lappa och kompilera biblioteket igen

    .

Dator- och domännamn, nätverksgränssnitt och resolver

  • Vi startar från en ren installation - utan grafiskt gränssnitt - av en Debian 8 "Jessie". Domänen swl.fan betyder "Fans av fri programvara." Vilket bättre namn än det här?.
root @ master: ~ # värdnamn
Master
root @ master: ~ # värdnamn -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue-status Okänd grupp standardlänk / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scope host lo valid_lft forever prefer_lft forever inet6 :: 1/128 scope-värd valid_lft forever preferens_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP grupp standard qlen 1000 länk / eter 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 omfattning global eth0 valid_lft alltid föredragen_lft för alltid inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 omfångslänk valid_lft för alltid föredragen_lft för alltid

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

Installation av bind9, isc-dhcp-server och ntp

binda9

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

root @ master: ~ # nano /etc/bind/named.conf
inkluderar "/etc/bind/named.conf.options"; inkluderar "/etc/bind/named.conf.local"; inkludera "/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
alternativ {katalog "/ var / cache / bind"; // Om det finns en brandvägg mellan dig och namnservrarna du vill // att prata med, kan du behöva fixa brandväggen så att flera // portar kan prata. Ser http://www.kb.cert.org/vuls/id/800113

        // Om din Internetleverantör tillhandahöll en eller flera IP-adresser för stabila // namnservrar vill du antagligen använda dem som vidarebefordrare. // Avmarkera följande block och sätt in adresserna som ersätter // all-0: s platshållare. // speditörer {// 0.0.0.0; //}; // ================================================== ====================== $ // Om BIND loggar felmeddelanden om att rotnyckeln har löpt ut, // måste du uppdatera dina nycklar. Ser https://www.isc.org/bind-keys
        // ================================================== ======================= $ // Vi vill inte ha DNSSEC
        dnssec-aktivera nej;
        // dnssec-validering auto; auth-nxdomän nr; # överensstämmer med RFC1035 listen-on-v6 {any; }; // För kontroller från localhost och sysadmin // genom dig swl.fan axfr // Vi har inte Slave DNS ... tills nu
        allow-transfer {localhost; 192.168.10.1; };
}; root @ master: ~ # named-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Delat adressutrymme (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 och 6303)
zon "254.169.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IETF-protokolltilldelningar (RFC 5735 och 5736)
zon "0.0.192.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; };

// TEST-NET- [1-3] för dokumentation (RFC 5735, 5737 och 6303)
zon "2.0.192.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "100.51.198.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "113.0.203.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; };

// Exempelområde IPv6 för dokumentation (RFC 3849 och 6303)
zon "8.bd0.1.0.0.2.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; };

// Domännamn för dokumentation och testning (BCP 32)
zon "test" {typ master; fil "/etc/bind/db.empty"; }; zon "exempel" {typ master; fil "/etc/bind/db.empty"; }; zon "ogiltig" {typ master; fil "/etc/bind/db.empty"; }; zon "exempel.se" {typ master; fil "/etc/bind/db.empty"; }; zon "exempel.net" {typ master; fil "/etc/bind/db.empty"; }; zon "exempel.org" {typ master; fil "/etc/bind/db.empty"; };

// Routing Benchmark Testing (RFCs 2544 and 5735)
zon "18.198.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "19.198.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IANA Reserved - Old Class E Space (RFC 5735)
zon "240.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "241.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "242.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "243.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "244.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "245.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "246.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "247.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "248.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "249.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "250.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "251.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "252.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "253.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "254.in-addr.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IPv6 ej tilldelade adresser (RFC 4291)
zon "1.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "3.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "4.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "5.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "6.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "7.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "8.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "9.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "a.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "b.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "c.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "d.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "e.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "0.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "1.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "2.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "3.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "4.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "5.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "6.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "7.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "8.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "9.f.ip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "afip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "bfip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "0.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "1.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "2.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "3.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "4.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "5.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "6.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "7.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IPv6 ULA (RFC 4193 och 6303)
zon "cfip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "dfip6.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IPv6 Link Local (RFC 4291 och 6303)
zon "8.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "9.efip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "aefip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "befip6.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IPv6 föråldrade plats-lokala adresser (RFC 3879 och 6303)
zon "cefip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "defip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "eefip6.arpa" {typ master; fil "/etc/bind/db.empty"; }; zon "fefip6.arpa" {typ master; fil "/etc/bind/db.empty"; };

// IP6.INT är utfasad (RFC 4159)
zon "ip6.int" {typ master; fil "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Gör någon lokal konfiguration här // // Överväg att lägga till 1918-zonerna här, om de inte används i din // organisation inkluderar "/etc/bind/zones.rfc1918";
inkluderar "/etc/bind/zones.rfcFreeBSD";

// Deklaration av namn, typ, plats och uppdateringsbehörighet // för DNS-postzoner // Båda zonerna är MASTER-zonen "swl.fan" {typ master; fil "/var/lib/bind/db.swl.fan"; }; zon "10.168.192.in-addr.arpa" {typ master; fil "/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; serie 1D; uppdatera 1H; försök 1W; upphöra 3H); minimum eller; Negativ cachetid för att leva; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "För fans av fri programvara"; sysadmin IN A 192.168.10.1 fileserver IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; serie 1D; uppdatera 1H; försök 1W; upphöra 3H); minimum eller; Negativ cachetid för att leva; @ IN NS master.swl.fan. ; 1 IN PTR sysadmin.swl.fan. 4 IN PTR fileserver.swl.fan. 5 IN PTR master.swl.fan. 6 IN PTR proxyweb.swl.fan. 7 IN PTR blog.swl.fan. 8 IN PTR ftpserver.swl.fan. 9 IN PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zon swl.fan/IN: laddad serie 1 OK
root @ master: ~ # named-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
zon 10.168.192.in-addr.arpa/IN: laddad serie 1 OK

root @ master: ~ # namngiven-checkconf -zp
root @ master: ~ # systemctl starta om bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9-kontroller

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
Starta Nping 0.6.47 ( http://nmap.org/nping ) vid 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 SEND (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: Ej tillämpligt | Gen. rtt: Ej tillämpligt Råpaket skickade: 84 (0B) | Rcvd: 0 (3B) | Förlorat: 100.00 (1%) Nping klar: 3.01 IP-adress pingad på XNUMX sekunder 

isc-dhcp-server

root @ master: ~ # aptitude installera isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# På vilka gränssnitt ska DHCP-servern (dhcpd) servera DHCP-förfrågningar? # Separera flera gränssnitt med mellanslag, t.ex. "eth0 eth1".
INTERFACES = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n ANVÄNDARE dhcp-key
root @ master: ~ # cat Kdhcp-key. +157 + 51777. privat 
Privatnyckelformat: v1.3 Algoritm: 157 (HMAC_MD5) Nyckel: Ba9GVadq4vOCixjPN94dCQ == Bitar: AAA = Skapad: 20170527133656 Publicera: 20170527133656 Aktivera: 20170527133656

root @ master: ~ # nano dhcp.key
nyckel dhcp-nyckel {
        algoritm hmac-md5;
        hemlighet "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
inkludera "/etc/bind/dhcp.key";

zon "swl.fan" {typ master; fil "/var/lib/bind/db.swl.fan";
        tillåta uppdatering {key dhcp-key; };
}; zon "10.168.192.in-addr.arpa" {typ master; fil "/var/lib/bind/db.10.168.192.in-addr.arpa";
        tillåta uppdatering {key dhcp-key; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-uppdateringar på; ddns-domännamn "swl.fan."; ddns-rev-domännamn "in-addr.arpa."; ignorera klientuppdateringar; uppdateringsoptimering falsk; # Kan krävas för auktorisation av Debian; alternativ ip-vidarebefordran av; alternativ domännamn "swl.fan"; inkluderar "/etc/dhcp/dhcp.key"; zon swl.fan. {primär 127.0.0.1; nyckel dhcp-nyckel; } zon 10.168.192.in-addr.arpa. {primär 127.0.0.1; nyckel dhcp-nyckel; } delat nätverk redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; undernätmask 255.255.255.0; alternativ sändningsadress 192.168.10.255; alternativ domännamnsservrar 192.168.10.5; option netbios-namnservrar 192.168.10.5; alternativ ntp-servrar 192.168.10.5; optionstidsservrar 192.168.10.5; intervall 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Copyright 2004-2014 Internet Systems Consortium. Alla rättigheter förbehållna. För information, besök https://www.isc.org/software/dhcp/
Konfigurationsfil: /etc/dhcp/dhcpd.conf Databasfil: /var/lib/dhcp/dhcpd.hyrar PID-fil: /var/run/dhcpd.pid

root @ master: ~ # systemctl starta om 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 installera ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfil /var/lib/ntp/ntp.drift statistik loopstats peerstats klockstatistik filegen loopstats fil loopstats typ dag aktivera filegen peerstats fil peerstats typ dag aktivera filegen klockstatus fil klockstatistik typ dag aktivera server 192.168.10.1 begränsa -4 standard kod notrap nomodifiera nopeer noquery begränsa -6 standard kod notrap nomodifiera nopeer noquery begränsa 127.0.0.1 begränsa :: 1 sändning 192.168.10.255

root @ master: ~ # systemctl starta om ntp.service 
root @ master: ~ # systemctl status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 maj 10:04:01 ntpdate [18769]: justera tidsservern 192.168.10.1 förskjutning 0.369354 sek

Globala kontroller för ntp, bind9 och isc-dhcp-server

Från en Linux-, BSD-, Mac OS- eller Windows-klient kontrollerar du att tiden är synkroniserad korrekt. Att den förvärvar en dynamisk IP-adress och att namnet på den värden löses genom direkta och omvända DNS-frågor. Ändra kundens namn och gör om alla kontroller. Fortsätt inte förrän du är säker på att de installerade tjänsterna hittills fungerar korrekt. För något skrev vi alla artiklar om DNS och DHCP i Datornätverk för små och medelstora företag.

NIS-serverinstallation

root @ master: ~ # aptitude show nis
Konflikter med: netstd (<= 1.26) Beskrivning: klienter och demoner för Network Information Service (NIS) Detta paket innehåller verktyg för att ställa in och underhålla en NIS-domän. NIS, ursprungligen känd som Yellow Pages (YP), används mest för att låta flera maskiner i ett nätverk dela samma kontoinformation, till exempel lösenordsfilen.

root @ master: ~ # aptitude install nis
Paketkonfiguration ┌──────────────────────────┤Nis Configuration ├──────────────── ──────────┐ ┐ Välj NIS "domännamn" för detta system. Om du vill att denna │ │-maskin bara ska vara en klient, ska du ange namnet på den │ │ NIS-domän som du vill gå med i. │ │ │ │ Alternativt, om den här maskinen ska vara en NIS-server, kan du │ │ ange ett nytt NIS "domännamn" eller namnet på en befintlig NIS │ │-domän. │ │ │ │ NIS-domän: │ │ │ │ swl.fan __________________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ──────────────────  

Det kommer att försena din eftersom servicekonfigurationen inte finns som sådan. Vänta tills processen är klar.

root @ master: ~ # nano / etc / default / nis
# Är vi en NIS-server och i så fall vilken typ (värden: falsk, slav, master)?
NISSERVER = mästare

root @ master: ~ # nano /etc/ypserv.securenets # securenets Den här filen definierar åtkomsträttigheterna till din NIS-server # för NIS-klienter (och slavservrar - ypxfrd använder också denna # -fil). Den här filen innehåller nätmask / nätverkspar. # En klients IP-adress måste matcha minst en # av dem. # # Man kan använda ordet "värd" istället för en nätmask på # 255.255.255.255. Endast IP-adresser är tillåtna i denna # -fil, inte värdnamn. # # Tillåt alltid åtkomst för localhost 255.0.0.0 127.0.0.0 # Denna rad ger åtkomst till alla. JUSTERA VÄNLIGEN! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Ska vi slå samman passwd-filen med skuggfilen? # MERGE_PASSWD = true | false
MERGE_PASSWD = sant

# Ska vi slå samman gruppfilen med gshadow-filen? # MERGE_GROUP = sant | falskt
MERGE_GROUP = sant

Vi bygger NIS-databasen

root @ master: ~ # / usr / lib / yp / ypinit -m
Vid denna tidpunkt måste vi skapa en lista över de värdar som kör NIS-servrar. master.swl.fan finns i listan över NIS-servervärdar. Fortsätt att lägga till namnen på de andra värdarna, ett per rad. När du är klar med listan skriver du a . nästa värd att lägga till: master.swl.fan nästa värd att lägga till: Den nuvarande listan över NIS-servrar ser ut så här: master.swl.fan Är det korrekt? [y / n: y] Vi behöver några minuter för att bygga databaserna ... göra [1]: Lämna katalogen '/var/yp/swl.fan' master.swl.fan har ställts in som en NIS-masterserver . Nu kan du köra ypinit -s master.swl.fan på alla slavserver.

root @ master: ~ # systemctl starta om nis
root @ master: ~ # systemctl status nis

Vi lägger till lokala användare

root @ master: ~ # adduser bilbo
Lägga till användaren 'bilbo' ... Lägga till den nya gruppen 'bilbo' (1001) ... Lägga till den nya användaren 'bilbo' (1001) med gruppen 'bilbo' ... Skapa hemkatalogen '/ home / bilbo' ... Kopiera filerna från `/ etc / skel '... Ange det nya UNIX-lösenordet: Skriv in det nya UNIX-lösenordet: passwd: lösenordet uppdaterat korrekt Ändra användarinformationen för bilbo Ange det nya värdet, eller tryck på ENTER för att använda standard fullständigt namn []: Bilbo Bagins rumsnummer []: Arbetstelefon []: Hemtelefon []: Annat []: Är informationen korrekt? [Y / n]

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

och så vidare.

root @ master: ~ # finger legolas
Inloggning: legolas Namn: Legolas Archer Directory: / home / legolas Shell: / bin / bash Aldrig inloggad. Ingen post. Ingen plan.

Vi uppdaterar NIS-databasen

root @ master: / var / yp # make
make [1]: Ange katalog '/var/yp/swl.fan' Uppdaterar passwd.byname ... Uppdaterar passwd.byuid ... Uppdaterar group.byname ... Uppdaterar group.bygid ... Uppdaterar netid.byname. .. Uppdaterar shadow.byname ... Ignorerad -> slogs samman med passwd make [1]: Lämna katalogen '/var/yp/swl.fan'

Vi lägger till NIS-alternativ till isc-dhcp-servern

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style interim; ddns-uppdateringar på; ddns-domännamn "swl.fan."; ddns-rev-domännamn "in-addr.arpa."; ignorera klientuppdateringar; uppdateringsoptimering falsk; auktoritativ; alternativ ip-vidarebefordran av; alternativ domännamn "swl.fan"; inkluderar "/etc/dhcp/dhcp.key"; zon swl.fan. {primär 127.0.0.1; nyckel dhcp-nyckel; } zon 10.168.192.in-addr.arpa. {primär 127.0.0.1; nyckel dhcp-nyckel; } delat nätverk redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; undernätmask 255.255.255.0; alternativ sändningsadress 192.168.10.255; alternativ domännamnsservrar 192.168.10.5; option netbios-namnservrar 192.168.10.5; alternativ ntp-servrar 192.168.10.5; optionstidsservrar 192.168.10.5;
                alternativ nis-domän "swl.fan";
                alternativ nis-servrar 192.168.10.5;
                intervall 192.168.10.30 192.168.10.250; }}

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

NIS-klientinstallation

  • Vi startar från en ren installation - utan grafiskt gränssnitt - av en Debian 8 "Jessie".
root @ mail: ~ # värdnamn -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP grupp standard qlen 1000 länk / eter 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 omfattning global eth0

root @ mail: ~ # aptitude installera nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Konfigurationsfil för ypbind-processen. Du kan definiera # NIS-servrar manuellt här om de inte kan hittas av # sändning på det lokala nätet (vilket är standard). # # Se manualsidan för ypbind för syntax för den här filen. # # VIKTIGT: För "ypserver", använd IP-adresser, eller se till att # värden är i / etc / hosts. Den här filen tolkas bara # en gång, och om DNS inte kan nås kan ypserver inte # lösas och ypbind kommer aldrig att binda till servern. # ypserver ypserver.network.com ypserver master.swl.fan domän swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Exempel på konfiguration av GNU Name Service Switch-funktionalitet. # Om du har paketen `glibc-doc-reference 'och' info 'installerade, försök: #` info libc "Name Service Switch"' för information om den här filen. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files dns nis nätverk: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) för mer information.
session valfri pam_mkhomedir.so skel = / etc / skel umask = 077
# här är modulerna per paket ("Primär" -blocket)

root @ mail: ~ # systemctl status nis
root @ mail: ~ # systemctl starta om nis

Vi stänger sessionen och startar den igen men med en användare registrerad i NIS-databasen på master.swl.fan.

root @ mail: ~ # exit
avloggning Anslutning till e-post stängd.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail's lösenord: Skapa katalog '/ home / legolas'. Programmen som ingår i Debian GNU / Linux-systemet är fri programvara; de exakta distributionsvillkoren för varje program beskrivs i de enskilda filerna i / usr / share / doc / * / copyright. Debian GNU / Linux levereras absolut INGEN GARANTI, i den utsträckning som tillåts enligt tillämplig lag.
legolas @ mail: ~ $ pwd
/ hem / legolas
legolas @ mail: ~ $ 

Vi ändrar lösenordet för Legolas-användaren och kontrollerar

legolas @ mail: ~ $ yppasswd 
Ändra NIS-kontoinformation för legolas på master.swl.fan. Ange gammalt lösenord: legolas Ändra NIS-lösenord för legolas på master.swl.fan. Ange nytt lösenord: bågskytt Lösenordet måste ha både stora och små bokstäver eller icke-bokstäver. Ange nytt lösenord: Arquero2017 Skriv in nytt lösenord: Arquero2017 NIS-lösenordet har ändrats på master.swl.fan.

legolas @ mail: ~ $ exit
avloggning Anslutning till e-post stängd.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mails lösenord: Arquero2017

De program som ingår i Debian GNU / Linux-systemet är fri programvara; de exakta distributionsvillkoren för varje program beskrivs i de enskilda filerna i / usr / share / doc / * / copyright. Debian GNU / Linux levereras absolut INGEN GARANTI, i den utsträckning som tillåts enligt tillämplig lag. Senaste inloggning: lördag 27 maj 12:51:50 2017 från sysadmin.swl.fan
legolas @ mail: ~ $

NIS-tjänsten implementerad på server- och klientnivå fungerar korrekt.

LDAP

Från Wikipedia:

  • LDAP är förkortningen för Lightweight Directory Access Protocol (på spanska Lightweight / Simplified Directory Access Protocol) som refererar till ett protokoll på applikationsnivå som tillåter åtkomst till en beställd och distribuerad katalogtjänst för att söka efter olika information i en miljö nätverk. LDAP anses också vara en databas (även om dess lagringssystem kan vara annorlunda) som kan ifrågasättas.En katalog är en uppsättning objekt med attribut ordnade på ett logiskt och hierarkiskt sätt. Det vanligaste exemplet är telefonkatalogen, som består av en serie namn (personer eller organisationer) som är ordnade i alfabetisk ordning, där varje namn har en adress och ett telefonnummer bifogat. För att förstå bättre är det en bok eller mapp där människors namn, telefonnummer och adresser är skrivna, och det är ordnat alfabetiskt.

    Ett LDAP-katalogträd återspeglar ibland olika politiska, geografiska eller organisatoriska gränser, beroende på vilken modell som väljs. Nuvarande LDAP-distributioner brukar använda domännamnssystem (DNS) för att strukturera de högre nivåerna i hierarkin. När du rullar ner i katalogen kan poster visas som representerar personer, organisationsenheter, skrivare, dokument, grupper av personer eller något som representerar en given post i trädet (eller flera poster).

    Vanligtvis lagras den autentiseringsinformationen (användarnamn och lösenord) och används för att autentisera, även om det är möjligt att lagra annan information (användarkontaktdata, plats för olika nätverksresurser, behörigheter, certifikat etc.). Sammanfattningsvis är LDAP ett enhetligt åtkomstprotokoll till en uppsättning information i ett nätverk.

    Den nuvarande versionen är LDAPv3 och definieras i RFC: er RFC 2251 och RFC 2256 (LDAP-basdokument), RFC 2829 (autentiseringsmetod för LDAP), RFC 2830 (tillägg för TLS) och RFC 3377 (teknisk specifikation)

    .

Längeär LDAP-protokollet - och dess databaser kompatibla eller inte med OpenLDAP - det mest använda i de flesta autentiseringssystem idag. Som ett exempel på föregående uttalande ger vi nedan några namn på system -Free eller Private- som använder LDAP-databaser som backend för att lagra alla sina objekt:

  • OpenLDAP
  • Apache DirectoryServer
  • Red Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystems Open DS
  • Red Hat Identity Manager
  • Freipa
  • Samba NT4 Classic Domain Controller.
    Vi vill klargöra att detta system har utvecklats av Team Samba med Samba 3.xxx + OpenLDAP som backend. Microsoft implementerade aldrig något liknande. Hoppade från NT 4 Domain Controllers till deras aktiva kataloger
  • Samba 4 Active Directory - Domain Controler
  • ClearOS
  • centyal
  • UCS Uniinvention Corporate Server
  • Microsoft Active Directory

Varje implementering har sina egna egenskaper, och det mest vanliga och kompatibla är OpenLDAP.

Active Directory, vare sig det är Microsoft eller Samba 4, är en sammanslutning av flera huvudkomponenter som är:

Vi får inte förvirra a Katalogtjänst o Katalogtjänst med en Active Directory o Active Directory. Den förra kan ha Kerberos-autentisering eller inte, men de erbjuder inte Microsofts nätverkstjänst som en Windows-domän tillhandahåller, och de har inte heller en Windows-domänkontrollant som sådan.

En katalogtjänst eller katalogtjänst kan användas för att autentisera användare i ett blandat nätverk med UNIX / Linux- och Windows-klienter. För den senare måste ett program installeras på varje klient som fungerar som en mellanhand mellan katalogtjänsten och Windows-klienten själv, till exempel fri programvara. pGina.

Katalogtjänst med OpenLDAP

  • Vi startar från en ren installation - utan grafiskt gränssnitt - av en Debian 8 "Jessie", med samma "huvud" -maskinnamn som används för NIS-installationen, samt konfigurationen av dess nätverksgränssnitt och /etc/resolv.conf-filen. Till den här nya servern installerar vi ntp, bind9 och isc-dhcp-servern, utan att glömma de globala kontrollerna av att de tre tidigare tjänsterna fungerar korrekt.
root @ master: ~ # aptitude installera slapd ldap-utils

Paketkonfiguration

┌─────────────────────┤ Slapd konfiguration ├──────────────────────┐ │ Ange lösenordet för administratörsposten i din LDAP │ │-katalog. │ │ │ │ Administratörslösenord: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ - ─ ─ ─ ─ ──────────────────────┘

Vi kontrollerar den ursprungliga konfigurationen

root @ master: ~ # slapcat
dn: dc = swl, dc = fläkt
objectClass: toppobjektClass: dcObject objectClass: organisation o: swl.fan dc: swl structureObjectClass: organisation entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 skapare Namn: cn = admin, dc = swl, dc = fläktpost createTimestamp20170531205219N: 20170531205219.833955 Z # 000000 # 000 # 000000 modifierare Namn: cn = admin, dc = swl, dc = fan modifyTidsstämpel: 20170531205219Z

dn: cn = admin, dc = swl, dc = fläkt
object: simpleSecurityObject object: organizationalRole cn: admin Beskrivning: LDAP administratör userpassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structural: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe-entry = cXNUMXe XNUMX Z # XNUMX # XNUMX # XNUMX modifierare Namn: cn = admin, dc = swl, dc = fan modifyTidsstämpel: XNUMXZ

Vi ändrar filen /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BAS dc = swl, dc = fläkt URI    ldap: // localhost

Organisationsenheter och allmän grupp «användare»

Vi lägger till de minsta nödvändiga organisatoriska enheterna, liksom Posix-gruppen «användare» som vi kommer att göra alla användare medlemmar, enligt exemplet med många system som har gruppen «användare«. Vi benämner det med namnet «användare» för att undvika eventuella konflikter med gruppen «användare"av systemet.

root @ master: ~ # nano base.ldif
dn: ou = personer, dc = swl, dc = fläktobjekt Klass: organisatorisk Enhet ou: personer dn: ou = grupper, dc = swl, dc = fläktobjekt Klass: organisatorisk Enhet ou: grupper dn: cn = användare, ou = grupper, 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
Ange LDAP-lösenord: lägga till ny post "ou = personer, dc = swl, dc = fläkt" lägga till ny post "ou = grupper, dc = swl, dc = fläkt"

Vi kontrollerar de tillagda posterna

root @ master: ~ # ldapsearch -x ou = människor
# personer, swl.fan dn: ou = människor, dc = swl, dc = fanobjekt Klass: organisatorisk Enhet ou: människor

root @ master: ~ # ldapsearch -x ou = grupper
# grupper, swl.fan dn: ou = grupper, dc = swl, dc = fanobjekt Klass: organisatorisk Enhet ou: grupper

root @ master: ~ # ldapsearch -x cn = användare
# användare, grupper, swl.fan dn: cn = användare, ou = grupper, dc = swl, dc = fläktobjekt Klass: posix Grupp cn: användare gid Antal: 10000

Vi lägger till flera användare

Lösenordet som vi måste deklarera i LDAP måste erhållas via kommandot slappasswd, som returnerar ett SSHA-krypterat lösenord.

Lösenord för användarens steg:

root @ master: ~ # slappasswd 
Nytt lösenord: Ange nytt lösenord: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Lösenord för användaren legolas

root @ master: ~ # slappasswd 
Nytt lösenord: Ange nytt lösenord: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Lösenord för användargandalf

root @ master: ~ # slappasswd 
Nytt lösenord: Ange nytt lösenord: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = steg, ou = personer, dc = swl, dc = fanobjektKlass: inetOrgPersonobjektKlass: posixKontoobjektKlass: skuggaKonto uid: steg {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: striders@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas givenName : Legolas sn: Archer-användare Lösenord: {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: Wizard-användaren Lösenord: {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
Ange LDAP-lösenord: lägga till ny post "uid = steg, ou = personer, dc = swl, dc = fläkt" lägga till ny post "uid = legolas, ou = personer, dc = swl, dc = fläkt" lägga till ny post "uid = gandalf, ou = människor, dc = swl, dc = fan "

Vi kontrollerar de tillagda posterna

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

Vi hanterar slpad-databasen med konsolverktyg

Vi väljer paketet ldapscripts för en sådan uppgift. Installations- och konfigurationsproceduren är som följer:

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

Observera att manusen använder paketkommandona ldap-verktyg. Springa dpkg -L ldap-utils | grep / bin att veta vad de är.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapdduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: förnamn: sn: displayName: uidNumber: gidNumber: 10000 homeDirectory: loginShell: post: @ swl.fan geckos: beskrivning: Användarkonto
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## tar vi bort kommentaren UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Vi lägger till användaren "bilbo" och gör honom till medlem i gruppen "användare"

root @ master: ~ # ldapadduser bilbo-användare
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Ange värde för "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Ange värde för " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Ange värde för" displayName ": Bilbo Bagins har lagt till användarbilbo till LDAP Ställ in lösenord för användarbilbo

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, personer, swl.fan dn: uid = bilbo, ou = personer, dc = swl, dc = fläktobjektClass: inetOrgPersonobjektClass: 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 beskrivning: Användarkonto

För att se lösenordet för bilbo-användaren är det nödvändigt att utföra frågan med autentisering:

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

För att ta bort bilbo-användaren kör vi:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Ange LDAP-lösenord:

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

Vi hanterar slapd-databasen via ett webbgränssnitt

Vi har en funktionell katalogtjänst och vi vill hantera den lättare. Det finns många program som är utformade för denna uppgift, till exempel phpldapadmin, ldap-kontoansvarig, etc., som är tillgängliga direkt från förvaren. Vi kan också hantera en katalogtjänst via Apache Directory Studio, som vi måste ladda ner från Internet.

För mer information, besök https://blog.desdelinux.net/ldap-introduccion/och följande 6 artiklar.

LDAP-klient

Skede:

Säg att vi har laget mail.swl.fan som en e-postserver implementerad som vi såg i artikeln Postfix + Dovecot + Squirrelmail och lokala användare, som även om de utvecklats på CentOS, mycket väl kan fungera som en guide för Debian och många andra Linux-distributioner. Vi vill att, förutom de lokala användare som vi redan har deklarerat, de användare som lagras i OpenLDAP-databasen som finns i master.swl.fan. För att uppnå ovanstående måste vi «kartlägga»Till LDAP-användare som lokala användare på servern mail.swl.fan. Denna lösning är också giltig för alla tjänster baserade på PAM-autentisering. Det allmänna förfarandet för Debian, är följande:

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

  ┌┌─────────────────────┤┤┤┤┤┤┤┤┤┤┤ libnss-ldap ├──────────────────────┐ │ Ange URI ("Uniform Resource Identifier", eller Uniform Resource Identifier) ​​för LDAP-servern. Denna sträng liknar │ │ «ldap: //: / ». Du kan också │ │ använda «ldaps: // » eller "ldapi: //". Portnumret är valfritt. │ │ │ │ Det rekommenderas att använda en IP-adress för att undvika fel när domännamntjänster │ │ inte är tillgängliga. │ │ │ │ LDAP-server URI: │ │ │ │ ldap: //master.swl.fan__________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌──────── ┤ Konfiguration av libnss-ldap ├├───────────│─│││││││┐││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││││ │││││││││││││││││││││││││││││││││││││ Många webbplatser använder domännamnskomponenterna för detta │ │ syfte. Till exempel skulle domänen "exempel.net" använda │ │ "dc = exempel, dc = net" som det framstående namnet på sökbasen. │ │ │ │ Sökbasens framstående namn (DN): │ │ │ │ dc = swl, dc = fläkt ____________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ───────────────────────── ──┤ Konfiguration av libnss-ldap ├───────────────────────┐ │ Ange den version av LDAP-protokollet som ldapns ska använda. Det rekommenderas to │ att använda det högsta tillgängliga versionsnumret. │ │ │ │ LDAP-version att använda: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ───────────────────────── ──┤ Konfiguration av libnss-ldap ├├───────────────────────││││││││ which which│ which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which which│ which│ which which which which which││ which which which│ which││ which│ which which which│ which which which which│ which││││││││││ which which n│ n││ which n n n n │ │ │ │ Obs: För att det här alternativet ska fungera behöver kontot behörighet för att │ to kunna få åtkomst till LDAP-attributen som är associerade med användarens shadow shadow "skugg" -poster samt användarnas och │ │ gruppernas lösenord . │ │ │ │ LDAP-konto för root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌────────── ──┤ Konfiguration av libnss-ldap ├──────────────────────┐ │ Ange lösenordet som ska användas när libnss-ldap försöker │ │ autentisera till LDAP-katalogen med rot-LDAP-kontot. │ │ │ │ Lösenordet sparas i en separat fil │ │ ("/etc/libnss-ldap.secret") som endast root kan komma åt. │ │ │ │ Om du anger ett tomt lösenord kommer det gamla lösenordet att återanvändas. │ │ │ │ Lösenord för root LDAP-konto: │ │ │ │ ******** ________________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌─────────────── ─┤ Konfiguration av libnss-ldap ├ att använda en LDAP-datakälla om du vill att paketet libnss-ldap ska fungera. │ │ Du kan använda exempelfilen │ │ i "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" som ett exempel på nsswitch-konfigurationen eller │ │ du kan kopiera den över din nuvarande konfiguration. │ │ │ │ Observera att innan du tar bort detta paket kan det vara bekvämt att │ │ ta bort "ldap" -posterna från filen nsswitch.conf så att bastjänsterna │ │ fortsätter att fungera. │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌────────── ──┤ Konfiguration av libpam-ldap ├├───────────────────────│││││││││ option││ option option│ option│││ option option│ option option│ option││ option option│ option option││ option option│ option│ option│ option│││││ option│ option option│ option││ option option│││ option Med detta alternativ kan lösenordsverktyg med PAM ändra lokala lösenord. │ │ │ │ Lösenordet för LDAP-administratörskontot lagras i en separat │ │-fil som endast kan läsas av administratören. │ │ │ │ Detta alternativ ska inaktiveras om "/ etc" monteras via NFS. │ │ │ │ Vill du tillåta att LDAP-administratörskontot beter sig som │ │ den lokala administratören? │ │ │ │                                            │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ───────────────────────── ──┤ Konfiguration av libpam-ldap ├─────────────────────── whether │ │ │ Välj om LDAP-servern tvingar identifiering innan du får entradas │-poster. │ │ │ │ Denna inställning är sällan nödvändig. │ │ │ │ Behöver en användare komma åt LDAP-databasen? │ │ │ │                                               │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌────────── ──┤ Konfiguration av libpam-ldap ├───────────────────────┐ │ Ange namnet på LDAP-administratörskontot. │ │ │ │ Det här kontot kommer automatiskt att användas för databashantering, det måste ha lämpliga administrativa behörigheter. │ │ │ │ LDAP-administratörskonto: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ───────────────────────── ──┤ Konfiguration av libpam-ldap ├────────────────────────┐ │ Ange lösenordet för administratörskontot. │ │ │ │ Lösenordet sparas i filen "/etc/pam_ldap.secret". Administratören │ │ är den enda som kan läsa den här filen och tillåter │ │ libpam-ldap att automatiskt styra hanteringen av anslutningar i │ │-databasen. │ │ │ │ Om du lämnar detta fält tomt kommer det tidigare sparade lösenordet │ │ att användas igen. │ │ │ │ LDAP-administratörslösenord: │ │ │ │ ******** _________________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────────────  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Exempel på konfiguration av GNU Name Service Switch-funktionalitet. # Om du har paketen `glibc-doc-reference 'och' info 'installerat, försök: #` info libc "Name Service Switch"' för information om den här filen. passwd: kompat ldap
grupp: kompat ldap
skugga: kompat ldap
gshadow: filer värdar: filer dns-nätverk: filer protokoll: db-filer tjänster: db-filer etrar: db-filer rpc: db-filer netgroup: nis

Låt oss redigera filen /etc/pam.d/common-password, vi går till rad 26 och eliminerar värdet «use_authtok':

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - lösenordsrelaterade moduler som är gemensamma för alla tjänster # # Den här filen ingår i andra tjänstespecifika PAM-konfigurationsfiler, # och bör innehålla en lista med moduler som definierar vilka tjänster som ska # används för att ändra användarlösenord. Standard är pam_unix. # Förklaring av pam_unix-alternativ: # # Alternativet "sha512" möjliggör saltade SHA512-lösenord. Utan detta alternativ är # standard Unix crypt. Tidigare versioner använde alternativet "md5". # # Alternativet "obskur" ersätter det gamla alternativet "OBSCURE_CHECKS_ENAB" i # login.defs. # # Se pam_unix-sidan för andra alternativ. # Från och med pam 1.0.1-6 hanteras den här filen av pam-auth-update som standard. # För att dra nytta av detta rekommenderas att du konfigurerar alla # lokala moduler antingen före eller efter standardblocket och använder # pam-auth-update för att hantera val av andra moduler. Se # pam-auth-update (8) för mer information. # här är modulerna per paket ("Primärt" block) lösenord [success = 2 standard = ignorera] pam_unix.so obscure sha512
lösenord [success = 1 user_unknown = ignorera standard = die] pam_ldap.so try_first_pass
# här är reserven om ingen modul lyckas lösenord krävs pam_deny.so # primera stacken med ett positivt returvärde om det inte redan finns något; # detta undviker oss att returnera ett fel bara för att ingenting ställer in en framgångskod # eftersom modulerna ovan bara kommer att hoppa runt lösenord krävs pam_permit.so # och här är fler moduler per paket ("Ytterligare" block) # slutet av pam- auth-update config

Om vi ​​behöver det den lokala inloggningen för de användare som är lagrade i LDAP, och vi vill att deras mappar ska skapas automatiskt hem, vi måste redigera filen /etc/pam.d/common-session och lägg till följande rad i slutet av filen:

session valfri pam_mkhomedir.so skel = / etc / skel umask = 077

I exemplet OpenLDAP Directory Service som utvecklats tidigare var den enda lokala användaren som skapades användaren surr, medan vi i LDAP skapar användare steg, legolas, GandalfOch bilbo. Om de konfigurationer som hittills gjorts är korrekta bör vi kunna lista de lokala användarna och de som är kartlagda som lokala men lagrade på fjärr-LDAP-servern:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Strides: x: 10000: 10000: Strides El Rey: / home / strides: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf Wizard: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Efter ändringarna i autentiseringen av systemet är det giltigt att starta om servern, annars står vi inför en kritisk tjänst:

root @ mail: ~ # starta om

Senare startar vi en lokal session på servern mail.swl.fan med autentiseringsuppgifter för en användare lagrad i LDAP-databasen master.swl.fan. Vi kan också försöka logga in via SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
gandalf @ mails lösenord: Skapa katalog '/ home / gandalf'. Programmen som ingår i Debian GNU / Linux-systemet är fri programvara; de exakta distributionsvillkoren för varje program beskrivs i de enskilda filerna i / usr / share / doc / * / copyright. Debian GNU / Linux levereras absolut INGEN GARANTI, i den utsträckning som tillåts enligt tillämplig lag.
gandalf @ mail: ~ $ su
lösenord:

root @ mail: / home / gandalf # getent group
buzz: x: 1001: användare: *: 10000:

root @ mail: / home / gandalf # exit
avsluta

gandalf @ mail: ~ $ ls -l / home /
totalt 8 drwxr-xr-x 2 buzz buzz     4096 17 juni 12:25 buzz drwx ------ 2 gandalf användare 4096 Jun 17 13:05 gandalf

Katalogtjänsten implementerad på server- och klientnivå fungerar korrekt.

Kerberos

Från Wikipedia:

  • Kerberos är ett autentiseringsprotokoll för datanätverk skapat av MIT som gör att två datorer i ett osäkert nätverk säkert kan bevisa sin identitet för varandra Dess designers fokuserade först på en klient-servermodell, och den ger ömsesidig autentisering: både klient och server verifierar varandras identitet. Autentiseringsmeddelanden är skyddade för att förhindra tjuvlyssning y spela om attacker.

    Kerberos är baserad på symmetrisk nyckelkryptering och kräver en betrodd tredje part. Dessutom finns det tillägg till protokollet för att kunna använda asymmetrisk nyckelkryptering.

    Kerberos bygger på Needham-Schroeder-protokollet. Den använder en pålitlig tredje part, kallad "Key Distribution Center" (KDC), som består av två separata logiska delar: en "Authentication Server" (AS eller Authentication Server) och en «biljettutgivande server» (TGS eller Ticket Granting Server ). Kerberos arbetar utifrån "biljetter", som tjänar till att bevisa användarnas identitet.

    Kerberos underhåller en databas med hemliga nycklar; Varje enhet i nätverket - vare sig det är klient eller server - delar en hemlig nyckel som endast är känd för sig själv och Kerberos. Kunskap om denna nyckel tjänar till att bevisa enhetens identitet. För en kommunikation mellan två enheter skapar Kerberos en sessionsnyckel som de kan använda för att säkra sina problem.

Nackdelar med Kerberos

De Säkrad:

Även Kerberos tar bort ett vanligt säkerhetshot kan det vara svårt att implementera av olika skäl:

  • Migrering av användarlösenord från en standardlösenordsdatabas UNIX, som / etc / passwd eller / etc / shadow, till en Kerberos-lösenordsdatabas, kan vara tråkigt och det finns ingen snabb mekanism för att utföra denna uppgift.
  • Kerberos förutsätter att varje användare är betrodd men använder en otillförlitlig maskin i ett otillförlitligt nätverk. Huvudsyftet är att förhindra att okrypterade lösenord skickas över nätverket. Men om någon annan användare, förutom lämplig användare, har tillgång till biljettmaskinen (KDC) för autentisering, skulle Kerberos vara i riskzonen.
  • För att ett program ska kunna använda Kerberos måste koden ändras för att ringa lämpliga samtal till Kerberos-biblioteken. Applikationer som ändras på detta sätt betraktas som kerberiserade. För vissa applikationer kan detta vara en överdriven programmeringsinsats på grund av applikationens storlek eller dess design. För andra inkompatibla applikationer måste ändringar göras i hur nätverksservern och dess klienter kommunicerar. igen, detta kan ta en hel del programmering. I allmänhet är slutna källapplikationer som inte har Kerberos-support vanligtvis det mest problematiska.
  • Slutligen, om du bestämmer dig för att använda Kerberos i ditt nätverk, måste du inse att det är ett allt eller inget val. Om du bestämmer dig för att använda Kerberos i ditt nätverk måste du komma ihåg att om några lösenord skickas till en tjänst som inte använder Kerberos för att autentisera, riskerar du att paketet fångas upp. Således kommer ditt nätverk inte att dra nytta av att använda Kerberos. För att säkra ditt nätverk med Kerberos bör du bara använda de kerberiserade versionerna av alla klient- / serverapplikationer som skickar okrypterade lösenord eller inte använder någon av dessa applikationer i nätverket.

Manuell implementering och konfigurering av OpenLDAP som Kerberos Back-End är inte en lätt uppgift. Senare kommer vi dock att se att Samba 4 Active Directory - Domain Controller integreras på ett transparent sätt för Sysadmin, en DNS-server, Microsoft Network och dess Domain Controller, LDAP-server som Back-End för nästan alla dess objekt, och den Kerberos-baserade autentiseringstjänsten som de grundläggande komponenterna i en Active Directory i Microsoft-stil.

Hittills har vi inte haft behov av att implementera ett "Kerberized Network". Det är därför vi inte skrev om hur Kerberos ska implementeras.

Samba 4 Active Directory - domänkontrollant

Viktigt:

Det finns ingen bättre dokumentation än webbplatsen wiki.samba.org. Den självrespekterande Sysadmin borde besöka den webbplatsen - på engelska - och bläddra i det stora antalet sidor helt tillägnad Samba 4, skriven av Team Samba själv. Jag tror inte att det finns dokumentation tillgänglig på Internet för att ersätta den. Förresten, observera antalet besök som återspeglas längst ner på varje sida. Ett exempel på detta är att din huvudsida eller «Huvudsida» besökte 276,183 gånger idag 20 juni 2017 kl 10:10 östlig standardtid. Dessutom hålls dokumentationen mycket uppdaterad, eftersom sidan ändrades den 6 juni.

Från Wikipedia:

Samba är en gratis implementering av Microsoft Windows fildelningsprotokoll (tidigare kallat SMB, nyligen döpt CIFS) för UNIX-liknande system. På detta sätt är det möjligt att datorer med GNU / Linux, Mac OS X eller Unix i allmänhet ser ut som servrar eller fungerar som klienter i Windows-nätverk. Samba låter dig också validera användare som en primär domänkontrollant (PDC), som en domänmedlem och till och med som en Active Directory-domän för Windows-baserade nätverk; förutom att kunna betjäna utskriftsköer, delade kataloger och autentisera med sitt eget användararkiv.

Bland de Unix-liknande systemen som Samba kan köras på är GNU / Linux-distributioner, Solaris och de olika BSD-varianterna bland att vi kan hitta Apples Mac OS X Server.

Samba 4 AD-DC med sin interna DNS

  • Vi startar från en ren installation - utan grafiskt gränssnitt - av en Debian 8 "Jessie".

Inledande kontroller

root @ master: ~ # värdnamn
Master
root @ master: ~ # värdnamn --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: vad: mtu 65536 qdisc noqueue state Okänd grupp standardlänk / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 omfång värd lo valid_lft alltid prefered_lft för alltid inet6 :: 1/128 scope-värd valid_lft forever preferens_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state Okänd grupp standard qlen 1000 länk / eter 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 omfattning global eth0
       valid_lft alltid föredragen_lft för alltid inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 omfångslänk valid_lft för alltid prefer_lft för alltid
root @ master: ~ # cat /etc/resolv.conf
sök swl.fan nameserver 127.0.0.1
  • Med vilken vi förklarar filialen huvudsakliga bara, det är mer än tillräckligt för våra ändamål.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ Jessie huvudsakliga
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / uppdateringar huvudsakliga

Postfix av Exim och verktyg

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

  ┌┌─────────────────────────┤┤┤┤┤┤┤┤┤┤┤┤┤┤f┤┤┤┤f┤┤┤f┤ff┤┤┤┤┤┤f┤┤┤┤┤┤┤┤ff ────┐ │ Välj den typ av e-postserverkonfiguration som bäst passar dina │ │ behov. │ │ │ │ Ingen konfiguration: │ │ Håller den aktuella konfigurationen intakt. │ │ Webbplats: │ │ E-post skickas och tas emot direkt med SMTP. │ │ Internet med «smarthost»: │ │ Mail tas emot direkt med SMTP eller genom att köra ett como │-verktyg som «fetchmail». Utgående e-post skickas med │ │ en "smarthost". │ │ Endast lokal post: │ │ Den enda posten som levereras är för lokala användare. Nej │ │ det finns ett nätverk. │ │ │ │ Generisk typ av e-postkonfiguration: │ │ │ │ Ingen konfiguration │ │ Webbplats │ │ Internet med "smarthost" │ │ Satellitsystem │ │                         Endast lokal post                                │ │ │ │ │ │                                     │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────┌─────────────── ─────┤ Postfix Configuration ├───────────────────────────┐ "" Postsystemets namn "är namnet på domänen som │ │ används för att "kvalificera" _ALL_ e-postadresser utan domännamn. Detta inkluderar e-post till och från "root": snälla gör inte att din maskin skickar e-post från root@exempel.org till │ │ mindre än root@exempel.org frågade. │ │ │ │ Andra program använder detta namn. Det måste vara ett unikt │ │ kvalificerat domännamn (FQDN). │ │ │ │ Om en e-postadress på den lokala maskinen är │ │ något@exempel.orgkommer rätt värde för detta alternativ att vara example.org. │ │ │ │ Mailsystemnamn: │ │ │ │ master.swl.fan ___________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ - ──────────────────  

Vi städar

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

Vi installerar krav för att sammanställa Samba 4 och andra nödvändiga paket

root @ master: ~ # aptitude installera acl attr autoconf bison \
build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-användare 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-moduler 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

 ┌────────────────┤ Konfigurera Kerberos-autentisering ├─────────────────┐ users När användare försöker använda Kerberos och ange ett namn │ │ huvudman eller användare utan att klargöra vilken administrativ Kerberos-domän huvudmannen │ │ tillhör, tar systemet standard │-området.  Standardområdet kan också användas som │ │-området för en Kerberos-tjänst som körs på den lokala maskinen.  │ │ Normalt är standardområdet det stora namnet på den lokala DNS │ │-domänen.  │ │ │ │ Kerberos version 5 standardvärde: │ │ │ │ SWL.FAN __________________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ───────────────────────────────────────┘┘ ┌┌─────────────┤┤─┤┤┤┤┤ Kerberos ├────────────────┐ │ Ange namnen på Kerberos-servrarna i SWL.FAN-området för │ │ Kerberos, åtskilda av mellanslag.  │ │ │ │ Kerberos-servrar för ditt område: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────────────────────────────────────┘┤┤┤┌┌┤┤┤┤┤┤┤┤┤┤┤┤┤ Kerberos ├─────────────────┐ │ Ange administrationsservernamnet (lösenordsändring) │ │ för Kerberos SWL.FAN-området.   

Ovanstående process tog lite tid eftersom vi inte har några DNS-tjänster installerade än. Du valde dock domänen korrekt av filinställningarna / Etc / hosts. Kom ihåg det i filen / Etc / resolv.conf vi har deklarerat som en domännamnsserver till IP 127.0.0.1.

Vi konfigurerar nu filen / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BAS dc = swl, dc = fläkt URI ldap: //master.swl.fan

För frågor med kommandot ldapsearch från rotanvändaren är av typen ldapsearch -x -W cn = xxxx, vi måste skapa filen /root/.ldapsearch med följande innehåll:

root @ master: ~ # nano .ldaprc
BINDDN CN = Administratör, CN = Användare, DC = swl, DC = fläkt

Filsystemet måste ha stöd för ACL - Access Control List

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statisk filsysteminformation. # # Använd 'blkid' för att skriva ut den universellt unika identifieraren för en # enhet; detta kan användas med UUID = som ett mer robust sätt att namnge enheter # som fungerar även om diskar läggs till och tas bort. Se fstab (5). # # # / var på / dev / sda1 under installationen UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, errors = remount-ro 0 1
# swap var på / dev / sda5 under installationen UUID = cb73228a-615d-4804-9877-3ec225e3ae32 ingen swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 användare, noauto 0 0

root @ master: ~ # mount -a

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

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

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

root @ master: ~ # getfacl testing_acl.txt
# fil: testing_acl.txt # ägare: root # group: root user :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Vi hämtar Samba 4-källan, kompilerar den och installerar den

Det rekommenderas starkt att ladda ner versionskällfilen Stabil från webbplatsen https://www.samba.org/. I vårt exempel laddar vi ner versionen samba-4.5.1.tar.gz mot mappen /välja.

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 /

Konfigurationsalternativ

Om vi ​​vill anpassa konfigurationsalternativen kör vi:

root @ master: /opt/samba-4.5.1# ./konfigurera - hjälp

och välj de vi behöver med stor omsorg. Det är tillrådligt att kontrollera om det nedladdade paketet kan installeras på den Linux-distribution som vi använder, vilket i vårt fall är Debian 8.6 Jessie:

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

Vi konfigurerar, kompilerar och installerar samba-4.5.1

  • Från de tidigare installerade kraven och 8604-filerna (som utgör den kompakta samba-4.5.1.tar.gz) som väger cirka 101.7 megabyte - inklusive käll3- och source4-mapparna som väger cirka 61.1 megabyte - får vi en ersättning för en Active Directory i Microsoft-stil, av en kvalitet och stabilitet som är mer än acceptabel för alla produktionsmiljöer. Vi måste lyfta fram Team Sambas arbete med att leverera Free Software Samba 4.

Kommandona nedan är de klassiska för att kompilera och installera paket från sina källor. Vi måste ha tålamod medan hela processen pågår. Det är det enda sättet att få giltiga och korrekta resultat.

root @ master: /opt/samba-4.5.1# ./configure --med-systemd --disable-koppar
root @ master: /opt/samba-4.5.1# göra
root @ master: /opt/samba-4.5.1# make install

Under kommandoprocessen görakan vi se att källorna Samba 3 och Samba 4 har sammanställts. Det är därför Team Samba säger att dess version 4 är den naturliga uppdateringen av version 3, båda för domänkontrollanter baserade på Samba 3 + OpenLDAP, och filservrar eller äldre versioner av Samba 4.

Försörjning av Samba

Vi kommer att använda som DNS SAMBA_INTERNAL. I https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End vi hittar mer information. När de ber oss om lösenordet för administratörsanvändaren måste vi skriva en av minst 8 tecken och även med bokstäver - stora och små bokstäver - och siffror.

Innan vi fortsätter med försörjningen och för att göra livet enklare lägger vi till bana av Samba-körbara filer i vår fil .bashrc, Sedan stänger vi och loggar in igen.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: körs av bash (1) för icke-inloggningsskal. # Obs! PS1 och umask är redan inställda i / etc / profile. Du borde inte behöva detta om du inte vill ha olika standardvärden för root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Du kan avmarkera följande rader om du vill att ls ska färgläggas: # export LS_OPTIONS = '- color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Några fler alias för att undvika att göra misstag: # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
deklarera -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # avsluta utloggning Anslutning till master stängd. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-tool domain provision --use-rfc2307 --interactive
Rike [SWL.FAN]: SWL.FAN
 Domän [SWL]: SWL
 Serverroll (likström, medlem, fristående) [likström]: dc
 DNS-backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, INGEN) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS-vidarebefordrare IP-adress (skriv 'ingen' för att inaktivera vidarebefordran) [192.168.10.5]: 8.8.8.8
Administratörslösenord: Ditt lösenord 2017
Skriv lösenordet om: Ditt lösenord 2017
Slå upp IPv4-adresser Leta upp IPv6-adresser Ingen IPv6-adress kommer att tilldelas Ställa in dela.ldb Konfigurera hemligheter.ldb Konfigurera registret Konfigurera behörighetsdatabasen Konfigurera idmap db Konfigurera SAM db Konfigurera sam.ldb-partitioner och inställningar Inställning upp sam.ldb rootDSE Förladdning av Schema Samba 4 och AD Lägga till DomainDN: DC = swl, DC = fläkt Lägga till konfigurationsbehållare Konfigurera sam.ldb-schema Konfigurera sam.ldb-konfigurationsdata Konfigurera skärmspecifikationer Ändra skärmspecifikationer Lägga till behållare Ändra behållare för användare Lägga till behållare för datorer Ändra behållare för datorer Ställa in sam.ldb-data Konfigurera välkända säkerhetsprinciper Ställa in sam.ldb-användare och grupper Konfigurera självanslutning Lägga till DNS-konton Skapa CN = MicrosoftDNS, CN = System, DC = swl, DC = fan Skapa DomainDnsZones och ForestDnsZones-partitioner Populera DomainDnsZones och ForestDnsZones-partitioner Konfigurera sam.ldb rootDSE-markering som synkroniserad Fixing provision GUIDsEn Kerberos-konfiguration lämplig för Samba 4 har skapats på /usr/local/samba/private/krb5.conf Ställa in falska yp-serverinställningar När ovanstående filer har installerats är din Samba4-server redo att använda Serverroll: aktiv katalogdomän controller Värdnamn: master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Låt oss inte glömma att kopiera Kerberos-konfigurationsfilen som anges av utdata från Provisioning:

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

Att inte skriva kommandot samba-verktyg med ditt fullständiga namn skapar vi en symbolisk länk med det korta namnet verktyg:

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

Vi installerar NTP

En grundläggande del i en Active Directory är Network Time Service. Eftersom autentiseringen sker via Kerberos och dess biljetter är synkroniseringen av tiden med Samba 4 AD-DC avgörande.

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

root @ master: ~ # nano /etc/ntp.conf
driftfil /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistik loopstats peerstats klockstatus filegen loopstats fil loopstats typ dag aktivera filegen peerstats fil peerstats typ dag aktivera filegenstats fil klockstat klocktyp dag aktivera server 192.168.10.1 begränsa -4 standard kod notrap nomodifiera nopeer noquery begränsa -6 standard kod notrap nomodify nopeer noquery begränsa standard mssntp begränsa 127.0.0.1 begränsa :: 1 sändning 192.168.10.255

root @ master: ~ # service ntp restart
root @ master: ~ # tjänst ntp-status

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

Om när man undersöker syslog med ovanstående kommando eller med journalctl -f vi får meddelandet:

19 jun 12:13:21 mästare ntpd_intres [1498]: förälder dog innan vi slutade, avslutade

vi måste starta om tjänsten och försöka igen. Nu skapar vi mappen ntp_signd:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd kan inte nås: Fil eller katalog finns inte

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 /

# Som begärts på samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19 juni 12:21 / usr / local / samba / var / lib / ntp_signd

Vi konfigurerar Samba-början med systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Service] Typ = gaffel 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 [Install] WantedBy = multi-user.target

root @ master: ~ # systemctl aktiverar samba-ad-dc
root @ master: ~ # starta om

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

Samba 4 AD-DC-filplatser

ALLA -minus den nyligen skapade samba-ad-dc.service- filerna finns i:

root @ master: ~ # ls -l / usr / local / samba /
totalt 32 drwxr-sr-x 2 rotpersonal 4096 juni 19 11:55 bin
drwxr-sr-x 2 root-personal 4096 juni 19 11:50 etc
drwxr-sr-x 7 root-personal 4096 juni 19 11:30 innefattar
drwxr-sr-x 15 rotpersonal 4096 juni 19 11:33 lib
drwxr-sr-x 7 root-personal 4096 juni 19 12:40 privat
drwxr-sr-x 2 root-personal 4096 juni 19 11:33 sbin
drwxr-sr-x 5 root-personal 4096 juni 19 11:33 andel
drwxr-sr-x 8 root-personal 4096 juni 19 12:28 var

i bästa UNIX-stil. Det är alltid tillrådligt att bläddra bland de olika mapparna och undersöka innehållet.

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

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Globala parametrar [global] netbios namn = MASTER realm = SWL.FAN arbetsgrupp = SWL dns vidarebefordrare = 8.8.8.8 servertjänster = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , dns serverroll = aktiv katalogdomänkontrollant tillåter dns-uppdateringar = endast säker idmap_ldb: använd rfc2307 = ja idmap-konfiguration *: backend = tdb idmap-konfiguration *: intervall = 1000000-1999999 ldap-server kräver stark autentisering = inget printcap-namn = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = No

root @ master: ~ # testparm
Ladda smb-konfigurationsfiler från /usr/local/samba/etc/smb.conf Behandlingsavsnitt "[netlogon]" Bearbetningsavsnitt "[sysvol]" Loaded services-fil OK. Serverroll: ROLE_ACTIVE_DIRECTORY_DC Tryck på enter för att se en dumpning av dina tjänstdefinitioner # Globala parametrar [global] realm = SWL.FAN arbetsgrupp = SWL dns vidarebefordrare = 192.168.10.1 ldap-server kräver stark auth = Ingen passdb backend = samba_dsdb serverroll = aktiv katalog domänkontrollant rpc_server: tcpip = ingen rpc_daemon: spoolssd = inbäddad rpc_server: spoolss = inbäddad rpc_server: winreg = inbäddad rpc_server: ntsvcs = inbäddad rpc_server: händelselogg = inbäddad rpc_server: srvsvc = inbyggd rvc server externa rör = 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 read only = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = No

Minimala kontroller

root @ master: ~ # verktygsdomännivå visar
Domän- och skogsfunktionsnivå för domän 'DC = swl, DC = fläkt' Skogfunktionsnivå: (Windows) 2008 R2 Domänfunktionsnivå: (Windows) 2008 R2 Lägsta funktionsnivå för en DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # verktyg dbcheck
Kontrollera 262 objekt Kontrollerade 262 objekt (0 fel)

root @ master: ~ # kinit Administrator
Lösenord för Administratör@SWL.FAN: 
root @ master: ~ # klist -f
Biljettcache: FIL: / tmp / krb5cc_0
Primär standard: Administratör@SWL.FAN

Giltig start Gäller ut Service main 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    förnyas till 20-06-17 12:53:18, Flaggor: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Credentials cache-fil '/ tmp / krb5cc_0' hittades inte

root @ master: ~ # smbclient -L localhost -U%
Domän = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Delningstyp Typ Kommentar --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Service (Samba 4.5.1) Domän = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Serverkomment --------- ------- Arbetsgruppmästare ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Ange administratörens lösenord: Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 mån 19 juni 11:50:52 2017 .. D 0 må 19 juni 11:51:07 2017 19091584 kvarter storlek 1024. 16198044 kvarter tillgängliga

root @ master: ~ # verktyg dns serverinfo master -U-administratör

root @ master: ~ # värd -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan har SRV-post 0 100 389 master.swl.fan.

root @ master: ~ # värd -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan har SRV-post 0 100 88 master.swl.fan.

root @ master: ~ # host -t A master.swl.fan
master.swl.fan har adressen 192.168.10.5

root @ master: ~ # värd -t SOA swl.fan
swl.fan har SOA-rekordmästare.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # värd -t NS swl.fan
swl.fan namnserver master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan har ingen MX-post

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # verktygsanvändarlista
Administratör krbtgt Gäst

root @ master: ~ # verktygsgruppslista
# Produktionen är en massa grupper. ;-)

Vi hanterar den nyligen installerade Samba 4 AD-DC

Om vi ​​vill ändra utgången om några dagar efter administratörslösenordet; komplexiteten i lösenord; lösenordets minsta längd; lösenordets minsta och högsta varaktighet - på dagar - och ändra det administratörslösenord som deklarerades under Provisioningmåste vi utföra följande kommandon med värden anpassade till dina behov:

root @ master: ~ # verktyg
Användning: samba-tool Huvudsakligt verktyg för sambaadministration. Alternativ: -h, --help visa detta hjälpmeddelande och avsluta Versionalternativ: -V, --version Visa versionsnummer Tillgängliga underkommandon: dbcheck - Kontrollera lokal AD-databas för fel. delegation - Delegationshantering. dns - Domain Name Service (DNS) management. domän - Domänhantering. drs - DRS-kataloghantering (Directory Replication Services). dsacl - DS ACL-manipulation. fsmo - FSMO-rollhantering (Flexible Single Master Operations). GPO - Group Management Object (GPO) management. grupp - Gruppledning. ldapcmp - Jämför två ldap-databaser. ntacl - NT ACL-manipulation. processer - Lista processer (för att underlätta felsökning på system utan setproctitle). rodc - Read-Only Domain Controller (RODC) management. webbplatser - Webbplatshantering. spn - Service Principal Name (SPN) management. testparm - Syntax kontrollera konfigurationsfilen. time - Hämta tiden på en server. användare - Användarhantering. För mer hjälp med ett specifikt underkommando, skriv: samba-tool (-h | --hjälp)

root @ master: ~ # verktygsanvändarinställningsadministratör --noexpiry
root @ master: ~ # verktygsdomän lösenordsinställningar --min-pwd-length = 7
root @ master: ~ # verktygsdomän lösenordsinställningar --min-pwd-age = 0
root @ master: ~ # inställning av lösenord för verktygsdomäner - max-pwd-age = 60
root @ master: ~ # verktygsanvändar lösenord - filter = samaccountname = administratör - nytt lösenord = Passw0rD

Vi lägger till flera DNS-poster

root @ master: ~ # verktyg dns
Användning: samba-tool dns DNS-hantering (Domain Name Service). Alternativ: -h, --hjälp visa detta hjälpmeddelande och avsluta Tillgängliga underkommandon: lägg till - Lägg till en DNS-postradering - Radera en DNS-postfråga - Fråga ett namn. roothints - Fråga rot tips. serverinfo - Fråga efter serverinformation. uppdatera - Uppdatera en DNS-post zonskapa - Skapa en zon. zonedelete - Ta bort en zon. zoneinfo - Fråga för zoninformation. zonlista - Fråga för zoner. För mer hjälp med ett specifikt underkommando, skriv: samba-tool dns (-h | --hjälp)

Mejl server

root @ master: ~ # verktyg dns lägg till master swl.fan mail A 192.168.10.9 -U administratör
root @ master: ~ # verktyg dns lägg till master swl.fan swl.fan MX "mail.swl.fan 10" -U-administratör

Fast IP för andra servrar

root @ master: ~ # verktyg dns lägg till master swl.fan sysadmin A 192.168.10.1 -U administratör
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U administrator
root @ master: ~ # verktyg dns lägg till master swl.fan proxy A 192.168.10.11 -U administratör
root @ master: ~ # verktyg dns lägg till master swl.fan chat A 192.168.10.12 -U administratör

Omvänd zon

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U administratör
Lösenord för [SWL \ administratör]: Zon 10.168.192.in-addr.arpa har skapats

root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 5 PTR master.swl.fan. -Administratör
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -Administratör
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -Administratör
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -Administratör
root @ master: ~ # verktyg dns lägg till master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -Administratör
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -Administratör

Kontroller

root @ master: ~ # verktyg dns fråga master swl.fan mail ALL -U administratör
Lösenord för [SWL \ administratör]: Namn =, Records = 1, Children = 0 A: 192.168.10.9 (flaggor = f0, serial = 2, ttl = 900)

root @ master: ~ # värdmästare
master.swl.fan har adressen 192.168.10.5
root @ master: ~ # värd sysadmin
sysadmin.swl.fan har adressen 192.168.10.1
root @ master: ~ # värdpost
mail.swl.fan har adressen 192.168.10.9
root @ master: ~ # värdchatt
chat.swl.fan har adressen 192.168.10.12
root @ master: ~ # proxy-värd
proxy.swl.fan har adressen 192.168.10.11
root @ master: ~ # värdfilserver
fileserver.swl.fan har adressen 192.168.10.10
root @ master: ~ # värd 192.168.10.1
1.10.168.192.in-addr.arpa domännamnspekare sysadmin.swl.fan.
root @ master: ~ # värd 192.168.10.5
5.10.168.192.in-addr.arpa domännamnspekare master.swl.fan.
root @ master: ~ # värd 192.168.10.9
9.10.168.192.in-addr.arpa domännamnspekare mail.swl.fan.
root @ master: ~ # värd 192.168.10.10
10.10.168.192.in-addr.arpa domännamnspekare fileserver.swl.fan.
root @ master: ~ # värd 192.168.10.11
11.10.168.192.in-addr.arpa domännamnspekare proxy.swl.fan.
root @ master: ~ # värd 192.168.10.12
12.10.168.192.in-addr.arpa domännamnspekare chat.swl.fan.

För nyfikna

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

Vi lägger till användare

root @ master: ~ # verktygsanvändare
Användning: samba-verktygsanvändare Användarhantering. Alternativ: -h, --hjälp visa detta hjälpmeddelande och avsluta Tillgängliga underkommandon: lägg till - Skapa en ny användare. skapa - Skapa en ny användare. ta bort - Radera en användare. inaktivera - Inaktivera en användare. aktivera - Aktivera en användare. getpassword - Hämta lösenordsfälten för ett användar- / datorkonto. lista - Lista alla användare. lösenord - Ändra lösenord för ett användarkonto (det som anges i autentisering). setexpiry - Ange utgången för ett användarkonto. setpassword - Ställ in eller återställ lösenordet för ett användarkonto. syncpasswords - Synkronisera lösenordet för användarkonton. För mer hjälp med ett specifikt underkommando, skriv: samba-tool-användare (-h | --hjälp)

root @ master: ~ # verktygsanvändare skapar trancos Trancos01
Användaren 'trancos' har skapats
root @ master: ~ # verktygsanvändare skapar gandalf Gandalf01
Användaren 'gandalf' skapades framgångsrikt
root @ master: ~ # verktygsanvändare skapar legolas Legolas01
Användaren 'legolas' skapades framgångsrikt
root @ master: ~ # verktygsanvändarlista
Administratör gandalf legolas strides krbtgt Guest

Administration via grafiskt gränssnitt eller via webbklient

Besök wiki.samba.org för detaljerad information om hur du installerar Microsoft RSAT o Remote Server Administration Tools. Om du inte behöver de klassiska policyerna som erbjuds av Microsoft Active Directory kan du installera paketet ldap-kontoansvarig som erbjuder ett enkelt gränssnitt för administration via en webbläsare.

Programpaketet Microsoft Remote Server Administration Tools (RSAT) ingår i Windows Server-operativsystem.

Vi går med i domänen till en Windows 7-klient som heter "sju"

Eftersom vi inte har en DHCP-server i nätverket är det första att göra att konfigurera klientens nätverkskort med en fast IP, förklara att den primära DNS är IP: n för samba-ad-dc, och kontrollera att alternativet "Registrera denna anslutnings adress i DNS" är aktiverat. Det går inte att kontrollera att namnet «sju»Är ännu inte registrerad i Sambas interna DNS.

När vi ansluter datorn till domänen och startar om den, låt oss försöka logga in med användaren «steg«. Vi kommer att kontrollera att allt fungerar OK. Det rekommenderas också att kontrollera Windows Client-loggarna och kontrollera hur tiden synkroniseras korrekt.

Administratörer med viss Windows-erfarenhet kommer att upptäcka att alla kontroller de gör på klienten ger tillfredsställande resultat.

Sammanfattning

Jag hoppas att artikeln är användbar för gemenskapens läsare. DesdeLinux.

Adjö!


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Gonzalo Martinez sade

    Lång men detaljerad artikel, mycket bra steg för steg om hur man gör allt.

    Jag betonar NIS, sanningen är att även om jag vet om dess existens, visste jag aldrig riktigt hur det fungerar, för att vara ärlig gav det mig alltid intrycket att det var praktiskt taget dött bredvid LDAP och Samba 4.

    PS: Grattis till ditt nya personliga projekt! Synd att du inte ska fortsätta skriva här, men det finns åtminstone en plats att följa dig.

  2.   HO2Gi sade

    Stor handledning som alltid till mina favoriter, hälsningar Fico.
    Grattis till projektet.

  3.   IWO sade

    NIS-avsnittet är jättebra, jag sympatiserar med Gonzalo Martinez, jag visste det kort men hade ingen aning om hur det skulle implementeras och i vilka situationer det används.
    Tack en gång för en enorm "bagageutrymme" av teoretisk och praktisk artikel.
    Äntligen nya framgångar i ditt nya projekt «gigainside».

  4.   federico sade

    Tack så mycket alla för kommentarer !!!.
    hälsningar

  5.   mussla sade

    smb.conf som du visar har ingen länk till LDAP, är det så medvetet eller lämnade jag något?

  6.   phico sade

    mussol: Detta är en Samba 4 Active Directory Domain Controler som redan har sin inbyggda LDAP-server.

  7.   Vincent sade

    Kan du kommentera hur du går med i en mac (apple) till en samba 4 AD-DC?
    Tack.

  8.   jramirez sade

    Hur mår du;

    Tack för manualen, den är jättebra. Jag har en fråga om ett meddelande som visas för mig.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Det gick inte att lösa det angivna värdnamnet / IP: ad.rjsolucionessac.com. Observera att du inte kan använda '/ mask' OCH '1-4,7,100-' IP-intervall
    Det går inte att hitta ett giltigt mål. Se till att de angivna värdarna antingen är IP-adresser i standardnotation eller värdnamn som kan lösas med DNS
    root @ AD: ~ #