PAM, NIS, LDAP, Kerberos, DS a Samba 4 AD-DC - SMB Netzwierker

Allgemeng Index vun der Serie: Computernetzwierker fir PMEen: Aféierung

Hallo Frënn a Frënn!

Mat dësem Artikel soen ech Äddi der FromLinux Gemeinschaft. E besonnescht Äddi fir eng Spezial Gemeinschaft. Vun elo un sinn ech a mengem perséinleche Projet deen Dir wësst http://www.gigainside.com.

D'Haaptzil vum Poste ass eng «Grouss Foto»Iwwer d'Authentifikatiounsservicer mat Gratis Software déi mir zur Verfügung hunn. Op d'mannst ass dat eis Absicht. Dofir wäert et laang sinn, trotz der Tatsaach datt mir wëssen datt et géint d'allgemeng Regele fir Artikele schreift. Mir hoffen datt d'Systemadministrateuren et schätzen.

Mir wëllen drop hiweisen datt de gemeinsame Protokoll fir vill vun de modernen Authentifikatiounssystemer de LDAP, an datt et net idle ass et virsiichteg ze studéieren, aus dem Studiematerial dat mir op der offizieller Säit fannen http://www.openldap.org/.

Mir ginn net detailléiert Definitiounen - oder Linken - iwwer Aspekter, déi a fréiere Artikele behandelt goufen, oder iwwer déi, deenen hir Beschreiwung op Wikipedia oder aner Säiten oder Artikelen um Internet liicht zougänglech ass, fir d'Objektivitéit vum Message ze verléieren, dee mir wëllen ginn. Mir benotzen och e gültege Mix vun Nimm op Englesch a Spuenesch, well mir mengen datt déi meescht Systemer mat Nimm op Englesch gebuer sinn an et ass ganz gutt fir e Sysadmin se an hirer Originalsprooch z'assimiléieren.

  • posin: Pluggable Authentifikatiounsmodul.
  • Nis: Network_Information_Service.
  • LDAP: Liichtgewiicht Directory Access Protokoll.
  • Kerberos: Sécherheetsprotokoll fir Benotzer, Computeren a Servicer zentral an engem Netzwierk ze authentifizéieren, fir hir Umeldungsinformatioune géint existent Einträg an der Kerberos Datebank z'iwwerpréiwen.
  • DS: Directory Server oder Directory Service
  • AD-DC: Active Directory - Domain Controler

Index

posin

Mir widmen eng kleng Serie fir dës Aart vun lokaler Authentifikatioun, déi Dir an der deeglecher Praxis gesitt datt se vill benotzt gëtt wann mir zum Beispill eng Workstation mat engem Domain Controller oder Active Directory verbannen; fir Benotzer ze mapen déi an externen LDAP Datenbanken gespäichert sinn wéi wann se lokal Benotzer wieren; fir Benotzer ze mapen déi am Domain Controller vun engem Active Directory gespäichert sinn wéi wann se lokal Benotzer wieren, asw.

Nis

De Wikipedia:

  • Network Information System (bekannt ënner sengem Akronym NIS, wat op Spuenesch heescht Network Information System) ass den Numm vun engem Client-Server Verzeechneservicer Protokoll entwéckelt vu Sun Microsystems fir Konfiguratiounsdaten a verdeelt Systemer ze schécken wéi Nimm vu Benotzer an Hosten tëscht Computeren an engem Netzwierk.NIS baséiert op ONC RPC, a besteet aus engem Server, enger Clientsbibliothéik, a verschiddenen Administratiounsinstrumenter.

    NIS gouf ursprénglech déi Giel Säiten, oder YP genannt, déi nach ëmmer benotzt gëtt fir se ze bezeechnen. Leider ass dësen Numm e Markenzeeche vu British Telecom, wat d'Sonn verlaangt huet dësen Numm ze falen. Wéi och ëmmer, YP bleift e Präfix an den Nimm vun de meescht NIS-bezuelte Kommandoen, wéi ypserv an ypbind.

    DNS servéiert eng limitéiert Palette vun Informatioun, déi wichtegst ass d'Korrespondenz tëscht dem Node Numm an der IP Adress. Fir aner Aarte vun Informatioune gëtt et keen esou spezialiséierte Service. Op där anerer Säit, wann Dir nëmmen e klengen LAN ouni Internetverbindung verwaltet, schéngt et net derwäert DNS opzestellen. Dofir huet d'Sonn de Network Information System (NIS) entwéckelt. NIS bitt generesch Datebank Zougangsfäegkeeten déi benotzt kënne fir ze verdeelen, zum Beispill d'Informatioun enthale vu passwd a Gruppen Dateien an all Knäppchen an Ärem Netz. Dëst mécht d'Netzwierk wéi een eenzegen System, mat déiselwecht Konten op all Knäppchen. Ähnlech kann NIS benotzt ginn fir d'Nodenumminformatioun an / etc / hosts op all Maschinnen am Netz ze verdeelen.

    Haut ass NIS a praktesch all Unix Verdeelunge verfügbar, an et gi souguer gratis Implementatiounen. BSD Net-2 huet eng publizéiert déi ofgeleet gouf vun enger Ëffentlech Domain Referenz Ëmsetzung vun der Sonn gespent. De Bibliothéikcode fir de Clientdeel vun dëser Versioun existéiert am GNU / Linux libc fir eng laang Zäit, an d'Verwaltungsprogrammer goufen op GNU / Linux vum Swen Thümmler portéiert. Wéi och ëmmer, en NIS Server fehlt vun der Referenz Ëmsetzung.

    De Peter Eriksson huet eng nei Implementatioun mam Numm NYS entwéckelt. Et ënnerstëtzt béid Basis NIS an déi verstäerkte Versioun vu Sun NIS +. [1] NYS bitt net nëmmen eng Zuel vun NIS Tools an e Server, et füügt och e ganz neie Set vu Bibliothéiksfunktiounen bäi, déi Dir an Äre Libc kompiléiere musst, wann Dir se benotze wëllt. Dëst beinhalt en neit Konfiguratiounsschema fir d'Nodenumm Resolutioun déi den aktuellen Schema ersetzt deen vun der "host.conf" Datei benotzt gëtt.

    D'GNU libc, bekannt als libc6 an der GNU / Linux Gemeinschaft, enthält eng aktualiséiert Versioun vum traditionellen NIS Support entwéckelt vum Thorsten Kukuk. Et ënnerstëtzt all d'Bibliothéiksfunktiounen, déi vun NYS geliwwert ginn, a benotzt och dat fortgeschratt NYS Konfiguratiounsschema. D'Instrumenter an de Server sinn nach ëmmer gebraucht, awer d'Benotzung vun der GNU libc spuert d'Problemer fir ze flécken an d'Bibliothéik nei ze kompiléieren

    .

Computer an Domain Numm, Netzwierk Interface a Resolver

  • Mir starten vun enger propperer Installatioun - ouni grafesch Interface - vun enger Debian 8 "Jessie". D'Domain swl.fan heescht "Fans vu fräier Software." Wéi e besseren Numm wéi dëst?.
root @ master: ~ # Hostnumm
Meeschtesch
root @ master: ~ # Hostnumm -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scope host lo valid_lft forever prefer_lft forever inet6 :: 1/128 Ëmfang Host valid_lft fir ëmmer prefer_lft fir ëmmer 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link / ether 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 scope global eth0 valid_lft fir ëmmer prefer_lft fir ëmmer inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 Ëmfang Link valid_lft fir ëmmer prefer_lft fir ëmmer

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

Installatioun vu bind9, isc-dhcp-Server an ntp

bindt 9

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

root @ master: ~ # nano /etc/bind/named.conf
enthalen "/etc/bind/named.conf.options"; enthalen "/etc/bind/named.conf.local"; enthalen "/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
Optiounen {Verzeechnes "/ var / cache / bind"; // Wann et eng Firewall tëscht Iech an Nameserver ass, mat deenen Dir wëllt // fir mat ze schwätzen, musst Dir eventuell d'Firewall fixéieren, fir datt méi // Ports kënne schwätzen. Gesinn http://www.kb.cert.org/vuls/id/800113

        // Wann Ären ISP eng oder méi IP Adresse fir stabil // nameservers zur Verfügung gestallt huet, wëllt Dir se wahrscheinlech als Expediteure benotzen. // Unkommentéiert de folgenden Block, a füügt d'Adressen ersetzen ersetzen // den All-0 Plazhaler. // Expediteuren {// 0.0.0.0; //}; // =================================================== = ====================== $ // Wann BIND Fehlermeldung protokolléiert iwwer de Root Schlëssel ofgelaf ass, // musst Dir Är Schlësselen aktualiséieren. Gesinn https://www.isc.org/bind-keys
        // ================================================== = ======================= $ // Mir wëllen net DNSSEC
        dnssec-aktivéiert nee;
        // dnssec-Validatioun Auto; auth-nxdomain nee; # entspriechend dem RFC1035 lauschteren-op-v6 {iergendeen; }; // Fir Kontrollen aus localhost a sysadmin // duerch dig swl.fan axfr // Mir hu kee Sklave DNS ... bis elo
        Erlaabnes transferéieren (localhost; 192.168.10.1; };
}; root @ master: ~ # benannt-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Shared Address Space (RFC 6598)
zone "64.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "65.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "66.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "67.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "68.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "69.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "70.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "71.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "72.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "73.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "74.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "75.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "76.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "77.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "78.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "79.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "80.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "81.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "82.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "83.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "84.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "85.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "86.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "87.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "88.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "89.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "90.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "91.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "92.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "93.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "94.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "95.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "96.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "97.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "98.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "99.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "100.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "101.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "102.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "103.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "104.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "105.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "106.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "107.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "108.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "109.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "110.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "111.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "112.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "113.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "114.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "115.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "116.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "117.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "118.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "119.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "120.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "121.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "122.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "123.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "124.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "125.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "126.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "127.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };

// Link-local / APIPA (RFCs 3927, 5735 a 6303)
Zone "254.169.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IETF Protokoll Aufgaben (RFCs 5735 an 5736)
Zone "0.0.192.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// TEST-NET- [1-3] fir Dokumentatioun (RFCs 5735, 5737 a 6303)
Zone "2.0.192.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "100.51.198.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "113.0.203.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IPv6 Beispill Range fir Dokumentatioun (RFCs 3849 a 6303)
Zone "8.bd0.1.0.0.2.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// Domain Nimm fir Dokumentatioun an Testen (BCP 32)
Zone "Test" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "Beispill" {Typ Master; Datei "/etc/bind/db.empty"; }; Zone "ongëlteg" {Typ Master; Datei "/etc/bind/db.empty"; }; Zone "Beispill.com" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "Beispill.net" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "Beispill.org" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// Router Benchmark Testen (RFCs 2544 an 5735)
Zone "18.198.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "19.198.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IANA Reservéiert - Al Klass E Space (RFC 5735)
Zone "240.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "241.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "242.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "243.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "244.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "245.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "246.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "247.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "248.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "249.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "250.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "251.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "252.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "253.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "254.in-addr.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IPv6 Net zougewisen Adressen (RFC 4291)
Zone "1.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "3.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "4.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "5.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "6.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "7.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "8.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "9.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "a.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "b.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "c.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "d.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "e.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "0.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "1.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "2.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "3.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "4.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "5.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "6.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "7.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "8.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "9.f.ip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "afip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "bfip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "0.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "1.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "2.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "3.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "4.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "5.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "6.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "7.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 a 6303)
Zone "cfip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "dfip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IPv6 Link Lokal (RFCs 4291 a 6303)
Zone "8.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "9.efip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "aefip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "befip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IPv6 ofgefälschte Site-Lokal Adressen (RFCs 3879 a 6303)
Zone "cefip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "defip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "eefip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; }; Zone "fefip6.arpa" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

// IP6.INT ass ofgefall (RFC 4159)
Zone "ip6.int" {Typ Meeschter; Datei "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Maacht hei eng lokal Konfiguratioun // // Bedenkt d'1918 Zonen hei bäizefügen, wa se net an Ärer // Organisatioun benotzt ginn "/etc/bind/zones.rfc1918";
enthalen "/etc/bind/zones.rfcFreeBSD";

// Deklaratioun vum Numm, Typ, Standuert an Update-Erlaabnes // vun den DNS Record Zonen // Béid Zonen si MASTER Zone "swl.fan" {Type Master; Datei "/var/lib/bind/db.swl.fan"; }; Zone "10.168.192.in-addr.arpa" {Typ Meeschter; Datei "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # benannt-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; Serial 1D; 1H erfrëschen; 1W nei probéieren; 3H oflafen); Minimum oder; Negativ Cache Zäit fir ze liewen; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Fir Fans vu Gratis Software"; sysadmin IN A 192.168.10.1 Dateiserver IN A 192.168.10.4 Master IN A 192.168.10.5 Proxyweb IN A 192.168.10.6 Blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 Mail IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; Serial 1D; 1H erfrëschen; 1W nei probéieren; 3H oflafen); Minimum oder; Negativ Cache Zäit fir ze liewen; @ 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: ~ # benannt-checkzone swl.fan /var/lib/bind/db.swl.fan
Zone swl.fan/IN: gelueden Serien 1 OK
root @ master: ~ # benannt-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
Zone 10.168.192.in-addr.arpa/IN: gelueden Serien 1 OK

root @ master: ~ # benannt-checkconf -zp
root @ master: ~ # systemctl erstallt bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9 Schecken

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
Vun Nping 0.6.47 un ( http://nmap.org/nping ) um 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Min rtt: N / A | Avg rtt: N / A Raw Packete verschéckt: 84 (0B) | Rcvd: 0 (3B) | Verluer: 100.00 (1%) Nping gemaach: 3.01 IP Adress pinged an XNUMX Sekonnen 

isc-dhcp-Server

root @ master: ~ # aptitude installéiert isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Op wéi eng Interfaces soll den DHCP Server (dhcpd) DHCP Ufroen déngen? # Separéiert méi Interfaces mat Plazen, zB "eth0 eth1".
INTERFACES = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n BENOTZER dhcp-key
root @ master: ~ # cat Kdhcp-Schlëssel. +157 + 51777. privat 
Privat-Schlësselformat: v1.3 Algorithmus: 157 (HMAC_MD5) Schlëssel: Ba9GVadq4vOCixjPN94dCQ == Bits: AAA = Erstallt: 20170527133656 Verëffentlecht: 20170527133656 Aktivéiert: 20170527133656

root @ master: ~ # nano dhcp.key
Schlëssel dhcp-Schlëssel {
        Algorithmus hmac-md5;
        geheim "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
enthalen "/etc/bind/dhcp.key";

Zone "swl.fan" {Typ Meeschter; Datei "/var/lib/bind/db.swl.fan";
        allow-update {Schlëssel dhcp-Schlëssel; };
}; Zone "10.168.192.in-addr.arpa" {Typ Meeschter; Datei "/var/lib/bind/db.10.168.192.in-addr.arpa";
        allow-update {Schlëssel dhcp-Schlëssel; };
};

root @ master: ~ # benannt-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-Updates op; ddns-Domain Numm "swl.fan."; ddns-rev-Domainname "in-addr.arpa."; Client-Updates ignoréieren; Update-Optimiséierung falsch; # Kann op autoriséiert Debian erfuerderlech sinn; Optioun IP-Forwarding aus; Optioun Domain-Numm "swl.fan"; enthalen "/etc/dhcp/dhcp.key"; Zone swl.fan. {primär 127.0.0.1; Schlëssel dhcp-Schlëssel; } Zone 10.168.192.in-addr.arpa. {primär 127.0.0.1; Schlëssel dhcp-Schlëssel; } Shared-Network Redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; Optioun Subnet-Mask 255.255.255.0; Optioun Broadcast-Adress 192.168.10.255; Optioun Domain-Numm-Server 192.168.10.5; Optioun netbios-name-servers 192.168.10.5; Optioun ntp-Server 192.168.10.5; Optioun Zäit-Server 192.168.10.5; Gamme 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systemer Consortium DHCP Server 4.3.1 Copyright 2004-2014 Internet Systemer Consortium. All Rechter reservéiert. Fir Info, gitt weg https://www.isc.org/software/dhcp/
Configuratiounsdatei: /etc/dhcp/dhcpd.conf Datebank Datei: /var/lib/dhcp/dhcpd.leases PID Datei: /var/run/dhcpd.pid

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

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

ntp

root @ master: ~ # aptitude installéieren ntp ntpdate
root @ Master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift Statistiken Loopstats Peerstats Clockstats Datei loopstats Date loopstats Typ Dag aktivéieren Datei Peerstats Date Peerstats Typ Dag aktivéieren Dateie Clockstats Date Clockstats Typ Dag aktivéieren Server 192.168.10.1 limitéieren -4 Standard Kod Notrap Nomodifizéieren Nopeer Noquery Restriktioun -6 Standard Kod Notrap Nomodifizéiert Nopeer Noquery Limit 127.0.0.1 Limit :: 1 Sendung 192.168.10.255

root @ master: ~ # systemctl neu starten ntp.service 
root @ master: ~ # systemctl Status ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 Mee 10:04:01 ntpdate [18769]: Zäitserver upassen 192.168.10.1 Offset 0.369354 sec

Globale Schecken fir ntp, bind9 an isc-dhcp-Server

Vun engem Linux, BSD, Mac OS oder Windows Client kontrolléiert datt d'Zäit korrekt synchroniséiert ass. Datt et eng dynamesch IP Adress kritt an datt den Numm vun deem Host duerch direkt an ëmgedréint DNS Ufroen geléist gëtt. Ännert de Clientsnumm a mécht all d'Schecken nei. Gitt net viru bis Dir sécher sidd datt d'Servicer déi bis elo installéiert sinn korrekt funktionnéieren. Fir eppes hu mir all d'Artikelen iwwer DNS an DHCP geschriwwen Computernetzwierker fir PMEen.

NIS Server Installatioun

root @ master: ~ # Aptitude weisen nis
Konflikter mat: netstd (<= 1.26) Beschreiwung: Clienten an Dämonen fir de Network Information Service (NIS) Dëse Package bitt Tools fir en NIS Domain z'installéieren an z'ënnerhalen. NIS, ursprénglech bekannt als Yellow Pages (YP), gëtt meeschtens benotzt fir verschidde Maschinnen an engem Netz déi selwecht Kontinformatioun ze deelen, wéi d'Passwuertdatei.

root @ master: ~ # aptitude install nis
Package Configuration ation─────────────────────────┤ Nis Configuration ├──────────────── ── ────────┐ │ Wielt den NIS "Domain Numm" fir dëse System. Wann Dir dës │ │ Maschinn wëllt just e Client sinn, sollt Dir den Numm vun der │ │ NIS Domain aginn wou Dir wëllt bäitrieden. Alternativ, wann dës Maschinn en NIS Server soll sinn, kënnt Dir en neien NIS "Domain Numm" oder den Numm vun engem existente NIS │ │ Domain aginn. │ │ │ │ NIS Domain: │ │ │ │ swl.fan __________________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────  

Et wäert Är verleeën well d'Servicekonfiguratioun net sou existéiert. Waart w.e.g. bis de Prozess fäerdeg ass.

root @ master: ~ # nano / etc / default / nis
# Sinn mir en NIS Server a wa jo wéi eng Aart (Wäerter: falsch, Sklave, Meeschter)?
NISSERVER = Meeschter

root @ master: ~ # nano /etc/ypserv.securenets # securenets Dëse Fichier definéiert d'Zougangsrechter fir Ären NIS Server # fir NIS Clienten (a Sklave Server - ypxfrd benotzt och dës # Datei). Dës Datei enthält Netmask / Netzwierkpuer. # Eng Client IP Adress muss mat op d'mannst engem # vun deenen passen. # # Ee kann d'Wuert "Host" benotzen anstatt eng Netzmaschinn vun # 255.255.255.255. Nëmmen IP Adressen sinn an dëser # Datei erlaabt, net Hostnimm. # # Erlaabt ëmmer Zougang fir localhost 255.0.0.0 127.0.0.0 # Dës Zeil gëtt Zougang zu jiddereen. AWEG ASTELLEN! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Solle mir d'Passwd Datei mat der Schatten Datei fusionéieren? # MERGE_PASSWD = richteg | falsch
MERGE_PASSWD = richteg

# Sollte mir d'Gruppedatei mat der gshadow Datei fusionéieren? # MERGE_GROUP = richteg | falsch
MERGE_GROUP = richteg

Mir bauen d'NIS Datebank

root @ master: ~ # / usr / lib / yp / ypinit -m
Zu dësem Zäitpunkt musse mir eng Lëscht mat den Hosten konstruéieren déi NIS Server lafen. master.swl.fan ass an der Lëscht vun NIS Serverhosts. Fuert weider d'Nimm fir déi aner Hosten bäizefügen, ee pro Zeil. Wann Dir mat der Lëscht fäerdeg sidd, typ a . nächsten Host fir bäizefügen: master.swl.fan nächsten Host fir bäizefügen: Déi aktuell Lëscht vun NIS Server gesäit esou aus: master.swl.fan Ass dat richteg? [y / n: y] Mir brauchen e puer Minutten fir d'Datebanken ze bauen ... maacht [1]: Verloosse Verzeechnes '/var/yp/swl.fan' master.swl.fan gouf als NIS Master Server ageriicht . Elo kënnt Dir ypinit -s master.swl.fan op all Sklaveserver lafen.

root @ master: ~ # systemctl neistarten
root @ master: ~ # systemctl Status nis

Mir addéieren lokal Benotzer

root @ master: ~ # adduser bilbo
De Benotzer "bilbo" bäisetzen ... Déi nei Grupp "bilbo" bäifügen (1001) ... Den neie Benotzer "bilbo" (1001) mam Grupp "bilbo" bäisetzen ... Erstellt den Heemverzeichnis "/ home / bilbo" ... D'Kopie vun de Dateien vun `/ etc / skel '... Gitt dat neit UNIX Passwuert an: Neitst dat neit UNIX Passwuert an: passwd: Passwuert richteg aktualiséiert Ännerung vun de Benotzerinformatioune fir bilbo Gitt de neie Wäert an, oder dréckt op ENTER fir de Standard Vollnumm []: Bilbo Bagins Raumnummer []: Aarbechtstelefon []: Heemtelefon []: Aner []: Ass d'Informatioun richteg? [Y / n]

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

a sou weider.

root @ master: ~ # Fanger Legolas
Login: legolas Numm: Legolas Archer Directoire: / doheem / legolas Shell: / bin / bash Ni ageloggt. Keng Mail. Kee Plang.

Mir aktualiséieren d'NIS Datebank

root @ master: / var / yp # maachen
maach [1]: Gitt directory '/var/yp/swl.fan' Passwd.byname aktualiséiert ... Passwd.byuid aktualiséiert ... Group.byname aktualiséiert ... Group.bygid aktualiséiert ... Netid.byname aktualiséiert. .. Update shadow.byname ... Ignoréiert -> fusionéiert mat passwd make [1]: Verloosse Verzeechnes '/var/yp/swl.fan'

Mir addéieren NIS Optiounen op den isc-dhcp-Server

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
Ddns-Update-Style Interim; ddns-Updates op; ddns-Domain Numm "swl.fan."; ddns-rev-Domainname "in-addr.arpa."; Client-Updates ignoréieren; Update-Optimiséierung falsch; autoritär; Optioun IP-Forwarding aus; Optioun Domain-Numm "swl.fan"; enthalen "/etc/dhcp/dhcp.key"; Zone swl.fan. {primär 127.0.0.1; Schlëssel dhcp-Schlëssel; } Zone 10.168.192.in-addr.arpa. {primär 127.0.0.1; Schlëssel dhcp-Schlëssel; } Shared-Network Redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; Optioun Subnet-Mask 255.255.255.0; Optioun Broadcast-Adress 192.168.10.255; Optioun Domain-Numm-Server 192.168.10.5; Optioun netbios-name-servers 192.168.10.5; Optioun ntp-Server 192.168.10.5; Optioun Zäit-Server 192.168.10.5;
                Optioun nis-Domain "swl.fan";
                Optioun nis-Server 192.168.10.5;
                Gamme 192.168.10.30 192.168.10.250; }}

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

NIS Client Installatioun

  • Mir starten vun enger propperer Installatioun - ouni grafesch Interface - vun enger Debian 8 "Jessie".
root @ mail: ~ # Hostnumm -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast Zoustand UP Grupp Standard qlen 1000 Link / Ether 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 Ëmfang global eth0

root @ mail: ~ # Aptitude installéieren nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Konfiguratiounsdatei fir de ypbind Prozess. Dir kënnt # NIS Server hei manuell definéieren wann se net vun # Broadcasting am lokalen Netz fonnt kënne ginn (wat de Standard ass). # # Kuckt d'manuell Säit vun ypbind fir d'Syntax vun dëser Datei. # # WICHTEG: Fir den "ypserver" benotzt IP Adressen, oder gitt sécher datt # den Host an / etc / hosts ass. Dës Datei gëtt nëmmen eemol eemol interpretéiert, a wann DNS net erreechbar ass, kann de ypserver net # geléist ginn an ypbind wäert ni un de Server bannen. # ypserver ypserver.network.com ypserver master.swl.fan Domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Beispill Konfiguratioun vun GNU Name Service Switch Funktionalitéit. # Wann Dir d 'Glibc-doc-Referenz' an 'Info' Packagen installéiert hutt, probéiert: # `info libc" Name Service Switch "'fir Informatiounen iwwer dës Datei. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files dns nis networks: 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) fir Detailer.
Sessioun optional pam_mkhomedir.so skel = / etc / skel umask = 077
# hei sinn d'Per-Package Moduler (de "Primär" Block)

root @ mail: ~ # systemctl Status nis
root @ mail: ~ # systemctl neistarten

Mir maachen d'Sessioun zou a fänken se erëm un awer mat engem Benotzer registréiert an der NIS Datebank op master.swl.fan.

root @ mail: ~ # Sortie
ofmelden Connexioun mat Mail zou.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail Passwuert: Erstellt Verzeechnes '/ home / legolas'. D'Programmer abegraff mam Debian GNU / Linux System si gratis Software; déi exakt Verdeelungsbedingunge fir all Programm ginn an den eenzelne Dateien an / usr / share / doc / * / copyright beschriwwen. Debian GNU / Linux kënnt mat ABSOLUT KENG GARANTI, souwäit wéi dat applicabel Gesetz erlaabt ass.
legolas @ mail: ~ $ pwd
/ doheem / legolas
legolas @ mail: ~ $ 

Mir änneren de Passwuert vum Legolas Benotzer a kontrolléieren

legolas @ mail: ~ $ yppasswd 
Ännere NIS Konto Informatioun fir Legolas op master.swl.fan. Gitt w.e.g. alt Passwuert an: legolas Ännert NIS Passwuert fir Legolas op master.swl.fan. Gitt w.e.g. neit Passwuert an: Archer D'Passwuert muss souwuel kleng wéi kleng Buschtawen hunn, oder net Bréiwer. Gitt w.e.g. neit Passwuert an: Arquero2017 Neit Passwuert nei typt: Arquero2017 D'NIS Passwuert gouf op master.swl.fan geännert.

legolas @ mail: ~ $ Sortie
ofmelden Connexioun mat Mail zou.

buzz @ sysadmin: ~ $ ssh legolas @ mail
Legolas @ Mail säi Passwuert: Arquero2017

D'Programmer abegraff mam Debian GNU / Linux System si gratis Software; déi exakt Verdeelungsbedingunge fir all Programm ginn an den eenzelne Dateien an / usr / share / doc / * / copyright beschriwwen. Debian GNU / Linux kënnt mat ABSOLUT KENG GARANTI, souwäit wéi dat applicabel Gesetz erlaabt ass. Leschte Login: Samschdeg 27. Mee 12:51:50 2017 vun sysadmin.swl.fan
legolas @ mail: ~ $

Den NIS Service implementéiert um Server an um Clientniveau funktionnéiert korrekt.

LDAP

Vu Wikipedia:

  • LDAP ass d'Akronym fir Lightweight Directory Access Protocol (am Spuenesche Lightweight / Simplified Directory Access Protocol) dat bezitt sech op en Uwendungsniveau Protokoll deen Zougang zu engem bestallten a verdeeltem Verzeechnesdéngscht erlaabt fir no verschiddenen Informatiounen an engem Ëmfeldnetz ze sichen. LDAP gëtt och als Datebank ugesinn (och wann säi Späichersystem anescht ka sinn) déi kann nogefrot ginn.E Verzeechnes ass e Set vun Objeten mat Attributer op eng logesch an hierarchesch Manéier organiséiert. Dat heefegst Beispill ass den Telefonsbuch, deen aus enger Serie vun Nimm (Persounen oder Organisatiounen) besteet, déi alphabetesch arrangéiert sinn, woubäi all Numm eng Adress an eng Telefonsnummer huet. Fir et besser ze verstoen ass et e Buch oder Dossier, an deem d'Nimm, d'Telefonsnummeren an d'Adresse vun de Leit geschriwwe sinn, an et alphabetesch arrangéiert ass.

    En LDAP Verzeechnesbaum reflektéiert heiansdo verschidde politesch, geografesch oder organisatoresch Grenzen, ofhängeg vum gewielte Modell. Aktuell LDAP Deployements tendéieren Domain Name System (DNS) Nimm ze benotze fir déi méi héich Niveauen vun der Hierarchie ze strukturéieren. Wann Dir am Verzeechnes scrollt, kënnen Einträg Leit representéieren, Organisatiouns Eenheeten, Dréckeren, Dokumenter, Gruppen vu Leit, oder alles wat e gegebenen Element am Bam duerstellt (oder méi Einträg).

    Normalerweis späichert d'Authentifikatiounsinformatioun (Benotzernumm a Passwuert) a gëtt benotzt fir ze authentifizéieren, och wann et méiglech ass aner Informatiounen ze späicheren (Benotzerkontaktdaten, Lokaliséierung vu verschiddene Netzwierkeressourcen, Permissiounen, Zertifikater, asw.). Zesummefaassend ass LDAP en eenheetlechen Zougangsprotokoll zu engem Set vun Informatiounen am Netz.

    Déi aktuell Versioun ass LDAPv3, an et ass definéiert an RFCs RFC 2251 an RFC 2256 (LDAP Basisdokument), RFC 2829 (Authentifikatiounsmethod fir LDAP), RFC 2830 (Extensioun fir TLS), an RFC 3377 (technesch Spezifikatioun)

    .

Fir laang, den LDAP Protokoll - a seng Datenbanken kompatibel oder net mat OpenLDAP - ass déi meescht benotzt an de meeschten Authentifikatiounssystemer haut. Als Beispill vun der viregter Erklärung gi mir e puer Nimm vu Systemer -Free oder Private- déi LDAP Datenbanken als Backend benotze fir all hir Objeten ze späicheren:

  • OpenLDAP
  • Apache Verzeechnes Server
  • Red Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystem Open DS
  • Red Hat Identitéit Manager
  • FreeIPA
  • Samba NT4 Classic Domain Controller.
    Mir wëlle klären datt dëst System vum Team Samba mat Samba 3.xxx + OpenLDAP als entwéckelt gouf Backend. Microsoft huet ni sou eppes implementéiert. Vun NT 4 Domain Controller op hir Aktiv Verzeechnes gesprongen
  • Samba 4 Active Directory - Domain Controler
  • ClearOS
  • Zentyal
  • UCS Uninvention Corporate Server
  • Microsoft Active Directory

All Ëmsetzung huet seng eege Charakteristiken, an déi meescht Standard a kompatibel ass den OpenLDAP.

Active Directory, sief et d'Original Microsoft oder Samba 4, stellen eng Unioun aus e puer Haaptkomponenten duer:

Mir däerfen net verwiesselen a Verzeechnes Service o Verzeechnes Service mat engem Active Directory o Active Directory. Dee fréiere kann oder kann net Kerberos Authentifikatioun hosten, awer si bidden net de Microsoft Netzwierkservice, deen e Windows Domain ubitt, an och kee Windows Domain Controller.

E Directory Service oder Directory Service ka benotzt ginn fir Benotzer an engem gemëschte Netzwierk mat UNIX / Linux a Windows Clienten ze authentifizéieren. Fir dësen, muss e Programm op all Client installéiert ginn, deen als Intermediaire tëscht dem Directory Service an dem Windows Client selwer handelt, sou wéi Free Software. Säit.

Directory Service mat OpenLDAP

  • Mir starten vun enger propperer Installatioun - ouni grafesch Interface - vun enger Debian 8 "Jessie", mam selwechte "Master" Maschinnennumm fir d'NIS Installatioun benotzt, souwéi d'Konfiguratioun vu senger Netzwierk Interface an der /etc/resolv.conf Datei. Zu dësem neie Server installéiere mir den ntp, bind9 an den isc-dhcp-server, ouni d'global Kontrollen vun der korrekter Operatioun vun den dräi fréiere Servicer ze vergiessen.
root @ master: ~ # aptitude installéiert slapd ldap-utils

Package Konfiguratioun

┌┌──────────────────┤┤┤┤┤┤┤ Slapd Konfiguratioun ├──────────────────────┐ │ Gitt d'Passwuert fir den Administratorentrëtt vun Ärem LDAP │ │ Verzeechnes an. │ │ │ │ Administrator Passwuert: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ────────────┘┘┘┘┘

Mir kontrolléieren déi éischt Konfiguratioun

root @ master: ~ # slapcat
dn: dc = swl, dc = Fan
objectClass: top objectClass: dcObject objectClass: organisation o: swl.fan dc: swl strukturellObjectClass: organisation entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = fan entry createTimestamp20170531205219N: 20170531205219.833955 : 000000ZN000 Entrée Z # 000000 # 20170531205219 # XNUMX Modifikatoren Numm: cn = admin, dc = swl, dc = Fan modify Zäitstempel: XNUMXZ

dn: cn = admin, dc = swl, dc = Fan
objectClass: simpleSecurityObject objectClass: organizationalRole cn: Administrator Beschreiwung: LDAP Administrateur userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe-Element = cXNUMXe XNUMX Z # XNUMX # XNUMX # XNUMX Modifikatoren Numm: cn = admin, dc = swl, dc = Fan änneren Zäitstempel: XNUMXZ

Mir änneren d'Datei /etc/ldap/ldap.conf

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

Organisatoresch Eenheeten an allgemeng Grupp «Benotzer»

Mir fügen déi minimal noutwendeg Organisatiouns Eenheeten bäi, souwéi d'Posix Grupp "Benotzer" fir déi mir all Benotzer Member maachen, nom Beispill vu ville Systemer déi de Grupp hunn "Benotzer«. Mir denominéieren et mam Numm vu "Benotzer" fir net a méiglech Konflikter mat der Grupp ze goen "Benotzersäit"vum System.

root @ master: ~ # nano base.ldif
dn: ou = Leit, dc = swl, dc = Fan Objet Klass: organisatoresch Eenheet ou: Leit dn: ou = Gruppen, dc = swl, dc = Fan Objekt Klass: organisatoresch Eenheet ou: Gruppen dn: cn = Benotzer, ou = Gruppen, dc = swl, dc = FanobjektKlass: posixGrupp cn: Benotzer gidNummer: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Gitt LDAP Passwuert an: füügt nei Entrée bäi "ou = Leit, dc = swl, dc = Fan" füügt nei Entrée bäi "ou = Gruppen, dc = swl, dc = Fan"

Mir kontrolléieren déi bäigefüügt Entréen

root @ master: ~ # ldapsearch -x ou = Leit
# Leit, swl.fan dn: ou = Leit, dc = swl, dc = Fan Objet Klass: organisatoresch Eenheet ou: Leit

root @ master: ~ # ldapsearch -x ou = Gruppen
# Gruppen, swl.fan dn: ou = Gruppen, dc = swl, dc = Fan Objet Klass: organisatoresch Eenheet ou: Gruppen

root @ master: ~ # ldapsearch -x cn = Benotzer
# Benotzer, Gruppen, swl.fan dn: cn = Benotzer, ou = Gruppen, dc = swl, dc = Fan Objet Klass: posix Grupp cn: Benotzer gid Nummer: 10000

Mir addéiere verschidde Benotzer

D'Passwuert dat mir an der LDAP deklaréiere mussen duerch de Kommando kritt ginn slappasswd, wat e verschlësselte SSHA Passwuert zréckbréngt.

Passwuert fir de Benotzer Schrëtt:

root @ master: ~ # slappasswd 
Neit Passwuert: Neit Passwuert aginn: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Passwuert fir Benotzer Legolas

root @ master: ~ # slappasswd 
Neit Passwuert: Neit Passwuert aginn: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Passwuert fir de Benotzer gandalf

root @ master: ~ # slappasswd 
Neit Passwuert: Neit Passwuert aginn: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = Schrëtt, ou = Leit, dc = swl, dc = FanobjektClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides givenName: Strides sn: El Rey userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: trancos@swl.fan
gecos: Strider El Rey Login Shell: / 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 Benotzer Passwuert: {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: De Wizard Benotzer Passwuert: {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
Gitt LDAP Passwuert an: füügt nei Entrée derbäi "uid = Schrëtt, ou = Leit, dc = swl, dc = Fan" füügt nei Entrée derbäi "uid = legolas, ou = Leit, dc = swl, dc = Fan" füügt nei Entrée bäi "uid = gandalf, ou = Leit, dc = swl, dc = Fan "

Mir kontrolléieren déi bäigefüügt Entréen

root @ master: ~ # ldapsearch -x cn = Schrëtt
root @ master: ~ # ldapsearch -x uid = Schrëtt

Mir managen d'Slpad-Datebank mat Konsol-Utilities

Mir wielt de Package ldapscripts fir sou eng Aufgab. D'Installatiouns- a Konfiguratiounsprozedur ass wéi follegt:

root @ master: ~ # aptitude installéieren 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 = Gruppen' USUFFIX = 'ou = Leit' # MSUFFIX = 'ou = Computeren' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP Client commandéiert 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 "

Bedenkt datt d'Skripte d'Päckbefehle benotzen ldap-utils. Lafen dpkg -L ldap-utils | grep / bin fir ze wëssen wat se sinn.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapadduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: Virnumm: sn: Unzeigenumm: uidNumber: gidNummer: 10000 doheemDirectory: aloggenShell: Mail: @ swl.fan geckos: Beschreiwung: Benotzerkont
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## mir läschen de Kommentar UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Füügt de Benotzer "bilbo" bäi a mécht e Member vun der Grupp "Benotzer"

root @ master: ~ # ldapadduser bilbo Benotzer
[dn: uid = bilbo, ou = Leit, dc = swl, dc = Fan] Gitt de Wäert fir "givenName" an: Bilbo [dn: uid = bilbo, ou = Leit, dc = swl, dc = Fan] Gitt Wäert fir " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Gitt de Wäert fir" displayName ": Bilbo Bagins Erfolleg de Benotzer bilbo op LDAP bäigefüügt Erfolleg setze Passwuert fir de Benotzer bilbo

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

Fir de Passwuerthash vum Bilbo Benotzer ze gesinn, ass et néideg d'Ufro mat Authentifikatioun auszeféieren:

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

Fir de Bilbo Benotzer ze läschen, féiere mir aus:

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

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

Mir verwalten d'slapd Datebank iwwer eng Webinterface

Mir hunn e funktionelle Directory Service, a mir wëllen et méi einfach managen. Et gi vill Programmer fir dës Aufgab entwéckelt, wéi de phpldapadmin, ldap-Account-Manager, etc., déi direkt vun de Repositories verfügbar sinn. Mir kënnen och e Directory Service managen duerch de Apache Verzeechnes Studio, déi mir vum Internet erofluede mussen.

Fir méi Informatiounen, besicht w.e.g. https://blog.desdelinux.net/ldap-introduccion/, an déi folgend 6 Artikelen.

LDAP Client

Bühn:

Sot mir hunn d'Équipe mail.swl.fan als e Mail Server implementéiert wéi mir am Artikel gesinn hunn Postfix + Dovecot + Squirrelmail a lokal Benotzer, déi zwar op CentOS entwéckelt ass, awer gutt kann als Guide fir Debian a vill aner Linux Distros déngen. Mir wëllen datt, niewent de lokale Benotzer déi mir schonn deklaréiert hunn, d'Benotzer an der OpenLDAP Datebank stockéiert existéieren master.swl.fan. Fir dat uewen ze erreechen musse mir «Kaart aus»Fir LDAP Benotzer als lokal Benotzer um Server mail.swl.fan. Dës Léisung ass och valabel fir all Service baséiert op PAM Authentifikatioun. Déi allgemeng Prozedur fir Debian, ass folgend:

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

  ┌─────────────────────┤ Konfiguratioun vun libnss-ldap ├─────────────────────┐┐ │ Gitt den URI ("Uniform Resource Identifier") vum LDAP Server an. Dës String ass ähnlech wéi │ │ «ldap: //: / ». Dir kënnt och │ │ benotzen «ldaps: // » oder "ldapi: //". D'Portnummer ass optional. │ │ │ │ Et ass recommandéiert eng IP Adress ze benotzen fir Feeler ze vermeiden wann Domain Numm Servicer │ │ net verfügbar sinn. │ │ │ │ LDAP Server URI: │ │ │ │ ldap: //master.swl.fan__________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────────── ┤ Konfiguratioun vun libnss-ldap ├──────────────────────│┐ │ Gitt den ënnerscheeden Numm (DN) vun der LDAP Sichbasis an. Vill Site benotzt Domain Numm Komponente fir dësen Zweck. Zum Beispill benotzt d'Domain "Beispill.net" │ │ "dc = Beispill, dc = net" als ënnerscheet Numm vun der Sichbasis. │ │ │ │ Den ënnerscheeden Numm (DN) vun der Sichbasis: │ │ │ │ dc = swl, dc = Fan ____________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libnss-ldap ├──────────────────────┐ │ Gitt d'Versioun vum LDAP Protokoll an, deen ldapns benotze soll. Et ass recommandéiert déi héchst verfügbar Versiounsnummer ze benotzen. │ │ │ │ LDAP Versioun ze benotzen: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libnss-ldap ├ ─ ─ ─ ─ ─ ─ ─ ─ which which which │ which which which which which which which │ Wielt wéi e Kont fir nss Ufroen mat │ │ Root Privilegien benotzt gëtt. Opgepasst: Fir datt dës Optioun funktionnéiert, brauch de Kont Permissiounen fir │ │ Zougang zu den LDAP Attributer ze kréien, déi mam Benotzer verbonne sinn │ │ "Shadow" Einträg souwéi d'Benotzer a Grupp Passwierder. │ │ │ │ LDAP Kont fir Root: │ │ │ │ cn = admin, dc = swl, dc = Fan ___________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libnss-ldap ├ │ │ │ │ D'Passwuert gëtt an enger separater Datei gespäichert │ │ ("/etc/libnss-ldap.secret") datt nëmmen root Zougang huet. │ │ │ │ Wann Dir en eidelt Passwuert agitt, gëtt dat aalt Passwuert weiderbenotzt. │ │ │ │ Passwuert fir de root LDAP Kont: │ │ │ │ ******** ________________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ──────────────── ─┤ Konfiguratioun vun libnss-ldap ├──────────────────────┐ │ ss │ nsswitch.conf gëtt net automatesch geréiert │ │ │ │ Dir musst Är Datei änneren "/etc/nsswitch.conf "fir eng LDAP Datenquell ze benotzen wann Dir de libnss-ldap Package funktionéiere wëllt. │ │ Dir kënnt d'Beispiller Datei │ │ an "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" als Beispill vun der nsswitch Konfiguratioun benotzen oder │ │ Dir kënnt et iwwer Är aktuell Konfiguratioun kopéieren. │ │ │ Bedenkt datt ier Dir dëse Package ewechhuelt et ka praktesch sinn │ │ déi "ldap" Einträg aus der nsswitch.conf Datei ze läschen sou datt d'Basis Servicer │ │ weider schaffen. │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libpam-ldap ├ ─ ─ ─ ─ ─ ─ option option option option option option Dës Optioun erlaabt Passwuertinstrumenter mat PAM fir lokal Passwierder z'änneren. │ password for │ D'Passwuert fir den LDAP Administratorkonto gëtt an enger separater │ │ Datei gespäichert, déi nëmme vum Administrator gelies ka ginn. │ │ │ │ Dës Optioun sollt ausgeschalt ginn, wann Dir "/ etc" iwwer NFS montéiert. │ │ │ │ Wëllt Dir dem LDAP Administrator Kont erlaben sech als │ │ lokalen Administrator ze verhalen? │ │ │ │                                            │ │ │ └─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libpam-ldap ├ ─ ─ ─ ─ ─ ─ whether whether whether whether whether whether whether whether whether whether whether LD LD whether whether whether whether whether whether LD whether whether whether whether │ whether whether whether LD │ │ │ │ Dës Astellung ass selten néideg. │ │ │ │ Ass e Benotzer erfuerderlech fir Zougang zu der LDAP Datebank ze kréien? │ │ │ │                                               │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libpam-ldap ├───────────────────────┐ │ Gitt den Numm vum LDAP Administratorkonto an. │ │ │ │ Dëse Kont gëtt automatesch fir d'Datebankmanagement benotzt │ │ fir datt Dir déi entspriechend administrativ Privilegie hutt. │ │ │ │ LDAP Administratorkonto: │ │ │ │ cn = admin, dc = swl, dc = Fan ___________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ────────────────────── ──┤ Konfiguratioun vun libpam-ldap ├───────────────────────┐ │ Gitt d'Passwuert fir den Administratorkonto an. │ │ │ │ D'Passwuert gëtt an der Datei "/etc/pam_ldap.secret" gespäichert. Den │ │ Administrator ass deen eenzegen deen dës Datei liese kann an erlaabt │ │ libpam-ldap automatesch d'Gestioun vu Verbindungen an der │ │ Datebank ze kontrolléieren. │ │ │ │ Wann Dir dëst Feld eidel léisst, gëtt dat viregt gespäichert Passwuert │ again erëm benotzt. │ │ │ │ LDAP Administrator Passwuert: │ │ │ │ ******** _________________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Beispill Konfiguratioun vun GNU Name Service Switch Funktionalitéit. # Wann Dir d 'Glibc-doc-Referenz' an 'Info' Packagen installéiert hutt, probéiert: # `info libc" Name Service Switch "'fir Informatiounen iwwer dës Datei. passwd: kompatibel ldap
Grupp: kompatibel ldap
Schatten: kompatibel ldap
gshadow: Dateien Hosten: Dateien DNS Netzwierker: Dateiprotokoller: DB Dateien Servicer: DB Dateien ethers: DB Dateien RPC: DB Dateien Netgroup: nis

Loosst eis d'Datei änneren /etc/pam.d/common-password, mir ginn op d'Linn 26 an eliminéieren de Wäert «use_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - Passwuert-verbonne Moduler déi fir all Servicer gemeinsam sinn # # Dës Datei ass aus anere Service-spezifesche PAM Configuratiounsdateien abegraff, # a soll eng Lëscht vu Moduler enthalen déi d'Servicer definéieren ze sinn # benotzt fir Äert Passwuert z'änneren. De Standard ass pam_unix. # Erklärung vu pam_unix Optiounen: # # D'Optioun "sha512" erlaabt gesalzt SHA512 Passwierder. Ouni dës Optioun ass # de Standard Unix Krypta. Virdrun verëffentlecht d'Optioun "md5". # # D'Optioun "obskur" ersetzt déi al "OBSCURE_CHECKS_ENAB" Optioun an # login.defs. # # Kuckt d'Pam_unix Manpage fir aner Optiounen. # Vum Pam 1.0.1-6 gëtt dës Datei vum Pam-Auth-Update standardméisseg verwalt. # Fir dëst ze profitéieren, ass et recommandéiert datt Dir # lokal Moduler konfiguréiert entweder virum oder nom Standardblock, an # pam-auth-update benotze fir d'Auswiel vun anere Modulen ze managen. Kuckt # pam-auth-update (8) fir Detailer. # hei sinn d'Per-Package Moduler (de "Primär" Block) Passwuert [Erfolleg = 2 Standard = ignoréieren] pam_unix.so obskur sha512
Passwuert [Erfolleg = 1 user_unknown = ignoréiert Standard = stierwen] pam_ldap.so try_first_pass
# hei ass de Fallback wa kee Modul Passwuert erfollegräich erfuerdert pam_deny.so # prime de Stack mat engem positiven Retourwäert wann et nach kee gëtt; # dëst vermeit eis e Feeler zréckzebréngen just well näischt en Erfollegscode setzt # well déi uewe genannte Moduler sprange just ëm Passwuert erfuerderlech pam_permit.so # an hei si méi per Package Moduler (de "Zousätzlechen" Block) # Enn vum pam- auth-update config

Am Fall wou mir brauchen de Lokale Login vun de Benotzer déi am LDAP gespäichert sinn, a mir wëllen datt hir Classeure automatesch erstallt ginn doheem, mir mussen d'Datei änneren /etc/pam.d/common-session a füügt déi folgend Zeil um Enn vun der Datei bäi:

Sessioun optional pam_mkhomedir.so skel = / etc / skel umask = 077

Am OpenLDAP Directory Service Beispill virdru entwéckelt, war deen eenzege lokale Benotzer deen erstallt gouf de Benotzer buzz, wärend mir an LDAP d'Benotzer kreéieren Schrëtt, legolas, Gandalfan bilbo. Wann déi bis elo gemaach Konfiguratiounen richteg sinn, da solle mir fäeg sinn d'lokal Benotzer ze Lëscht an déi als lokal mappéiert awer am Remote LDAP Server gespäichert:

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

No den Ännerungen an der Authentifikatioun vum System ass et valabel de Server neu ze starten, soss sti mir virun engem kritesche Service:

root @ mail: ~ # Neistart

Méi spéit fänke mir eng lokal Sessioun um Server un mail.swl.fan mat Umeldungsinformatioune vun engem Benotzer, deen an der LDAP Datebank gespäichert ass master.swl.fan. Mir kënnen och probéieren iwwer SSH unzemellen.

 

buzz @ sysadmin: ~ $ ssh gandalf @ mail
Passwuert gandalf @ mail: Erstellt Verzeechnes '/ home / gandalf'. D'Programmer abegraff mam Debian GNU / Linux System si gratis Software; déi exakt Verdeelungsbedingunge fir all Programm ginn an den eenzelne Dateien an / usr / share / doc / * / copyright beschriwwen. Debian GNU / Linux kënnt mat ABSOLUT KENG GARANTI, souwäit wéi dat applicabel Gesetz erlaabt ass.
gandalf @ mail: ~ $ su
Passwuert:

root @ mail: / doheem / gandalf # getent Grupp
buzz: x: 1001: Benotzer: *: 10000:

root @ mail: / home / gandalf # exit
Sortie

gandalf @ mail: ~ $ ls -l / doheem /
am Ganzen 8 drwxr-xr-x 2 Buzz Buzz     4096 Jun 17 12:25 buzz drwx ------ 2 Gandalf Benotzer 4096 Jun 17 13:05 gandalf

De Directory Service implementéiert um Server- a Clientniveau, funktionnéiert korrekt.

Kerberos

Vu Wikipedia:

  • Kerberos ass e Computernetzwierk Authentifikatiounsprotokoll erstallt vum MIT dat erlaabt zwee Computeren an engem onséchere Netzwierk hir Identitéit géigesäiteg sécher ze beweisen. Seng Designer hu sech fir d'éischt op e Client-Server Modell fokusséiert, an et gëtt géigesäiteg Authentifikatioun: béid Client a Server verifizéieren d'Identitéit vuneneen. Authentifikatiounsmessage si geschützt fir ze vermeiden Oflauschterskandal y Replay Attacken.

    Kerberos baséiert op symmetrescher Schlëssel-Kryptographie a erfuerdert eng vertraut Drëtt Partei. Zousätzlech ginn et Extensiounen am Protokoll fir asymmetresch Schlësselkryptographie kënnen ze benotzen.

    Kerberos baséiert op der Needham-Schroeder Protokoll. Et benotzt eng vertrauenswürdeg Drëtt Partei, genannt "Key Distribution Center" (KDC), deen aus zwee getrennte logeschen Deeler besteet: en "Authentifikatiounsserver" (AS oder Authentifikatiounsserver) an en "Ticketausgabeserver" (TGS oder Ticket Granting Server ). Kerberos schafft op der Basis vun "Ticketen", déi d'Identitéit vun de Benotzer beweisen.

    Kerberos hält eng Datebank vu geheime Schlësselen; All Entitéit am Netz - sief et Client oder Server - deelt e Geheimschlëssel deen nëmme fir sech selwer a Kerberos bekannt ass. Wësse vun dësem Schlëssel déngt der Identitéit vun der Entitéit ze beweisen. Fir eng Kommunikatioun tëscht zwou Entitéiten generéiert Kerberos e Sessiounsschlëssel, dee se benotze fir hir Problemer ze sécheren.

Nodeeler vu Kerberos

De Ecured:

Och wa Kerberos hëlt eng gemeinsam Sécherheetsgefor ewech, et ka schwéier sinn aus verschiddene Grënn ëmzesetzen:

  • Migratioun vu Benotzerpasswierder aus enger Standard-Passwuert-Datebank UNIX, wéi / etc / passwd oder / etc / shadow, zu enger Kerberos Passwuert Datebank, kann langweileg sinn an et gëtt kee schnelle Mechanismus fir dës Aufgab z'erfëllen.
  • Kerberos geet dovun aus datt all Benotzer vertraut ass, awer eng net vertraut Maschinn an engem net vertraute Netz benotzt. Säin Haaptziel ass et ze vermeiden datt onverschlësselt Passwierder iwwer d'Netz geschéckt ginn. Wéi och ëmmer, wann en anere Benotzer, ausser de passende Benotzer, Zougang zu der Ticketmaschinn (KDC) fir Authentifikatioun huet, wier Kerberos a Gefor.
  • Fir eng Uwendung fir Kerberos ze benotzen, muss de Code geännert ginn fir déi entspriechend Uriff an d'Kerberos Bibliothéiken ze maachen. Uwendungen déi sou modifizéiert ginn als kerberiséiert ugesinn. Fir verschidden Uwendungen kann dëst en iwwerdriwwe Programméierungseffort sinn, wéinst der Gréisst vun der Uwendung oder hirem Design. Fir aner inkompatibel Uwendungen mussen Ännerunge gemaach ginn wéi de Netzwierkserver a seng Clienten kommunizéieren; erëm, dëst kann nawell e bësse programméiere huelen. Am Allgemengen sinn zougemaach Quellapplikatiounen déi net Kerberos Support hunn meeschtens déi problematesch.
  • Schlussendlech, wann Dir décidéiert Kerberos op Ärem Netzwierk ze benotzen, musst Dir feststellen datt et eng ganz oder näischt Wiel ass. Wann Dir décidéiert Kerberos an Ärem Netzwierk ze benotzen, musst Dir Iech drun erënneren datt wa Passwierder un e Service weiderginn, deen net Kerberos benotzt fir ze authentifizéieren, da riskéiert Dir datt de Paket ofgefaang gëtt. Dofir kritt Äert Netz kee Virdeel wann Dir Kerberos benotzt. Fir Äert Netzwierk mat Kerberos ofzesécheren, sollt Dir nëmmen déi kerberiséiert Versioune vun all Client / Server Uwendungen benotzen déi onverschlësselt Passwierder schécken oder keng vun dësen Uwendungen am Netz benotzen..

Manuell Ëmsetzung an Konfiguratioun vun OpenLDAP als Kerberos Back-End ass keng einfach Aufgab. Wéi och ëmmer, spéider wäerte mir gesinn datt de Samba 4 Active Directory - Domain Controller op eng transparent Manéier integréiert fir de Sysadmin, en DNS Server, de Microsoft Network a säin Domain Controller, LDAP Server als Back-End vu bal all sengen Objeten, an de Kerberos-baséiert Authentifikatiounsservice als fundamental Komponente vun engem Microsoft-Style Active Directory.

Bis haut hu mir de Besoin net e "Kerberized Network" ëmzesetzen. Dofir hu mir net geschriwwen wéi d'Kerberos implementéiert ginn.

Samba 4 Active Directory - Domain Controller

Wichteg:

Et gëtt keng besser Dokumentatioun wéi de Site wiki.samba.org. De selbstrespektéiere Sysadmin sollt dëse Site besichen - op Englesch - a bliedert déi grouss Zuel vu Säiten déi ganz dem Samba 4 gewidmet sinn, geschriwwe vum Team Samba selwer. Ech gleewen net datt et Dokumentatioun um Internet verfügbar ass fir se z'ersetzen. Iwwregens, beobacht d'Zuel vun de Visitte reflektéiert am ënneschten Deel vun all Säit. E Beispill dofir ass datt Är Haaptsäit oder «Haaptsäit» besicht gouf 276,183 Mol bis haut den 20. Juni 2017 um 10:10 Auer Osteurns Standardzäit. Zousätzlech gëtt d'Dokumentatioun ganz aktuell gehal, well dës Säit gouf de 6. Juni geännert.

Vu Wikipedia:

Samba ass eng gratis Implementatioun vum Microsoft Windows File Sharing Protokoll (fréier SMB genannt, viru kuerzem ëmbenannt CIFS) fir UNIX-ähnlech Systemer. Op dës Manéier ass et méiglech datt Computere mat GNU / Linux, Mac OS X oder Unix allgemeng wéi Server ausgesinn oder als Clienten an Windows Netzwierker handelen. Samba erlaabt d'Benotzer och als Primary Domain Controller (PDC) ze validéieren, als Domain Member an och als Active Directory Domain fir Windows-baséiert Netzwierker; ofgesinn dovun datt Dir Dréckeschlaange servéiere kënnt, gedeelt Verzeechnes a authentifizéieren mat sengem eegene Benotzerarchiv.

Ënnert den Unix-ähnleche Systemer, op deenen Samba ka lafen, sinn d'GNU / Linux Verdeelungen, Solaris an déi verschidde BSD Varianten ënner datt mir Apple Mac OS X Server fannen.

Samba 4 AD-DC mat sengem Internen DNS

  • Mir starten vun enger propperer Installatioun - ouni grafesch Interface - vun enger Debian 8 "Jessie".

Éischt Kontrollen

root @ master: ~ # Hostnumm
Meeschtesch
root @ master: ~ # Hostnumm --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: wat: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scope host lo valid_lft forever prefer_lft forever inet6 :: 1/128 Ëmfang Host valid_lft fir ëmmer prefer_lft fir ëmmer 2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000 link / ether 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 Ëmfang global eth0
       valid_lft fir ëmmer bevorzugt_lft fir ëmmer inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 scope link valid_lft fir ëmmer prefer_lft fir ëmmer
root @ master: ~ # cat /etc/resolv.conf
sichen swl.fan nameserver 127.0.0.1
  • Mat deem mir d'Branche deklaréieren Haaptstrooss nëmmen, et ass méi wéi genuch fir eis Zwecker.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ jessie Haaptstrooss
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / Aktualiséierungen Haaptstrooss

Postfix vun Exim an Utilities

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

  ┌┌── ────────────────┤┤┤f┤┤┤ ────┐ │ Wielt déi Zort Mail Serverkonfiguratioun déi am Beschten entsprécht Äre │ │ Besoinen. │ │ │ │ Keng Konfiguratioun: │ │ Hält déi aktuell Konfiguratioun intakt. │ │ Internetsäit: │ │ Mail gëtt geschéckt a kritt direkt mat SMTP. │ │ Internet mat "smarthost": │ │ Mail gëtt direkt mat SMTP kritt oder duerch en │ │ Tool wéi "fetchmail". Ausgaang Mail gëtt mat │ │ engem "Smarthost" geschéckt. │ │ Nëmme lokal Mail: │ │ Déi eenzeg Mail déi geliwwert gëtt ass fir lokal Benotzer. Nee │ │ et gëtt en Netzwierk. │ │ │ │ Generesch Zort Mailkonfiguratioun: │ │ │ │ Keng Konfiguratioun │ │ Internetsäit │ │ Internet mat "smarthost" │ │ Satellitte System system │                         Nëmme lokal Mail                                │ │ │ │ │ │                                     │ │ │ └─ ─ ─ ─ ─ ─ ─ ──────────────── ─────┤ Postfix Konfiguratioun ├──────────────────────────┐ │ De "Mail System Numm" ass den Numm vun der Domain déi │ │ gëtt benotzt fir _ALL_ E-Mail Adressen "ze qualifizéieren" ouni en Domain Numm. Dëst beinhalt Mail un a vu "root": Maacht w.e.g. keng máquina │ Är Maschinn schéckt E-Maile vun root@example.org zu │ │ manner wéi root@example.org gefrot. │ │ │ │ Aner Programmer benotze dësen Numm. Et muss en eenzegaartegen │ │ qualifizéierten Domain Numm (FQDN) sinn. Dofir if Wann eng E-Mail Adress op der lokaler Maschinn │ │ ass eppes @ Beispill.org, de richtege Wäert fir dës Optioun ass example.org. │ │ │ │ Mail System Numm: │ │ │ │ master.swl.fan ___________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ──────────  

Mir botzen

root @ master: ~ # aptitude purge ~ c
root @ master: ~ # aptitude installéieren -f
root @ Master: ~ # Aptitude propper
root @ master: ~ # aptitude autoclean

Mir installéieren Ufuerderunge fir de Samba 4 an ze kompiléieren aner noutwendeg Packagen

root @ master: ~ # aptitude installéiert acl attr autoconf bison \
bauen essentiel Debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-Benotzer libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modules pkg-config \
Python-all-dev Python-Dev Python-dnspython Python-Krypto \
xsltproc zlib1g-dev libgpgme11-dev Python-gpgme Python-m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌ ─ ─ ─ ─ ─ ─ Ker Ker Ker Ker Ker users users users users users users users users users users users users users users users users users Haapt oder Benotzer ouni ze klären zu wéi enger administrativer Kerberos Domain den Haapt │ │ gehéiert, de System hëlt de Standard Räich │ │.  De Standard Räich kann och als │ │ Räich vun engem Kerberos Service benotzt ginn deen op der lokaler Maschinn leeft.  │ │ Normalerweis ass de Standard Räich de grousse Numm vum lokalen DNS │ │ Domain.  │ │ │ │ Kerberos Versioun 5 Standard Räich: │ │ │ │ SWL.FAN __________________________________________________________________________ │ │ │ │ │ │ │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─────────────────────────────────┘┘┘ ┌┌─────────────────┤┤ ├───────────────┐ │ Gitt d'Nimm vun de Kerberos Serveren an de SWL.FAN Räich vun │ │ Kerberos, getrennt vu Plazen.  │ │ │ │ Kerberos Server fir Äert Räich: │ │ │ │ master.swl.fan ___________________________________________________________________ │ │ │ │ │ │ │ └─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ├───────────────┐┐ │ Gitt den administrativen Servernumm (Passwuert änneren) │ │ fir de Kerberos SWL.FAN Räich.   

Dee genannte Prozess huet e bëssen Zäit gedauert well mir nach keen DNS-Service installéiert hunn. Wéi och ëmmer, Dir hutt d'Domain korrekt vun den Dateieinstellungen gewielt / etc / hun. Denkt drun datt an der Datei /etc/resolv.conf mir hunn als Domain Numm Server dem IP 127.0.0.1 deklaréiert.

Mir konfiguréieren elo / etc / ldap / ldap / conf Datei

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

Fir Ufroen mam Kommando ldapsearch vum Root Benotzer gemaach gi sinn vum Typ ldapsearch -x -W cn = xxxx, mir mussen d'Datei erstellen / root / .ldapsearc mat folgendem Inhalt:

root @ master: ~ # nano .ldaprc
BINDDN CN = Administrator, CN = Benotzer, DC = swl, DC = Fan

De Dateisystem muss ACL - Access Control List ënnerstëtzen

root @ master: ~ # nano / etc / fstab
# / etc / fstab: statesch Dateisystem Informatioun. # # Benotzt 'blkid' fir den universell eenzegaartegen Identifizéierer fir e # Apparat ze drécken; dëst ka mat UUID = benotzt ginn als e méi robuste Wee fir Geräter ze benennen # déi funktionnéiert och wann Disken derbäigesat an ewechgeholl ginn. Kuckt fstab (5). # # # / war op / dev / sda1 wärend der Installatioun UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, Barrière = 1, Noatime, Feeler = Remount-ro 0 1
# Swap war op / dev / sda5 wärend der Installatioun UUID = cb73228a-615d-4804-9877-3ec225e3ae32 kee swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

root @ master: ~ # montéieren -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
# Datei: testing_acl.txt # Besëtzer: root # Grupp: Root Benotzer :: rw- Grupp :: r-- Grupp: adm: rwx Mask :: rwx aner :: r--

Mir kréien d'Samba 4 Quell, kompiléieren se an installéieren

Et ass héich recommandéiert d'Versiounsquelldatei erofzelueden Stänneg vum Site https://www.samba.org/. An eisem Beispill luede mir d'Versioun erof samba-4.5.1.tar.gz Richtung den Dossier / opt.

root @ master: ~ # cd / opt
root @ master: / opt # wget https://download.samba.org/pub/samba/stable/samba-4.5.1.tar.gz
root @ master: / opt # tar xvfz samba-4.5.1.tar.gz
root @ master: / opt # cd samba-4.5.1 /

Configuratioun Optiounen

Wa mir d'Konfiguratiounsoptioune personaliséiere wëllen, féiere mir aus:

root @ Master: /opt/samba-4.5.1# ./configuréieren --hëllef

a wielt ganz genau déi mir brauchen. Et ass ubruecht ze kontrolléieren ob den erofgeluede Package kann op der Linux Verdeelung installéiert ginn déi mir benotzen, wat an eisem Fall Debian 8.6 Jessie ass:

root @ Master: /opt/samba-4.5.1# ./configure ewechzehuelen

Mir konfiguréieren, kompiléieren an installéieren samba-4.5.1

  • Vun de virdru installéiert Ufuerderungen an den 8604 Dateien (déi de kompakten samba-4.5.1.tar.gz ausmaachen) déi ongeféier 101.7 Megabyte weien - inklusiv d'Quell3 a Source4 Ordner déi ongeféier 61.1 Megabyte weien - kréie mir en Ersatz fir e Microsoft-Style Active Directory, vu Qualitéit a Stabilitéit méi wéi akzeptabel fir all Produktiounsëmfeld. Mir mussen d'Aarbecht vum Team Samba bei der Liwwerung vun der Free Software Samba 4 markéieren.

D'Commanden hei ënnen sinn déi klassesch fir Packagen aus hire Quellen ze kompiléieren an z'installéieren. Mir musse geduldig sinn wärend de ganze Prozess dauert. Et ass deen eenzege Wee fir valabel a korrekt Resultater ze kréien.

root @ Master: /opt/samba-4.5.1# ./configuréieren --with-systemd - Desable Becher
root @ Master: /opt/samba-4.5.1# maachen
root @ Master: /opt/samba-4.5.1# maacht

Wärend dem Kommando Prozess maachen, kënne mir gesinn datt d'Samba 3 a Samba 4 Quellen zesummegestallt sinn. Dofir seet Team Samba datt seng Versioun 4 den natierlechen Update vun der Versioun 3 ass, souwuel fir Domain Controllers baséiert op Samba 3 + OpenLDAP, an Dateiserver, oder méi al Versioune vu Samba 4.

Samba zur Verfügung stellen

Mir benotzen als DNS den SAMBA_INTERNAL. en https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End mir fanne méi Informatiounen. Wa se eis no dem Passwuert vum Administrator Benotzer froen, musse mir eng vun enger Mindestlängt vun 8 Zeechen tippen an och mat Buschtawen - Grouss- a Klengschreiwung - an Zuelen.

Ier Dir mat der Bestellung weidergitt a fir d'Liewe méi einfach ze maachen, addéiere mir de Wee vun de Samba Executables an eisem Dossier .bashrc, Da maache mir zou a loggen eis erem un.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: ausgefouert vu bash (1) fir net-Login Shells. # Notiz: PS1 an Umask si schonn an / etc / profile gesat. Dir sollt dëst net # brauchen ausser Dir wëllt verschidden Standardastellunge fir root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Dir kënnt déi folgend Zeilen kommentéieren wann Dir 'ls' faarweg wëllt: # export LS_OPTIONS = '- color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # E puer méi Aliasen fir Feeler ze maachen: # alias rm = 'rm -i' # alias cp = 'cp -i' # alias mv = 'mv -i'
deklaréieren -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # exit logout Verbindung mam Master zou. xeon @ sysadmin: ~ $ ssh root @ Master

root @ master: ~ # samba-tool domain provision --use-rfc2307 --interaktiv
Räich [SWL.FAN]: SWL.FAN
 Domain [SWL]: SWL
 Server Roll (dc, Member, Standalone) [dc]: dc
 DNS Backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, KEE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS Forwarder IP Adress (schreift 'none' fir d'Forwarding auszeschalten) [192.168.10.5]: 8.8.8.8
Administrator Passwuert: TuPassword 2017
Passwuert widderhuelen: TuPassword 2017
IPv4 Adressen sichen IPv6 Adressen sichen No IPv6 Adress gëtt zougewisen Share upstellen.ldb Opstelle vu Geheimnisser.ldb Astellen vum Registry Opstelle vun der Privileg Datebank Opstellen Idmap db Opriichten SAM db Opstelle vun sam.ldb Partitionen an Astellungen Astellen up sam.ldb rootDSE Pre-loading vum Samba 4 an AD Schema Dobäi DomainDN: DC = swl, DC = Fan Konfiguratiounscontainer bäifügen Astellen vun sam.ldb Schema Opstelle vun sam.ldb Konfiguratiounsdaten Opstellen Display Spezifizéierer Modifikatioun Display Spezifizéierer Benotzer Benotzer Container bäifügen Benotzer Container änneren Computeren Container derbäi Computere Container änneren Sam.ldb Daten opsetzen Bekannte Sécherheetsprinzipien Opstelle Sam.ldb Benotzer a Gruppen Ariichten Selwer uschléissen DNS Konte bäifüügen Erstelle CN = MicrosoftDNS, CN = System, DC = swl, DC = Fan DomainDnsZones a ForestDnsZones Partitionen erstellen Populatioun DomainDnsZones a ForestDnsZones Partitionen Opstelle vun sam.ldb rootDSE Marquage als synchroniséiert Fixéiere vun Dispositioun GUIDEng Kerberos Konfiguratioun passend fir Samba 4 gouf generéiert op /usr/local/samba/private/krb5.conf Ariichten falsch yp Server Astellunge Wann déi uewe genannte Dateien installéiert sinn, ass Äre Samba4 Server prett fir Server Roll ze benotzen: aktiv Verzeechnes Domain Controller Hostnumm: Master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Loosst eis net vergiessen d'Kerberos Konfiguratiounsdatei ze kopéieren wéi uginn vun der Ausgab vum Provisioning:

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

Fir de Kommando net ze tippen samba-Tool mat Ärem kompletten Numm kreéiere mir e symbolesche Link mam kuerzen Numm blockéieren:

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

Mir installéieren den NTP

E fundamentaalt Stéck an engem Active Directory ass de Network Time Service.Wéi d'Authentifikatioun iwwer Kerberos a seng Tickete gemaach gëtt, ass d'Synchroniséierung vun der Zäit mam Samba 4 AD-DC vital.

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

root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistik loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegenstats file clockstats Clock type day enable server 192.168.10.1 -4 Standard kod notrap nomodifizéieren nopeer noquery limitéieren -6 Standard kod notrap nomodify nopeer noquery default limitéieren mssntp limitéieren 127.0.0.1 limitéieren: 1 Sendung 192.168.10.255

root @ master: ~ # Service ntp neu starten
root @ master: ~ # Service ntp Status

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

Wann wann Dir den syslog mam Kommando hei uewen oder benotzt journalctl -f mir kréien de Message:

19. Jun 12:13:21 Meeschter ntpd_intres [1498]: Elterendeel gestuerwen ier mer fäerdeg waren, erausgaang

mir mussen de Service neu starten an nach eng Kéier probéieren. Elo erstellen mir den Dossier ntp_signd:

root @ Master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: / usr / local / samba / var / lib / ntp_signd kann net zougänglech sinn: Datei oder Verzeechnes existéiert net

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 /

# Wéi gefrot op samba.wiki.org
root @ Master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 Root ntp 4096 Jun 19 12:21 / usr / local / samba / var / lib / ntp_signd

Mir konfiguréieren de Samba Start mat Systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Service] Typ = Forking PIDFile = / usr / local / samba / var / run / samba.pid LimitNOFILE = 16384 # EnvironmentFile = - / etc / conf.d / samba ExecStart = / usr / local / samba / sbin / samba ExecReload = / usr / bin / kill -HUP $ MAINPID [Installéieren] WantedBy = Multi-user.target

root @ master: ~ # systemctl aktivéiert samba-ad-dc
root @ Master: ~ # Neistart

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

Samba 4 AD-DC Dateilocatiounen

ALLEGUER -minus déi nei erstallt Samba-ad-dc.service- d'Dateie sinn an:

root @ master: ~ # ls -l / usr / local / samba /
am Ganzen 32 drwxr-sr-x 2 Root Personal 4096 Jun 19 11:55 Auer
drwxr-sr-x 2 Stammpersonal 4096 Jun 19 11:50 etc.
drwxr-sr-x 7 Stammpersonal 4096 Jun 19 11:30 gehéiert
drwxr-sr-x 15 Root Personal 4096 Jun 19 11:33 lib
drwxr-sr-x 7 Stammpersonal 4096 Jun 19 12:40 private
drwxr-sr-x 2 Stammpersonal 4096 Jun 19 11:33 sbin
drwxr-sr-x 5 Stammpersonal 4096 Jun 19 11:33 deelen
drwxr-sr-x 8 Stammpersonal 4096 Jun 19 12:28 et ginn

am beschten UNIX-Stil. Et ass ëmmer ubruecht duerch déi verschidde Classeuren ze duerchsichen an hiren Inhalt z'ënnersichen.

Datei /usr/local/samba/etc/smb.conf

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Globale Parameteren [global] netbios Numm = MASTER Räich = SWL.FAN Aarbechtsgrupp = SWL dns Forwarder = 8.8.8.8 Serverservicer = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , dns Server Roll = aktive Verzeechnes Domain Controller erlaabt dns Updates = nëmmen sécher idmap_ldb: benotzt rfc2307 = jo idmap config *: backend = tdb idmap config *: range = 1000000-1999999 ldap Server erfuerderen e staarken auth = kee printcap name = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = Nee [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Nee

root @ master: ~ # testparm
Lueden smb Configuratiounsdateien vun /usr/local/samba/etc/smb.conf Veraarbechtung Sektioun "[netlogon]" Veraarbechtung Sektioun "[sysvol]" Luede Servicer Datei OK. Serverroll: ROLE_ACTIVE_DIRECTORY_DC Dréckt op Enter fir en Dump vun Äre Servicedefinitiounen ze gesinn # Globale Parameteren [global] realm = SWL.FAN Workgroup = SWL dns Forwarder = 192.168.10.1 ldap Server erfuerderen staark auth = Kee passdb Backend = samba_dsdb Server Roll = aktive Verzeechnes Domain Controller rpc_server: tcpip = kee rpc_daemon: spoolssd = agebett rpc_server: spoolss = agebett rpc_server: winreg = agebett rpc_server: ntsvcs = embedded rpc_server: eventlog = embedded rpc_server: srvsvc = embedded rvc server: rvc server extern: extern Päif benotze = richteg idmap config *: range = 1000000-1999999 idmap_ldb: benotzen rfc2307 = jo idmap config *: backend = tdb map archiv = Keng Kaart readonly = keng store dos attributen = Jo vfs objekter = dfs_samba4 acl_xattr [netlogon] Wee = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read only = Nee [sysvol] path = / usr / local / samba / var / locks / sysvol read only = Nee

Minimal Kontrollen

root @ master: ~ # Tool Domain Niveau weisen
Domain- a Bëschfunktiounsniveau fir Domain 'DC = swl, DC = Fan' Forstfunktionsniveau: (Windows) 2008 R2 Domainfunktionsniveau: (Windows) 2008 R2 Niddregsten Funktiounsniveau vun engem DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # Tool dbcheck
262 Objete préift 262 Objekter gepréift (0 Feeler)

root @ master: ~ # kinit Administrator
Passwuert fir Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Ticket Cache: FILE: / tmp / krb5cc_0
Primär Standard: Administrator@SWL.FAN

Valabel ufänkt ofleeft Service main 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    erneieren bis den 20 06:17:12 PM, Fändelen: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Credentials Cache Datei '/ tmp / krb5cc_0' net fonnt

root @ master: ~ # smbclient -L localhost -U%
Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Sharename Type Kommentar --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Service (Samba 4.5.1) Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Server Kommentar --------- ------- Workgroup Master ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Gitt Administrator Passwuert: Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Mon Jun 19 11:50:52 2017 .. D 0 Mon Jun 19 11:51:07 2017 19091584 Blocks vun der Gréisst 1024. 16198044 Blocks verfügbar

root @ master: ~ # Tool dns Serverinfo Master-U Administrator

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

root @ Master: ~ # Host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan huet SRV Rekord 0 100 88 master.swl.fan.

root @ master: ~ # host -t E master.swl.fan
master.swl.fan huet Adress 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan huet SOA Record Master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ Master: ~ # Host -t NS swl.fan
swl.fan Numm Server master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan huet kee MX-Rekord

root @ master: ~ # samba_dnsupdate - Verbose

root @ master: ~ # Tool Benotzer Lëscht
Administrator krbtgt Gaascht

root @ master: ~ # Tool Grupp Lëscht
# D'Ausgab ass eng Rëtsch vu Gruppen. ;-)

Mir managen déi nei installéiert Samba 4 AD-DC

Wa mir d'Verfallszäit an Deeg vum Administratorpasswuert ännere wëllen; d'Komplexitéit vu Passwierder; déi Mindestlängt vum Passwuert; déi minimal a maximal Dauer - an Deeg - vum Passwuert; an ännert d 'Administrator Passwuert dat deklaréiert gouf während der Provisioning, musse mir déi folgend Befehle mat der ausféieren Wäerter no Äre Besoinen ugepasst:

root @ master: ~ # Tool
Benotzung: Samba-Tool Main Samba Administratiounsinstrument. Optiounen: -h, --hëlleft dës Hëllefsmessage ze weisen an ofzeschléissen Versiounsoptiounen: -V, - Versioun Versioun Versioun uweisen Verfügbar Ënnerkommanden: dbcheck - Kontrolléiert lokal AD Datebank fir Feeler. Delegatioun - Delegatiounsleedung. dns - Domain Numm Service (DNS) Gestioun. Domain - Domain Gestioun. drs - Directory Replication Services (DRS) Gestioun. dsacl - DS ACLs Manipulatioun. fsmo - Flexibel Single Master Operations (FSMO) Rollemanagement. gpo - Group Management Object (GPO) Gestioun. Grupp - Gruppemanagement. ldapcmp - Vergläicht zwee ldap Datenbanken. ntacl - NT ACLs Manipulatioun. Prozesser - Lëscht Prozesser (fir Debuggen op Systemer ouni Setproctitle ze hëllefen). rodc - Read-Only Domain Controller (RODC) Gestioun. Siten - Sitemanagement. spn - Gestioun vum Service Principal Name (SPN). testparm - Syntax kontrolléiert d'Konfiguratiounsdatei. Zäit - recuperéieren der Zäit op engem Server. Benotzer - Benotzer Gestioun. Fir méi Hëllef bei engem spezifesche Subkommando, gitt w.e.g.: samba-tool (-h | --hëllef)

root @ master: ~ # Tool User Set Expiry Administrator --noexpiry
root @ master: ~ # Tool Domain Passwuert Astellunge gesat --min-pwd-length = 7
root @ master: ~ # Tool Domain Passwuert Astellunge setzen --min-pwd-age = 0
root @ master: ~ # Tool Domain Passwuert Astellunge setzen --max-pwd-age = 60
root @ master: ~ # Tool User setpassword --filter = samaccountname = Administrator - newpassword = Passw0rD

Mir fügen e puer DNS records bäi

root @ master: ~ # Tool dns
Benotzung: samba-tool dns Domain Name Service (DNS) Gestioun. Optiounen: -h, --hëlleft dës Hëllefsmessage ze weisen an ofzeginn Verfügbar Ënnerkommandë: füügt - Füügt en DNS Record läschen - Läscht eng DNS Record Ufro - Ufro en Numm. Roothints - Query Root Tipps. serverinfo - Ufro fir Serverinformatioun. aktualiséieren - Update en DNS Record Zone kreéieren - Erstelle eng Zone. zonedelete - Läscht eng Zone. zoneinfo - Ufro fir Zone Informatioun. Zonelist - Ufro fir Zonen. Fir méi Hëllef bei engem spezifesche Souskommando, gitt w.e.g.: samba-tool dns (-h | --hëllef)

Mail Server

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

Fix IP vun anere Serveren

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

Ëmgedréit Zone

root @ master: ~ # Tool dns zonecreate master 10.168.192.in-addr.arpa -U Administrator
Passwuert fir [SWL \ Administrator]: Zone 10.168.192.in-addr.arpa erfollegräich erstallt

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

Kontrollen

root @ master: ~ # Tool dns Ufro Master swl.fan Mail ALL -U Administrator
Passwuert fir [SWL \ Administrator]: Numm =, Records = 1, Kanner = 0 A: 192.168.10.9 (Fändelen = f0, serial = 2, ttl = 900)

root @ master: ~ # Host Master
master.swl.fan huet Adress 192.168.10.5
root @ master: ~ # Host Sysadmin
sysadmin.swl.fan huet Adress 192.168.10.1
root @ master: ~ # Host Mail
mail.swl.fan huet Adress 192.168.10.9
root @ master: ~ # Host Chat
chat.swl.fan huet Adress 192.168.10.12
root @ master: ~ # Proxy Host
proxy.swl.fan huet Adress 192.168.10.11
root @ master: ~ # Host Dateieserver
fileserver.swl.fan huet Adress 192.168.10.10
root @ master: ~ # Host 192.168.10.1
1.10.168.192.in-addr.arpa Domain Numm Zeiger sysadmin.swl.fan.
root @ master: ~ # Host 192.168.10.5
5.10.168.192.in-addr.arpa Domain Numm Zeigefanger master.swl.fan.
root @ master: ~ # Host 192.168.10.9
9.10.168.192.in-addr.arpa Domain Numm Zeigefanger mail.swl.fan.
root @ master: ~ # Host 192.168.10.10
10.10.168.192.in-addr.arpa Domain Numm Uweiser fileserver.swl.fan.
root @ master: ~ # Host 192.168.10.11
11.10.168.192.in-addr.arpa Domain Numm Uweiser proxy.swl.fan.
root @ master: ~ # Host 192.168.10.12
12.10.168.192.in-addr.arpa Domain Numm Zeiger chat.swl.fan.

Fir virwëtzeg

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

Mir addéiere Benotzer

root @ master: ~ # Tool Benotzer
Benotzung: Samba-Tool Benotzer Benotzer Gestioun. Optiounen: -h, --hëlleft dës Hëllefsmessage ze weisen an ofzeginn Verfügbar Ënnerkommandë: add - Erstellt en neie Benotzer. erstellen - Erstellt en neie Benotzer. läschen - Läscht e Benotzer. auszeschalten - E Benotzer auszeschalten. aktivéieren - Aktivéiert e Benotzer. getpassword - Gitt d'Passwuertfelder vun engem User / Computer Kont. Lëscht - Lëscht all Benotzer. Passwuert - Ändert Passwuert fir e Benotzerkont (deen an der Authentifikatioun gëtt). setexpiry - Setzt den Oflaf vun engem Benotzerkont. setpassword - Setzt oder setzt d'Passwuert vun engem Benotzerkont zréck. syncpasswords - Synchroniséiert de Passwuert vun de Benotzerkonten. Fir méi Hëllef bei engem spezifesche Subkommando, gitt w.e.g.: Benotzer vum Samba-Tool (-h | --hëllef)

root @ master: ~ # Tool Benotzer erstallt Schrëtt Trancos01
Benotzer 'trancos' erfollegräich erstallt
root @ master: ~ # Tool Benotzer erstallt gandalf Gandalf01
Benotzer 'gandalf' erfollegräich erstallt
root @ master: ~ # Tool Benotzer erstallt Legolas Legolas01
Benotzer 'Legolas' erfollegräich erstallt
root @ master: ~ # Tool Benotzer Lëscht
Administrator gandalf legolas strides krbtgt Guest

Administratioun duerch eng grafesch Interface oder iwwer Webclient

Besicht wiki.samba.org fir detailléiert Informatiounen iwwer d'Installatioun vum Microsoft RSAT o Remote Server Administration Tools. Wann Dir net déi klassesch Politike vun Microsoft Active Directory braucht, kënnt Dir de Package installéieren ldap-Account-Manager deen en einfachen Interface fir d'Verwaltung duerch e Webbrowser ubitt.

De Microsoft Remote Server Administration Tools (RSAT) Programmpaket ass op Windows Server Betribssystemer abegraff.

Mir verbannen d'Domain mat engem Windows 7 Client mam Numm "siwen"

Well mir keen DHCP Server am Netz hunn, ass dat éischt wat mir musse maachen d'Netzwierkkaart vum Client mat enger fixer IP konfiguréieren, deklaréieren datt de primäre DNS d'IP vun der ass samba-ad-dc, a kontrolléiert ob d'Optioun "Registréiert d'Adress vun dëser Verbindung bei DNS" aktivéiert ass. Et ass net Idle fir ze kontrolléieren datt den Numm «siwen»Ass nach net am Samba Internal DNS registréiert.

Nodeems mir de Computer an d'Domain matmaachen a se nei starten, probéiere mir Iech mam Benotzer unzemellen «Schrëtt«. Mir kontrolléieren ob alles funktionnéiert. Et ass och geroden d'Logbicher vum Windows Client ze kontrolléieren an ze kontrolléieren wéi d'Zäit korrekt synchroniséiert ass.

Administrateure mat Windows Erfahrung fanne fest datt all Kontrollen, déi se um Client maachen, zefriddestellend Resultater hunn.

Summary

Ech hoffen den Artikel ass nëtzlech fir d'Lieser vun der FromLinux Community.

Äddi!


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

8 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   Gonzalo martinez sot

    Laang awer detailléierten Artikel, ganz gutt Schrëtt fir Schrëtt wéi een alles maache kann.

    Ech ënnersträichen NIS, d'Wourecht ass datt och wann ech iwwer seng Existenz weess, ech ni wierklech wosst wéi et funktionnéiert, well éierlech gesot huet et mech ëmmer den Androck gemaach datt et praktesch dout war nieft LDAP a Samba 4

    PS: Gratulatioun fir Ären neie perséinleche Projet! Schued datt Dir hei net weider schreift, awer op d'mannst ass et eng Plaz fir Iech ze verfollegen.

  2.   HO2Gi sot

    Enormen Tutorial wéi ëmmer zu mengen Favoritten, Gréiss Fico.
    Gratulatioun fir de Projet.

  3.   IWO sot

    D'NIS Sektioun ass super, ech hu sympathiséiert mam Gonzalo Martinez, ech wousst et kuerz awer hat keng Ahnung wéi et ëmgesat gëtt a wéi eng Situatiounen et benotzt gëtt.
    Merci eemol fir en enormen "Kofferraum" vun theoreteschen a prakteschen Artikel.
    Endlech nei Erfolleger an Ärem neie Projet «gigainside».

  4.   federico sot

    Villmols Merci jidderengem fir de Kommentar !!!.
    Wat

  5.   mussol sot

    de smb.conf deen Dir weist huet kee Link mat LDAP, ass et sou op Zweck oder hunn ech eppes verlooss?

  6.   phico sot

    mussol: Dëst ass e Samba 4 Active Directory Domain Controler dee scho säi gebauten LDAP Server huet.

  7.   Vincent sot

    Kënnt Dir kommentéieren wéi Dir e Mac (Apple) zu engem Samba 4 AD-DC verbënnt?
    Merci.

  8.   jramirez sot

    Wéi geet et dir;

    Merci fir den Handbuch, et ass super. Ech hunn eng Fro iwwer eng Noriicht déi mir erschéngt.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Ausgefall op geléist Hostnumm / IP: ad.rjsolucionessac.com. Bedenkt datt Dir net '/ Mask' AN '1-4,7,100-' Stil IP Reegele benotze kënnt
    Kann net e gëltegt Zil fannen. Gitt weg datt déi spezifizéiert Hosten entweder IP Adressen an der Standardnotatioun sinn oder Hostnimm déi mat DNS geléist kënne ginn
    root @ AD: ~ #