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 hejdå till DesdeLinux-gemenskapen. 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.
- Squid + PAM-autentisering på CentOS 7.
- Lokal användar- och grupphantering
- NSD auktoritär DNS-server + strandvägg
- Förkasta IM och lokala användare
- Postfix + Dovecot + Squirrelmail och lokala användare
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:
- Anpassad LDAP av både Microsoft och Samba.
- Microsoft Windows-domän o Windows-domän. Det är i grunden Microsofts nätverk.
- Microsoft Domain Controller o Domänkontrollant.
- Kerberos skräddarsydda av både Microsoft och Samba.
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 för din │ │ 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 kommer att användas när libnss-ldap försöker autifiera LD-kontot med en LD-AP. │ │ │ │ Lösenordet kommer att 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-kontot: │ │ │ │ ________________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────── ─────────── ───────────────────────────┘─────── ────────── ─┤ Inställningar 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 kommer att sparas i filen “/etc/pam_ldap.secret”. │ │-administratören kommer att vara den enda som kan läsa den här filen och kommer att tillåta │ │ libpam-ldap att automatiskt kontrollera hanteringen av anslutningar till │ │-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 läsarna av DesdeLinux Community.
Adjö!
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.
Stor handledning som alltid till mina favoriter, hälsningar Fico.
Grattis till projektet.
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».
Tack så mycket alla för kommentarer !!!.
hälsningar
smb.conf som du visar har ingen länk till LDAP, är det så medvetet eller lämnade jag något?
mussol: Detta är en Samba 4 Active Directory Domain Controler som redan har sin inbyggda LDAP-server.
Kan du kommentera hur du går med i en mac (apple) till en samba 4 AD-DC?
Tack.
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: ~ #