PAM, NIS, LDAP, Kerberos, DS i Samba 4 AD-DC - Xarxes PIMES

Índex general de la sèrie: Xarxes de Ordinadors per a les PIMES: Introducció

Hola amigues i amics!

Con éste artículo digo Adiós a la Comunidad DesdeLinux. Una especial despedida para una Especial Comunidad. Desde ahora estaré en mi proyecto personal el cual puedes conocer en http://www.gigainside.com.

L'objectiu fonamental de l'post és oferir un «Imatge general»Sobre els Serveis d'Autenticació amb Programari Lliure que tenim al nostre abast. A el menys aquesta és la nostra intenció. Per tant serà llarg, tot i que coneixem va contra les normes generals de redacció d'articles. Esperem que els administradors de Sistemes ho agraeixin.

Volem puntualitzar que el protocol comú a molts dels sistemes d'autenticació moderns és el LDAP, I que no és ociós estudiar-lo amb deteniment, a partir de l'material d'estudi que trobarem a lloc oficial http://www.openldap.org/.

No donarem definicions detallades -ni enllaços- sobre aspectes tractats en articles anteriors, o sobre aquells la descripció pot ser fàcilment accessible a la Viquipèdia o altres llocs o articles a Internet, per no perdre l'objectivitat de l'missatge que volem donar. També emprarem una barreja vàlida de noms en anglès i en espanyol, ja que considerem que la majoria dels sistemes van néixer amb noms en anglès i és molt beneficiós per a un sysadmin que els assimili en el seu idioma original.

  • PAM: Pluggable Authentication Module.
  • NIS: Network_Information_Service.
  • LDAP: Lightweight Directory Access Protocol.
  • Kerberos: Protocol de seguretat per autenticar usuaris, equips i serveis de forma centralitzada en una xarxa, verificant les seves credencials contra les entrades existents a la base de dades de Kerberos.
  • DS: Directory Server o Directory Service
  • AD-DC: Active Directory - Domain Controler

PAM

Dediquem una petita sèrie a aquest tipus d'autenticació local, la qual comprovaran en la pràctica diària que s'utilitza àmpliament quan, per exemple, vam unir una estació de treball a un Controlador de Domini oa un Directori Actiu; per mapejar usuaris emmagatzemats en bases de dades LDAP externes com si fossin usuaris locals; per mapejar usuaris emmagatzemats al Controlador de Domini d'un Directori Actiu com si fossin usuaris locals, etcètera.

NIS

De Wikipedia:

  • Network Information System (conegut pel seu acrònim NIS, que en espanyol significa Sistema d'Informació de Xarxa), és el nom d'un protocol de serveis de directoris client-servidor desenvolupat per Sun Microsystems per a l'enviament de dades de configuració en sistemes distribuïts com ara noms d'usuaris i hosts entre computadores sobre una xarxa.NIS està basat en ONC RPC, i consta d'un servidor, una biblioteca de la part client, i diverses eines d'administració.

    Originalment NIS es deia Pàgines Grogues (Yellow Pages), o YP, que encara s'utilitza per referir-se a ell. Malauradament, aquest nom és una marca registrada de British Telecom, que va exigir a Sun abandonar aquest nom. No obstant això YP roman com a prefix en els noms de la majoria de les ordres relacionades amb NIS, com ypserv i ypbind.

    DNS serveix un rang limitat d'informació, sent la més important la correspondència entre el nom de node i l'adreça IP. Per a altres tipus d'informació, no hi ha un servei especialitzat així. D'altra banda, si només s'administra una petita LAN sense connectivitat a Internet, no sembla que valgui la pena configurar DNS. Aquesta és la raó per la qual Sun va desenvolupar el Sistema d'Informació de Xarxa (NIS). NIS proporciona prestacions d'accés a bases de dades genèriques que poden utilitzar-se per distribuir, per exemple, la informació continguda en els fitxers passwd i groups a tots els nodes de la xarxa. Això fa que la xarxa sembli un sistema individual, amb els mateixos comptes en tots els nodes. De manera similar, es pot usar NIS per distribuir la informació de noms de node continguda en / etc / hosts a totes les màquines de la xarxa.

    Avui NIS està disponible pràcticament en tots les distribucions d'Unix, i fins i tot hi ha implementacions lliures. BSD Net-2 va publicar una que ha estat derivada d'una implementació de referència de domini públic donada per Sun. El codi de la biblioteca de la part client d'aquesta versió existeix en la libc de GNU / Linux des de fa molt de temps, i els programes d'administració van ser portats a GNU / Linux per Swen Thümmler. No obstant això, cal un servidor NIS a partir de la implementació de referència.

    Peter Eriksson ha desenvolupat una implementació nova trucada NYS. Suporta tant NIS bàsic com la versió millorada de Sun NIS +. [1] NYS no només proporciona una sèrie d'eines NIS i un servidor, sinó que també afegeix un complet joc nou de funcions de biblioteca que necessita compilar en el seu libc si vol utilitzar-les. Això inclou un esquema nou de configuració per a la resolució de noms de node que substitueix l'esquema actual que fa servir el fitxer «host.conf».

    La libc de GNU, coneguda com libc6 en la comunitat GNU / Linux, inclou una versió actualitzada de el suport de NIS tradicional desenvolupat per Thorsten Kukuk. Suporta totes les funcions de biblioteca que proporcionava NYS, i també utilitza l'esquema avançat de configuració de NYS. Encara es necessiten les eines i el servidor, però utilitzant la libc de GNU s'estalvia el treball d'haver de posar pegats i recompilar la biblioteca

    .

Nom d'equip i domini, interfície de xarxa i resoldre

  • Partim d'una instal·lació neta -sense interfície gràficament d'un Debian 8 «Jessie». El domini swl.fan significa «Fans de l'Programari Lliure». Què millor nom que aquest?.
root @ màster: ~ # hostname
mestre
root @ màster: ~ # hostname -f
master.swl.fan

root @ màster: ~ # ip addr 1: el: 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 el valid_lft forever preferred_lft forever inet6 :: 1/128 scope host valid_lft forever preferred_lft forever 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 forever preferred_lft forever inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 scope link valid_lft forever preferred_lft forever

root @ màster: ~ # cat /etc/resolv.conf 
search swl.fan nameserver 127.0.0.1

Instal·lació de bind9, isc-dhcp-server i ntp

lligar9

root @ màster: ~ # aptitude install bind9 bind9-doc nmap
root @ màster: ~ # systemctl estatus bind9

root @ màster: ~ # nano /etc/bind/named.conf
include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";

root @ màster: ~ # cp /etc/bind/named.conf.options \ /etc/bind/named.conf.options.original

root @ màster: ~ # nano /etc/bind/named.conf.options
options {directory "/ var / cache / bind"; // If there is a tallafocs between you and nameservers you want // to talk to, you may need to fix the tallafocs to allow múltiple // ports to talk. see http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses Replacing // the all-0 s placeholder. // forwarders {// 0.0.0.0; //}; // ================================================ ===================== $ // If BIND logs error messages about the root key being Expired, // you will need to update your keys. see https://www.isc.org/bind-keys
        // ================================================ ===================== $ // No volem DNSSEC
        DNSSEC-enable no;
        // DNSSEC-validation acte; auth-NXDOMAIN no; # Conform to RFC1035 listen-on-v6 {any; }; // Per comprovacions des del localhost i sysadmin // mitjançant dig swl.fan AXFR // No tenim DNS Esclaus ... fins ara
        allow-transfer {localhost; 192.168.10.1; };
}; root @ màster: ~ # named-checkconf

root @ màster: ~ # 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 and 6303)
zone "254.169.in-addr.arpa" {type master; file "/etc/bind/db.empty"; };

// IETF protocol assignments (RFCs 5735 and 5736)
zone "0.0.192.in-addr.arpa" {type master; file "/etc/bind/db.empty"; };

// TEST-net- [1-3] for documentació lliure (RFCs 5735, 5737 and 6303)
zone "2.0.192.in-addr.arpa" {type master; file "/etc/bind/db.empty"; }; zone "100.51.198.in-addr.arpa" {type master; file "/etc/bind/db.empty"; }; zone "113.0.203.in-addr.arpa" {type master; file "/etc/bind/db.empty"; };

// IPv6 Example Range for documentació lliure (RFCs 3849 and 6303)
zone "8.bd0.1.0.0.2.ip6.arpa" {type master; file "/etc/bind/db.empty"; };

// Domain Names for documentació lliure and Testing (BCP 32)
zone "test" {type master; file "/etc/bind/db.empty"; }; zone "example" {type master; file "/etc/bind/db.empty"; }; zone "invalid" {type master; file "/etc/bind/db.empty"; }; zone "example.com" {type master; file "/etc/bind/db.empty"; }; zone "example.net" {type master; file "/etc/bind/db.empty"; }; zone "example.org" {type master; file "/etc/bind/db.empty"; };

// Router Benchmark Testing (RFCs 2544 and 5735)
zone "18.198.in-addr.arpa" {type master; file "/etc/bind/db.empty"; }; zone "19.198.in-addr.arpa" {type master; file "/etc/bind/db.empty"; };

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

// IPv6 Unassigned Addresses (RFC 4291)
zone "1.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "3.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "4.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "5.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "6.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "7.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "8.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "9.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "a.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "b.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "c.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "d.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "e.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "0.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "1.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "2.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "3.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "4.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "5.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "6.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "7.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "8.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "9.f.ip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "afip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "bfip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "0.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "1.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "2.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "3.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "4.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "5.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "6.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "7.efip6.arpa" {type master; file "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 and 6303)
zone "cfip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "dfip6.arpa" {type master; file "/etc/bind/db.empty"; };

// IPv6 Link Local (RFCs 4291 and 6303)
zone "8.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "9.efip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "aefip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "befip6.arpa" {type master; file "/etc/bind/db.empty"; };

// IPv6 Deprecated Site-Local Addresses (RFCs 3879 and 6303)
zone "cefip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "defip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "eefip6.arpa" {type master; file "/etc/bind/db.empty"; }; zone "fefip6.arpa" {type master; file "/etc/bind/db.empty"; };

// IP6.INT is Deprecated (RFC 4159)
zone "ip6.int" {type master; file "/etc/bind/db.empty"; };

root @ màster: ~ # nano /etc/bind/named.conf.local
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organització include "/etc/bind/zones.rfc1918";
include "/etc/bind/zones.rfcFreeBSD";

// Declaració de el nom, tipus, ubicació, i permís d'actualització // de les Zones de Registres DNS // Les dues Zones són MESTRES zone "swl.fan" {type master; file "/var/lib/bind/db.swl.fan"; }; zone "10.168.192.in-addr.arpa" {type master; file "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ màster: ~ # named-checkconf

root @ màster: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; serial 1D; refresh 1H; retry 1W; expiri 3H); minimum or; Negative caching time to live; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Per als Fans de l'Programari Lliure"; sysadmin IN A 192.168.10.1 fileserver IN A 192.168.10.4 màster IN A 192.168.10.5 proxyweb IN A 192.168.10.6 bloc IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

root @ màster: ~ # 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; refresh 1H; retry 1W; expiri 3H); minimum or; Negative caching time to live; @ 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 @ màster: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
zone swl.fan/IN: loaded serial 1 OK
root @ màster: ~ # named-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: loaded serial 1 OK

root @ màster: ~ # named-checkconf -zp
root @ màster: ~ # systemctl restart bind9.service
root @ màster: ~ # systemctl estatus bind9.service

Comprovacions de l'bind9

root @ màster: ~ # dig swl.fan AXFR
root @ màster: ~ # dig 10.168.192.in-addr.arpa AXFR
root @ màster: ~ # dig IN SOA swl.fan
root @ màster: ~ # dig IN NS swl.fan
root @ màster: ~ # dig IN MX swl.fan
root @ màster: ~ # host proxyweb root @ màster: ~ # nping --tcp -p 53 -c 3 localhost
root @ màster: ~ # nping --udp -p 53 -c 3 localhost
root @ màster: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ màster: ~ # nping --udp -p 53 -c 3 master.swl.fan
A partir Nping 0.6.47 ( http://nmap.org/nping ) At 2017 05:27 EDT SENT (09s) UDP 32:0.0037> 192.168.10.5:53 ttl = 192.168.10.245 id = 53 iplen = 64 SENT (20743s) UDP 28:1.0044> 192.168.10.5 .53: 192.168.10.245 ttl = 53 id = 64 iplen = 20743 SENT (28s) UDP 2.0060:192.168.10.5> 53:192.168.10.245 ttl = 53 id = 64 iplen = 20743 Max rtt: N / A | Min rtt: N / A | Avg rtt: N / A Raw packets vaig sentir: 28 (3B) | Rcvd: 84 (0B) | Lost: 0 (3%) Nping done: 100.00 IP address pinged in 1 seconds 

isc-dhcp-server

root @ màster: ~ # aptitude install isc-dhcp-server
root @ màster: ~ # nano / etc / default / isc-dhcp-server
# On what interfícies should the DHCP server (dhcpd) serve DHCP requests? # Separate múltiple interfícies with spaces, ig "eth0 eth1".
INTERFÍCIES = "eth0"

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

root @ màster: ~ # nano dhcp.key
key dhcp-key {
        algorithm HMAC-md5;
        secret "Ba9GVadq4vOCixjPN94dCQ == ";
}; root @ màster: ~ # install -o root -g bind -m 0640 dhcp.key /etc/bind/dhcp.key root @ màster: ~ # install -o root -g root -m 0640 dhcp.key / etc / dhcp /dhcp.key root @ màster: ~ # nano /etc/bind/named.conf.local
include "/etc/bind/dhcp.key";

zone "swl.fan" {type master; file "/var/lib/bind/db.swl.fan";
        allow-update {key dhcp-key; };
}; zone "10.168.192.in-addr.arpa" {type master; file "/var/lib/bind/db.10.168.192.in-addr.arpa";
        allow-update {key dhcp-key; };
};

root @ màster: ~ # named-checkconf

root @ màster: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ màster: ~ # nano /etc/dhcp/dhcpd.conf
DDNS-update-style interim; DDNS-updates on; DDNS-domainname "swl.fan."; DDNS-rev-domainname "in-addr.arpa."; ignori client-updates; update-optimization false; # Pot ser necessari en Debian authoritative; option ip-forwarding off; option domain-name "swl.fan"; include "/etc/dhcp/dhcp.key"; zone swl.fan. {Primary 127.0.0.1; key dhcp-key; } Zone 10.168.192.in-addr.arpa. {Primary 127.0.0.1; key dhcp-key; } Shared-network redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.10.255; option domain-name-servers 192.168.10.5; option NetBIOS-name-servers 192.168.10.5; option ntp-servers 192.168.10.5; option time-servers 192.168.10.5; range 192.168.10.30 192.168.10.250; }}

root @ màster: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Copyright 2004-2014 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/
Config file: /etc/dhcp/dhcpd.conf Database file: /var/lib/dhcp/dhcpd.leases PID file: /var/run/dhcpd.pid

root @ màster: ~ # systemctl restart bind9.service 
root @ màster: ~ # systemctl estatus bind9.service 

root @ màster: ~ # systemctl start isc-dhcp-server.service
root @ màster: ~ # systemctl per a l'estat isc-dhcp-server.service

ntp

root @ màster: ~ # aptitude install ntp ntpdate
root @ màster: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ màster: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 192.168.10.1 restrict -4 default kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery restrict 127.0.0.1 restrict :: 1 broadcast 192.168.10.255

root @ màster: ~ # systemctl restart ntp.service 
root @ màster: ~ # systemctl estatus ntp.service
root @ màster: ~ # ntpdate -u sysadmin.swl.fan
27 May 10:04:01 ntpdate [18769]: adjust time server 192.168.10.1 òfset 0.369354 sec

Comprovacions globals de l'ntp, bind9 i isc-dhcp-server

Des d'un client Linux, BSD, Mac OS, o Windows comprovi que sincronitza el temps correctament. Que adquireix una adreça IP dinàmica i que el nom d'aquest host es resuleve mitjançant consultes DNS directes i inverses. Canvieu el nom de el client i torni a realitzar totes les comprovacions. No avanç fins que tingui la certesa que els serveis instal·lats fins ara funcionen correctament. Per a alguna cosa escrivim tots els articles sobre DNS i DHCP a Xarxes de Ordinadors per a les PIMES.

Instal·lació de l'NIS Server

root @ màster: ~ # aptitude show nis
Té conflictes amb: netstd (<= 1.26) Descripció: clients and dimonis for the Network Information Service (NIS) This package provides tools for setting up and maintaining a NIS domain. NIS, originally known as Yellow Pages (YP), is Mostly used to let several machines in a network share the same account information, such as the password file.

root @ màster: ~ # aptitude install nis
Configuració de paquets ┌─────────────────────────┤ configuració de nis ├──────────────── ──────────┐ │ Esculli el «nom de domini» de NIS per a aquest sistema. Si vol que │ │ aquesta màquina només sigui un client, hauria d'introduir el nom de l'│ │ domini de NIS a què es vol unir. │ │ │ │ De manera alternativa, si aquesta màquina ha de ser un servidor NIS, pot │ │ introduir un nou «nom de domini» de NIS o el nom d'un domini │ │ de NIS existent. │ │ │ │ Domini de NIS: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Es demorarà el seu perquè la configuració de el servei no existeix com a tal. Espereu, si us plau, al fet que acabi el procés.

root @ màster: ~ # nano / etc / default / nis
# Are we a NIS server and if so what kind (values: false, slave, màster)?
NISSERVER = màster

root @ màster: ~ # nano /etc/ypserv.securenets # securenets This file defineixes the access rights to your NIS server # for NIS clients (and slave servers - ypxfrd facis servir this # file too). This file contains netmask / network pairs. # A clients IP address needs to match with at least one # of those. # # One can use the word "host" instead of a netmask of # 255.255.255.255. Only IP addresses are allowed in this # file, not hostnames. # # Always allow access for localhost 255.0.0.0 127.0.0.0 # This line gives access to everybody. PLEASE ADJUST! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ màster: ~ # nano / var / ip / Makefile # Should we merge the passwd file with the shadow file? # MERGE_PASSWD = true | false
MERGE_PASSWD = true

# Should we merge the group file with the gshadow file? # MERGE_GROUP = true | false
MERGE_GROUP = true

Construïm la base de dades de l'NIS

root @ màster: ~ # / usr / lib / yp / ypinit -m
At this point, we have to construct a list of the hosts which will run NIS servers. master.swl.fan is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a . next host to add: master.swl.fan next host to add: The current list of NIS servers looks like this: master.swl.fan Is this correct? [I / en: i] We need a few minutes to build the databases ... make [1]: Leaving directory '/var/yp/swl.fan' master.swl.fan has been set up es a NIS màster server . Now you can run ypinit -s master.swl.fan on all slave server.

root @ màster: ~ # systemctl restart nis
root @ màster: ~ # systemctl estatus nis

Afegim usuaris locals

root @ màster: ~ # adduser bilbo
Afegint l'usuari `bilbo '... Afegint el nou grup` bilbo' (1001) ... Afegint el nou usuari `bilbo '(1001) amb grup` bilbo' ... Creant el directori personal `/ home / bilbo ' ... copiant els fitxers des de '/ etc / skel' ... Introduïu la contrasenya d'UNIX: Torneu a escriure la nova contrasenya d'UNIX: passwd: contrasenya actualitzada correctament Canviant la informació d'usuari per bilbo Introduïu el nou valor, o premi INTRO per fer servir el valor per omissió Nom complet []: Bilbo Bagins Nombre d'habitació []: Telèfon de la feina []: Telèfon de casa []: Un altre []: És correcta la informació? [S / n]

root @ màster: ~ # adduser gambades root @ màster: ~ # adduser legolas

i així successivament.

root @ màster: ~ # finger legolas
Login: legolas Name: Legolas Arquer Directory: / home / legolas Shell: / bin / bash Never logged in. No mail. No Pla.

Actualitzem la base de dades de l'NIS

root @ màster: / var / ip # make
make [1]: Entering directory '/var/yp/swl.fan' Updating passwd.byname ... Updating passwd.byuid ... Updating group.byname ... Updating group.bygid ... Updating netid.byname. .. Updating shadow.byname ... IGNORED -> merged with passwd make [1]: Leaving directory '/var/yp/swl.fan'

Afegim opcions NIS a l'isc-dhcp-server

root @ màster: ~ # nano /etc/dhcp/dhcpd.conf
DDNS-update-style interim; DDNS-updates on; DDNS-domainname "swl.fan."; DDNS-rev-domainname "in-addr.arpa."; ignori client-updates; update-optimization false; authoritative; option ip-forwarding off; option domain-name "swl.fan"; include "/etc/dhcp/dhcp.key"; zone swl.fan. {Primary 127.0.0.1; key dhcp-key; } Zone 10.168.192.in-addr.arpa. {Primary 127.0.0.1; key dhcp-key; } Shared-network redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.10.255; option domain-name-servers 192.168.10.5; option NetBIOS-name-servers 192.168.10.5; option ntp-servers 192.168.10.5; option time-servers 192.168.10.5;
                option nis-domain "swl.fan";
                option nis-servers 192.168.10.5;
                range 192.168.10.30 192.168.10.250; }}

root @ màster: ~ # dhcpd -t
root @ màster: ~ # systemctl restart isc-dhcp-server.service

Instal·lació de l'NIS Client

  • Partim d'una instal·lació neta -sense interfície gràficament d'un Debian 8 «Jessie».
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default 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 scope global eth0

root @ mail: ~ # aptitude install nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Configuration file for the ypbind process. You can defineix # NIS servers Manually here if they can not be found by # broadcasting on the local net (which is the default). # # See the manual page of ypbind for the syntax of this file. # # IMPORTANT: For the "ypserver", utilitzeu IP addresses, or make sure that # the host is in / etc / hosts. This file is only interpreted # onze, and if DNS is not reachable yet the ypserver can not # be resolved and ypbind will not ever bind to the server. # Ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /Etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference 'and` info' packages installed, try: # `info libc" Name Service Switch " 'for information about this file. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files dns nis networks: files protocols: db files serveis: db files ethers: db files rpc: db files netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# Pam-auth-update (8) for details.
session optional pam_mkhomedir.so skel = / etc / skel umask = 077
# Here are the per-package modules (the "Primary" block)

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

Tanquem sessió i la vam iniciar novament però amb un usuari registrat a la base de dades de l'NIS en master.swl.fan.

root @ mail: ~ # exit
logout Connection to mail tancats.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail 's password: Creating directory' / home / legolas '. The programs inclòs with the Debian GNU / Linux system are free software; the exact distribution terms for each program are described in the individual files in / usr / share / doc / * / copyright. Debian GNU / Linux menges with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
legolas @ mail: ~ $ pwd
/ Home / legolas
legolas @ mail: ~ $ 

Canviem el password d'l'usuari legolas i vam comprovar

legolas @ mail: ~ $ yppasswd 
Changing NIS account information for legolas on master.swl.fan. Please enter old password: legolas Changing NIS password for legolas on master.swl.fan. Please enter new password: arquer The password must have both upper and lowercase letters, or non-letters. Please enter new password: Arquero2017 Please retype new password: Arquero2017 The NIS password has been changed on master.swl.fan.

legolas @ mail: ~ $ exit
logout Connection to mail tancats.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ mail 's password: Arquero2017

The programs inclòs with the Debian GNU / Linux system are free software; the exact distribution terms for each program are described in the individual files in / usr / share / doc / * / copyright. Debian GNU / Linux menges with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat May 27 12:51:50 2017 from sysadmin.swl.fan
legolas @ mail: ~ $

El Servei NIS implementat a nivell de servidor i de client funciona correctament.

LDAP

de Viquipèdia:

  • LDAP són les sigles de Lightweight Directory Access Protocol (en espanyol Protocol Lleuger / Simplificat d'Accés a Directoris) que fan referència a un protocol a nivell d'aplicació que permet l'accés a un servei de directori ordenat i distribuït per buscar diversa informació en un entorn de xarxa. LDAP també es considera una base de dades (encara que el seu sistema d'emmagatzematge pot ser diferent) a la qual poden realitzar-se consultes.Un directori és un conjunt d'objectes amb atributs organitzats en una manera lògica i jeràrquica. L'exemple més comú és el directori telefònic, que consisteix en una sèrie de noms (persones o organitzacions) que estan ordenats alfabèticament, amb cada nom tenint una adreça i un número de telèfon adjunts. Per entendre millor, és un llibre o carpeta, en la qual s'escriuen noms de persones, telèfons i adreces, i s'ordena alfabèticament.

    Un arbre de directori LDAP de vegades reflecteix diversos límits polítics, geogràfics o organitzacionals, depenent de el model triat. Els desplegaments actuals de LDAP tendeixen a usar noms de Sistema de Noms de Domini (DNS per les seves sigles en anglès) per estructurar els nivells més alts de la jerarquia. A mesura que es descendeix en el directori poden aparèixer entrades que representen persones, unitats organitzacionals, impressores, documents, grups de persones o qualsevol cosa que representa una entrada donada a l'arbre (o múltiples entrades).

    Habitualment, emmagatzema la informació d'accés (usuari i contrasenya) i és utilitzat per autenticar encara que és possible emmagatzemar una altra informació (dades de contacte de l'usuari, ubicació de diversos recursos de la xarxa, permisos, certificats, etc.). A manera de síntesi, LDAP és un protocol d'accés unificat a un conjunt d'informació sobre una xarxa.

    La versió actual és LDAPv3, i es troba definit en els RFCs RFC 2251 i RFC 2256 (document base de LDAP), RFC 2829 (mètode d'autenticació per LDAP), RFC 2830 (extensió per TLS), i RFC 3377 (especificació tècnica)

    .

per molt, El protocol LDAP -i les seves bases de dades compatibles o no amb el OpenLDAP- és el més utilitzat en la majoria dels sistemes d'autenticació d'avui dia. Com a exemple de l'afirmació anterior, donem a continuació alguns noms de sistemes -Lliures o privats- que utilitzen bases de dades LDAP com backend per emmagatzemar tots els seus objectes:

  • OpenLDAP
  • Servidor de directori Apache
  • Xarxa Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystem Open DS
  • Xarxa Hat Identity Manager
  • IPA gratuïta
  • Samba NT4 Classic Domain Controller.
    Volem aclarir que aquest sistema va ser un desenvolupament propi de l'Team Samba amb Samba 3.xxx + OpenLDAP com backend. Microsoft mai va implementar una cosa semblant. Va saltar dels controladors de domini NT 4 a les seves Directoris Actius
  • Samba 4 Active Directory - Domain Controler
  • Clear-vos
  • Zentyal
  • UCS Uninvention Corporate Server
  • Microsoft Active Directory

Cada implementació té les seves pròpies característiques, i el més estàndard i compatible és el OpenLDAP.

Els Active Directory, siguin l'original de Microsoft o el de Samba 4, constitueixen una unió de diversos components principals que són:

No hem de confondre un Directory Service o Servei de Directori amb un Active Directory o Directori Actiu. Els primers poden o no albergar a l'autenticació Kerberos, però no ofereixen el servei de la Xarxa Microsoft que brinda un Domini de Windows, ni tampoc tenen un Controlador de Domini Windows com a tal.

Un Servei de Directori o Directory Service es pot emprar per autenticar usuaris en una xarxa mixta amb clients UNIX / Linux i Windows. Per a aquests últims s'ha d'instal·lar a cada client algun programa que actuï com a intermediari entre el Servei de Directori i el propi client Windows, com és el Programari Lliure pGina.

Servei de Directori amb OpenLDAP

  • Partim d'una instal·lació neta -sense interfície gràficament d'un Debian 8 «Jessie», Amb el mateix nom d'equip «màster» utilitzat per a la instal·lació de l'NIS, així com també la configuració de la seva interfície de xarxa i de l'arxiu /etc/resolv.conf. A aquest nou servidor li instal·lem el ntp, bind9 i isc-dhcp-server, sense oblidar les comprovacions globals de l'correcte funcionament dels tres serveis anteriors.
root @ màster: ~ # aptitude install slapd ldap-utils

Configuració de paquets

┌─────────────────────┤ Configuració de slapd ├─────────────────────┐ │ Introduïu la contrasenya per a l'entrada d'administrador de la seva │ │ directori LDAP. │ │ │ │ Contrasenya d'administrador: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────┘

Comprovem la configuració inicial

root @ màster: ~ # slapcat
dn: dc = SWL, dc = fan
objectClass: top objectClass: dcObject objectClass: organization o: swl.fan dc: SWL structuralObjectClass: organització entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = SWL, dc = fan createTimestamp: 20170531205219Z entryCSN: 20170531205219.833955 Z # 000000 # 000 # 000000 modifiersName: cn = admin, dc = SWL, dc = fan modifyTimestamp: 20170531205219Z

dn: cn = admin, dc = SWL, dc = fan
objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e-da8e-1036-8fe2-71d022a16904 creatorsName: cn = admin, dc = SWL, dc = fan createTimestamp: 20170531205219Z entryCSN: 20170531205219.834422Z # 000000 # 000 # 000000 modifiersName: cn = admin, dc = SWL, dc = fan modifyTimestamp: 20170531205219Z

Modifiquem el fitxer /etc/ldap/ldap.conf

root @ màster: ~ # nano /etc/ldap/ldap.conf
BASE dc = SWL, dc = fan URI    ldap: // localhost

Unitats Organitzatives i grup general «usuaris»

Afegim les Organizational Units mínimes necessàries, així com el grup Posix «usuaris» a què farem membres a tots els usuaris, seguint l'exemple de molts sistemes que tenen el grup «usuaris«. El anomenem amb el nom de «usuaris» per no entrar en possibles conflictes amb el grup «user»De el sistema.

root @ màster: ~ # nano base.ldif
dn: ou = people, dc = SWL, dc = fan objectClass: organizationalUnit ou: people dn: ou = groups, dc = SWL, dc = fan objectClass: organizationalUnit ou: groups dn: cn = usuaris, ou = groups, dc = SWL, dc = fan objectClass: posixGroup cn: usuaris gidNumber: 10000

root @ màster: ~ # ldapadd -x -D cn = admin, dc = SWL, dc = fan -W -f base.ldif
Enter LDAP Password: adding new entry "ou = people, dc = SWL, dc = fan" adding new entry "ou = groups, dc = SWL, dc = fan"

Comprovem les entrades afegides

root @ màster: ~ # ldapsearch -x ou = people
# People, swl.fan dn: ou = people, dc = SWL, dc = fan objectClass: organizationalUnit ou: people

root @ màster: ~ # ldapsearch -x ou = groups
# Groups, swl.fan dn: ou = groups, dc = SWL, dc = fan objectClass: organizationalUnit ou: groups

root @ màster: ~ # ldapsearch -x cn = usuaris
# Usuaris, groups, swl.fan dn: cn = usuaris, ou = groups, dc = SWL, dc = fan objectClass: posixGroup cn: usuaris gidNumber: 10000

Afegim diversos usuaris

El password que hem de declarar al LDAP s'ha d'obtenir mitjançant la comanda slappasswd, El qual retorna una contrasenya encriptada SSHA.

Contrasenya per a l'usuari gambades:

root @ màster: ~ # slappasswd 
New password: Re-enter new password: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Contrasenya per a l'usuari legolas

root @ màster: ~ # slappasswd 
New password: Re-enter new password: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Contrasenya per a l'usuari Gandalf

root @ màster: ~ # slappasswd 
New password: Re-enter new password: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + o

root @ màster: ~ # nano usuarios.ldif
dn: uid = gambades, ou = people, dc = SWL, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gambades cn: gambades GivenName: Trancos sn: El Rei userPassword: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 mail: trancos@swl.fan
gecos: Trancos El Rei loginShell: / bin / bash homeDirectory: / home / gambades dn: uid = legolas, ou = people, dc = SWL, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas GivenName : Legolas sn: Arquer userPassword: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 mail: legolas@swl.fan
gecos: Legolas Arquer 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: El Mag userPassword: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + o
uidNumber: 10002 gidNumber: 10000 mail: gandalf@swl.fan
gecos: Gandalf El Mag loginShell: / bin / bash homeDirectory: / home / Gandalf

root @ màster: ~ # ldapadd -x -D cn = admin, dc = SWL, dc = fan -W -f usuarios.ldif
Enter LDAP Password: adding new entry "uid = gambades, ou = people, dc = SWL, dc = fan" adding new entry "uid = legolas, ou = people, dc = SWL, dc = fan" adding new entry "uid = Gandalf, ou = people, dc = SWL, dc = fan "

Comprovem les entrades afegides

root @ màster: ~ # ldapsearch -x cn = gambades
root @ màster: ~ # ldapsearch -x uid = gambades

Gestionem la base de dades de l'slpad amb utilitats de consola

Seleccionem el paquet ldapscripts per tal tasca. El procediment d'instal·lació i configuració és el següent:

root @ màster: ~ # aptitude install ldapscripts
 
root @ màster: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.original
 
root @ màster: ~ # 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 = groups' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Computers' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP client commands 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 / ldapscripts /ldapadduser.template "PASSWORDGEN =" echo% o "

Observin que els scripts utilitzen les ordres de l'paquet ldap-utils. executeu dpkg -L ldap-utils | grep / bin per saber quins són.

root @ màster: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ màster: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ màster: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapadduser.template
 
root @ màster: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: cn: GivenName: sn: DisplayName: uidNumber: gidNumber: 10000 homeDirectory: loginShell: mail: @ Swl.fan gecos: description: Compte d'Usuari
 
root @ màster: ~ # nano /etc/ldapscripts/ldapscripts.conf
## eliminem el comentari UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Afegim a l'usuari «bilbo» i ho fem membre de l'grups «usuaris»

root @ màster: ~ # ldapadduser bilbo usuaris
[Dn: uid = bilbo, ou = people, dc = SWL, dc = fan] Enter value for "GivenName": Bilbo [dn: uid = bilbo, ou = people, dc = SWL, dc = fan] Enter value for " sn ": Bagins [dn: uid = bilbo, ou = people, dc = SWL, dc = fan] Enter value for" DisplayName ": Bilbo Bagins successfully added user bilbo to LDAP successfully setembre password for user bilbo

root @ màster: ~ # ldapsearch -x uid = bilbo
# Bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = SWL, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo GivenName: Bilbo sn: Bagins DisplayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo description: Compte d'Usuari

Per veure el hash de la contrasenya de l'usuari bilbo, cal efectuar la consulta amb autenticació:

root @ màster: ~ # ldapsearch -x -D cn = admin, dc = SWL, dc = fan -W uid = bilbo

Per esborrar a l'usuari bilbo executem:

root @ màster: ~ # ldapdelete -x -D cn = admin, dc = SWL, dc = fan -W uid = bilbo, ou = people, dc = SWL, dc = fan
Enter LDAP Password:

root @ màster: ~ # ldapsearch -x uid = bilbo

Gestionem la base de dades de l'slapd mitjançant una interfície web

Disposem d'un servei de Directori funcional, i el volem administrar més fàcilment. Hi ha molts programes concebuts per a aquesta tasca com són el phpldapadmin, ldap-account-manager, Etcètera, que estan disponibles directament des dels repositoris. També podem gestionar un servei de Directori per mitjà de l' Apache Directory Studio, El qual hem de descarregar des d'Internet.

Per a més informació, si us plau visiti https://blog.desdelinux.net/ldap-introduccion/, I els següents 6 articles.

Client LDAP

escenari:

Diguem que tenim a l'equip mail.swl.fan com a servidor de correu implementat segons vam veure en l'article Postfix + Dovecot + Squirrelmail i usuaris locals, Que encara que es va desenvolupar sobre CentOS, bé pot servir de guia per a Debian i moltes altres distros Linux. Volem que, a més dels usuaris locals que ja tinguem declarats, gaudeixin de l'servei els usuaris emmagatzemats a la base de dades de l'OpenLDAP existent en master.swl.fan. Per aconseguir això hem de «mapejar»Als usuaris de l'LDAP com a usuaris locals al servidor mail.swl.fan. Aquesta solució també és vàlida per a qualsevol servei basat en autenticació PAM. El procediment general per a Debian, És el següent:

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

  ┌────────────────────┤ Configuració de libnss-ldap ├─────────────────────┐ │ Introduïu l'URI ( «Uniform Resource Identifier», o Identificador │ │ Uniforme de Recursos) de l'servidor LDAP. Aquesta cadena és similar a │ │ «ldap: //: / ». També pot │ │ utilitzar «ldaps: // » o «ldapi: //». El número de port és opcional. │ │ │ │ Es recomana utilitzar una adreça IP per evitar errors quan els │ │ serveis de noms de domini no estiguin disponibles. │ │ │ │ URI de servidor LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Configuració de libnss-ldap ├──────────────────────┐ │ Introduïu el nom distintiu (DN) de la base de recerques de LDAP. En │ │ molts llocs s'utilitzen les components de el nom de domini amb aquest │ │ propòsit. Per exemple, el domini «ejemplo.net» utilitzaria │ │ «dc = exemple, dc = net» com a nom distintiu de la base de recerques. │ │ │ │ El nom distintiu (DN) de la base de recerques: │ │ │ │ dc = SWL, dc = fan ____________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libnss-ldap ├──────────────────────┐ │ Introduïu la versió de el protocol LDAP que hauria d'usar ldapns. Es │ │ recomana utilitzar el número de versió més alt que estigui disponible. │ │ │ │ Versió de LDAP a utilitzar: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libnss-ldap ├──────────────────────┐ │ Esculli que compta s'utilitzarà per a les consultes nss amb privilegis de │ │ root. │ │ │ │ Nota: Perquè funcioni aquesta opció el compte necessita permisos per │ │ poder accedir als atributs LDAP que estan associats amb les entrades │ │ «shadow» dels usuaris així com a les contrasenyes dels usuaris i │ │ grups . │ │ │ │ Compte LDAP per root: │ │ │ │ cn = admin, dc = SWL, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libnss-ldap ├─────────────────────┐ │ Introduïu la contrasenya s'utilitzarà quan libnss-ldap intenti │ │ autenticar-se a directori LDAP amb el compte LDAP de root. │ │ │ │ La contrasenya es guardarà en un fitxer independent │ │ ( «/etc/libnss-ldap.secret») a què només podrà accedir root. │ │ │ │ Si s'introdueix una contrasenya buida es reutilitzarà l'antiga contrasenya. │ │ │ │ Contrasenya per al compte LDAP de root: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Configuració de libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf no es gestiona automàticament │ │ │ │ Ha de modificar la seva fitxer «/etc/nsswitch.conf» perquè utilitzi una │ │ font de dades LDAP si vol que funcioni el paquet libnss-ldap. │ │ Podeu utilitzar com a exemple de la configuració de nsswitch el fitxer │ │ d'exemple en «/usr/share/doc/libnss-ldap/examples/nsswitch.ldap» o │ │ pot copiar sobre la seva configuració actual. │ │ │ │ Recordeu que abans d'eliminar aquest paquet pot ser convenient │ │ eliminar les entrades «ldap» de el fitxer nsswitch.conf perquè els │ │ serveis bàsics segueixin funcionant. │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libpam-ldap ├──────────────────────┐ │ │ │ Aquesta opció permet que les eines de les contrasenyes que utilitzin │ │ PAM canviïn les contrasenyes locals. │ │ │ │ La contrasenya del compte de l'administrador de LDAP es guardarà en un │ │ arxiu separat que només podrà llegir l'administrador. │ │ │ │ Aquesta opció s'hauria de desactivar, si es munta «/ etc» per NFS. │ │ │ │ Voleu permetre que el compte de l'administrador de LDAP es comporti com │ │ l'administrador local? │ │ │ │                                            │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libpam-ldap ├──────────────────────┐ │ │ │ Esculli si el servidor LDAP força la identificació abans d'obtenir │ │ les entrades. │ │ │ │ Aquesta configuració no sol ser necessària. │ │ │ │ ¿Cal un usuari per accedir a la base de dades d'LDAP? │ │ │ │                                               │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libpam-ldap ├──────────────────────┐ │ Introduïu el nom del compte de l'administrador de LDAP. │ │ │ │ Aquest compte es recorrerà automàticament per a la gestió de la base de │ │ dades, de manera que ha de tenir els privilegis administratius apropiats. │ │ │ │ Compte de l'administrador d'LDAP: │ │ │ │ cn = admin, dc = SWL, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Configuració de libpam-ldap ├──────────────────────┐ │ Introduïu la contrasenya del compte de l'administrador. │ │ │ │ La contrasenya es guardarà a l'arxiu «/etc/pam_ldap.secret». El │ │ administrador serà l'únic que pugui llegir aquest arxiu, i permetrà │ │ libpam-ldap controlar automàticament la gestió de les connexions a la │ │ base de dades. │ │ │ │ Si deixa aquest camp en blanc, es tornarà a fer servir l'anterior contrasenya │ │ guardada. │ │ │ │ Contrasenya d'administrador d'LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /Etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference 'and` info' packages installed, try: # `info libc" Name Service Switch " 'for information about this file. passwd: compat ldap
group: compat ldap
shadow: compat ldap
gshadow: files hosts: files dns networks: files protocols: db files serveis: db files ethers: db files rpc: db files netgroup: nis

Editem l'arxiu /etc/pam.d/common-password, Anem a la línia 26 i eliminem el valor «use_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /Etc/pam.d/common-password - password-related modules common to all services # # This file inclòs from other service-specific PAM config files, # and should contain a list of modules that defineix the services to be # used to change user passwords. The default is pam_unix. # Explanation of pam_unix options: # # The "sha512" option Enables salted SHA512 passwords. Without this option, # the default is Unix crypt. Prior releases used the option "md5". # # The "Obscure" option Replaces the old `OBSCURE_CHECKS_ENAB 'option in # login.defs. # # See the pam_unix manpage for other options. # As of pam 1.0.1-6, this file is managed by pam-auth-update by default. # To take advantage of this, it is recommended that you configure any # local modules either before or after the default block, and use # pam-auth-update to manage selection of other modules. See # pam-auth-update (8) for details. # Here are the per-package modules (the "Primary" block) password [success = 2 default = ignori] pam_unix.so Obscure sha512
password [success = 1 user_unknown = ignori default = die] pam_ldap.so try_first_pass
# Here s the fallback if no module succeeds password requisite pam_deny.so # prime the stack with a positive return value if there is not one already; # This avoids us Returning an error just because nothing sets a success code # since the modules above will each just jump around password required pam_permit.so # and here are more per-package modules (the "Additional" block) # end of pam- auth-update config

En cas que necessitem l'Inici de Sessió Local dels usuaris emmagatzemats al LDAP, i vulguem es creïn de forma automàtica les seves carpetes casa, Hem d'editar el fitxer /etc/pam.d/common-session i afegir a la fi de l'arxiu la següent línia:

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

En l'exemple de Servei de Directori amb OpenLDAP desenvolupat abans, l'únic usuari local que es va crear va ser el usuari brunzit, Mentre que a LDAP vam crear als usuaris trancs, legoles, Gandalf i bilb. Si les configuracions realitzades fins al moment són correctes, llavors devem ser capaços de llistar els usuaris locals i als mapejats com a locals però emmagatzemats al servidor LDAP remot:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First US ,,,: / home / buzz: / bin / bash
trancos: x: 10000: 10000: Trancos El Rei: / home / gambades: / bin / bash
legolas: x: 10001: 10000: Legolas Arquer: / home / legolas: / bin / bash
Gandalf: x: 10002: 10000: Gandalf El Mag: / home / Gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Després dels canvis en l'autenticació de sistema, és vàlid reiniciar el servidor sinó estem davant d'un servei crític:

root @ mail: ~ # reboot

Posteriorment vam iniciar sessió local al servidor mail.swl.fan amb les credencials d'un usuari emmagatzemat a la base de dades LDAP de master.swl.fan. També podem provar iniciar sessió via SSH.

buzz @ sysadmin: ~ $ ssh Gandalf @ mail
Gandalf @ mail 's password: Creating directory' / home / Gandalf '. The programs inclòs with the Debian GNU / Linux system are free software; the exact distribution terms for each program are described in the individual files in / usr / share / doc / * / copyright. Debian GNU / Linux menges with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Gandalf @ mail: ~ $ la seva
clau:

root @ mail: / home / Gandalf # getent group
buzz: x: 1001: usuaris: *: 10000:

root @ mail: / home / Gandalf # exit
sortir de

Gandalf @ mail: ~ $ ls -l / home /
total 8 drwxr-xr-x 2 buzz buzz     4096 juny 17 12:25 buzz drwx ------ 2 Gandalf usuaris 4096 juny 17 13:05 Gandalf

El Servei de Directori implementat a nivell de servidor i de client, funciona correctament.

Kerberos

de Viquipèdia:

  • Kerberos és un protocol d'autenticació de xarxes d'ordinador creat pel MIT que permet a dos ordinadors en una xarxa insegura demostrar la seva identitat mútuament de manera segura. Els seus dissenyadors es van concentrar primerament en un model de client-servidor, i brinda autenticació mútua: tant client com servidor verifiquen la identitat un a l'altre. Els missatges d'autenticació estan protegits per evitar escolta y atacs de Replay.

    Kerberos es basa en criptografia de clau simètrica i requereix un tercer de confiança. A més, hi extensions de el protocol per poder utilitzar criptografia de clau asimètrica.

    Kerberos es basa en el Protocol de Needham-Schroeder. Utilitza un tercer de confiança, denominat «centre de distribució de claus» (KDC, per les seves sigles en anglès: Key Distribution Center), el qual consisteix de dues parts lògiques separades: un "servidor d'autenticació» (AS o Authentication Server) i un "servidor emissor de tiquets» (TGS o Tiquet Granting Server). Kerberos treballa sobre la base de «tiquets», els quals serveixen per demostrar la identitat dels usuaris.

    Kerberos manté una base de dades de claus secretes; cada entitat a la xarxa -sigui client o servidor- comparteix una clau secreta coneguda únicament per ell i Kerberos. El coneixement d'aquesta clau serveix per provar la identitat de l'entitat. Per a una comunicació entre dues entitats, Kerberos genera una clau de sessió, la qual poden usar per assegurar els seus problemes.

Desavantatges de Kerberos

De EcuRed:

Tot i que Kerberos elimina una amenaça de seguretat comuna, pot ser difícil d'implementar per una varietat de raons:

  • La Migració de contrasenyes d'usuaris des d'una base de dades de contrasenyes estàndard UNIX, Tal com / etc / passwd o / etc / shadow, a una base de dades de contrasenyes Kerberos, pot ser tediosa i no hi ha un mecanisme ràpid per realitzar aquesta tasca.
  • Kerberos pressuposa que cada usuari és de confiança, però que està utilitzant una màquina no fiable en una xarxa no fiable. El seu principal objectiu és el de prevenir que les contrasenyes no xifrades siguin enviades a través de la xarxa. No obstant això, si qualsevol altre usuari, a part de l'usuari adequat, té accés a la màquina que emet tiquets (KDC) per a l'autenticació, Kerberos estaria en Risc.
  • Perquè una aplicació utilitzi Kerberos, el codi ha de ser modificat per fer les trucades apropiades a les llibreries de Kerberos. Les aplicacions que són modificades d'aquesta forma són considerades com kerberizadas. Per a algunes aplicacions, això pot suposar un esforç excessiu de Programació, a causa de la mida de l'aplicació o la seva Disseny. Per a altres aplicacions incompatibles, els canvis s'han de realitzar en la manera en què el servidor de xarxa i els seus clients es comuniquen; de nou, això pot suposar bastant programació. En general, les aplicacions de codi tancat que no tenen suport de Kerberos són usualment les més problemàtiques.
  • Finalment, si decideix usar Kerberos en la seva xarxa, ha de adonar-se que és una tria de tot o res. Si decideix utilitzar Kerberos en la seva xarxa, ha de recordar que si es transmet qualsevol contrasenya a un servei que no fa servir Kerberos per autenticar, es corre el risc que el paquet pugui ser interceptat. Així, la seva xarxa no obtindrà cap benefici d'usar Kerberos. Per assegurar la seva xarxa amb Kerberos, només ha d'utilitzar les versions kerberizadas de totes les aplicacions client / servidor que enviïn contrasenyes sense xifrar o no utilitzar cap d'aquestes aplicacions a la xarxa.

Implementar i configurar manualment a l'OpenLDAP com Back-End de Kerberos no és tasca fàcil. No obstant això, més endavant veurem que el Samba 4 Active Directory - Domain Controller integra de forma transparent per al sysadmin, un servidor DNS, la Xarxa Microsoft i el seu Controlador de Domini, servidor LDAP com Back-End de gairebé la totalitat dels seus objectes, i a el servei d'autenticació basat en Kerberos com els components fonamentals d'un Active Directory a l'estil Microsoft.

A el dia d'avui no hem tingut la necessitat d'implementar una «Xarxa Kerberizada». Per això és que no escrivim sobre com implementar Kerberos.

Samba 4 Active Directory - Domain Controller

Important:

No ha Millor Documentació que la d'el lloc wiki.samba.org. El sysadmin com cal a si mateix, ha de visitar aquest lloc -en anglès- i navegar per la gran quantitat de pàgines dedicades completament a Samba 4, escrites pel propi Team Samba. No crec hi hagi documentació disponible a Internet que la substitueixi. De passada, observar la quantitat de visites reflectides a la fi de cada pàgina. Exemple d'això és que la seva pàgina principal o «Main Page» es va visitar 276,183 vegades fins al dia d'avui 20 de juny de 2017 a les 10:10 hora estàndard de l'est. A més, la documentació la mantenen molt actualitzada, ja que aquesta pàgina va ser modificada el 6 de juny passat.

de Viquipèdia:

Samba és una implementació lliure de el protocol d'arxius compartits de Microsoft Windows (antigament anomenat SMB, renombrado recentment a CIFS) per a sistemes de tipus UNIX. D'aquesta manera, és possible que ordinadors amb GNU / Linux, Mac OS X o Unix en general es vegin com a servidors o actuïn com a clients en xarxes de Windows. Samba també permet validar usuaris fent de Controlador Principal de Domini (PDC), com a membre de domini i fins i tot com un domini Active Directory per a xarxes basades en Windows; a part de ser capaç de servir cues d'impressió, directoris compartits i autentificar amb el seu propi arxiu d'usuaris.

Entre els sistemes tipus Unix en els quals es pot executar Samba, estan les distribucions GNU / Linux, Solaris i les diferents variants BSD entre les que podem trobar el Mac OS X Server d'Apple.

Samba 4 AD-DC amb el seu DNS Intern

  • Partim d'una instal·lació neta -sense interfície gràficament d'un Debian 8 «Jessie».

comprovacions inicials

root @ màster: ~ # hostname
mestre
root @ màster: ~ # hostname --fqdn
master.swl.fan
root @ màster: ~ # ip addr
1: el: 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 el valid_lft forever preferred_lft forever inet6 :: 1/128 scope host valid_lft forever preferred_lft forever 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 scope global eth0
       valid_lft forever preferred_lft forever inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 scope link valid_lft forever preferred_lft forever
root @ màster: ~ # cat /etc/resolv.conf
search swl.fan nameserver 127.0.0.1
  • Amb que declarem la branca principal només, és més que suficient per als nostres propòsits.
root @ màster: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ Jessie principal
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ Jessie / updates principal

Postfix per Exim i utilitats

root @ màster: ~ # aptitude install postfix htop mc deborphan

  ┌────────────────────────┤ Postfix Configuration ├───────────────────── ────┐ │ clar quin tipus de configuració de servidor de correu que s'ajusta │ │ millor a les seves necessitats. │ │ │ │ Sense configuració: │ │ Manté la configuració actual intacta. │ │ Lloc d'Internet: │ │ El correu s'envia i rep directament utilitzant SMTP. │ │ Internet amb «smarthost»: │ │ El correu es rep directament utilitzant SMTP o executant una │ │ eina com «fetchmail». El correu de sortida s'envia utilitzant │ │ un "smarthost». │ │ Només correu local: │ │ L'únic correu que es lliura és per als usuaris locals. No │ │ hi ha xarxa. │ │ │ │ Tipus genèric de configuració de correu: │ │ │ │ Sense configuració │ │ Lloc d'Internet │ │ Internet amb «smarthost» │ │ Sistema satèl·lit │ │                         Només correu local                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Postfix Configuration ├─────────────────────────┐ │ el «nom de sistema de correu» és el nom de l'domini que s'utilitza │ │ per «qualificar» _TODAS_ les adreces de correu sense un nom de │ │ domini. Això inclou el correu cap i des de «root»: si us plau, no faci │ │ que la seva màquina enviï els correu electrònics des root@example.org a │ │ menys que root@example.org s'ho hagi demanat. │ │ │ │ Altres programes utilitzaran aquest nom. Haurà de ser un únic nom de │ │ domini qualificat (FQDN). │ │ │ │ Per tant, si una adreça de correu a la màquina local és │ │ algo@example.org, El valor correcte per a aquesta opció serà example.org. │ │ │ │ Nom de sistema de correu: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

netegem

root @ màster: ~ # aptitude purge ~ c
root @ màster: ~ # aptitude install -f
root @ màster: ~ # aptitude clean
root @ màster: ~ # aptitude autoclean

Instal·lem requisits per compilar Samba 4 i altres paquets necessaris

root @ màster: ~ # aptitude install acl attr autoconf bison \
build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-user 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 lliureadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto \
xsltproc zlib1g-dev libgpgme11-dev python-GpgME python-m2crypto \
libgnutls28-dbg GnuTLS-dev ldap-utils krb5-config

 ┌───────────────┤ Configurant l'autenticació de Kerberos ├───────────────┐ │ Quan els usuaris intenten usar Kerberos i especifiquen un nom │ │ principal o d'usuari sense aclarir a quin domini administratiu de │ │ Kerberos pertany el principal, el sistema pren el regne │ │ predeterminat.  El regne predeterminat també es pot utilitzar com │ │ el regne d'un servei de Kerberos que s'executi a la màquina local.  │ │ Normalment, el regne defecte és el nom en majúscules de l'│ │ domini de l'DNS local.  │ │ │ │ Regne predeterminat de la versió 5 de Kerberos: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Configurant l'autenticació de Kerberos ├───────────────┐ │ Introduïu els noms dels servidors Kerberos al regne SWL.FAN de │ │ Kerberos, separats per espais.  │ │ │ │ servidors de Kerberos per al seu regne: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Configurant l'autenticació de Kerberos ├───────────────┐ │ Introduïu el nom de servidor administratiu (canvi de contrasenya) │ │ per al regne SWL.FAN de Kerberos.   

El procés anterior es va demorar una mica perquè encara no tenim instal·lat cap servei DNS. No obstant això, va escollir el domini correctament per la configuració de l'arxiu / Etc / hosts. Recordem que a l'arxiu /etc/resolv.conf tenim declarat com a servidor de noms de dominis a la IP 127.0.0.1.

Configurem des d'ara l'arxiu / etc / ldap / ldap / conf

root @ màster: ~ # nano /etc/ldap/ldap.conf
BASE dc = SWL, dc = fan URI ldap: //master.swl.fan

Perquè les consultes mitjançant la comanda ldapsearch realitzades des de l'usuari root siguin de l'tipus ldapsearch -x -W cn = xxxx, Hem de crear el fitxer /root/.ldapsearc amb el següent contingut:

root @ màster: ~ # nano .ldaprc
BINDDN CN = Administrator, CN = Users, DC = SWL, DC = fan

El sistema d'arxius ha de suportar ACL - Access Control List

root @ màster: ~ # nano / etc / fstab
# / Etc / fstab: static file system information. # # Utilitza 'blkid' to print the Universally unique identifier for a # device; this may be used with UUID = es a more robust way to name devices # that works even if disks are added and removed. See fstab (5). # # # / Was on / dev / sda1 during installation UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, errors = remount-ro 0 1
# Swap was on / dev / sda5 during installation UUID = cb73228a-615d-4804-9877-3ec225e3ae32 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

root @ màster: ~ # mount -a

root @ màster: ~ # touch testing_acl.txt
root @ màster: ~ # setfattr -n user.test -v test testing_acl.txt
root @ màster: ~ # setfattr -n security.test -v test2 testing_acl.txt
root @ màster: ~ # getfattr -d testing_acl.txt
# File: testing_acl.txt user.test = "test"

root @ màster: ~ # getfattr -n security.test -d testing_acl.txt
# File: testing_acl.txt security.test = "test2"

root @ màster: ~ # setfacl -mg: adm: rwx testing_acl.txt

root @ màster: ~ # getfacl testing_acl.txt
# File: testing_acl.txt # owner: root # group: root user :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Obtenim la font de l'Samba 4, la compilem, i la instal·lem

És molt recomanable descarregar l'arxiu font de la versió Estable des del lloc https://www.samba.org/. En el nostre exemple descarreguem la versió samba-4.5.1.tar.gz cap a la carpeta / opt.

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

Opcions de configuració

Si volem personalitzar les opcions de configuració, executem:

root @ màster: /opt/samba-4.5.1# ./configure --help

i amb molt de compte seleccionar les que necessitem. És recomanable comprovar si el paquet descarregat es pot instal·lar en la distribució Linux que estem emprant, que en el nostre cas és Debian 8.6 Jessie:

root @ màster: /opt/samba-4.5.1# . / Configure distcheck

Configurem, Compilem i Instal·lem samba-4.5.1

  • A partir dels requisits abans instal·lats i dels 8604 fitxers (que conformen el compactat samba-4.5.1.tar.gz) que pesen uns 101.7 megues -incloent a les carpetes source3 i source4 que pesen uns 61.1 megas- obtindrem un substitut de un Active Directory a l'estil Microsoft, d'una qualitat i estabilitat més que acceptables per a qualsevol ambient de producció. Hem de destacar la tasca de l'Team Samba en lliurar-nos el Programari Lliure Samba 4.

Les comandes a continuació són els clàssics per instal·lar paquets a partir de les seves fonts. Hem de ser pacients mentre dura tot el procés. És l'única manera d'obtenir resultats vàlids i correctes.

root @ màster: /opt/samba-4.5.1# ./configure --with-systemd --disable-cups
root @ màster: /opt/samba-4.5.1# fer
root @ màster: /opt/samba-4.5.1# make install

Durant el procés de la comanda fer, Podem observar que es compilen les fonts de l'Samba 3 i de l'Samba 4. És per això que el Team Samba afirma que la seva versió 4 és l'actualització natural de la versió 3, tant per controladors de domini basats en Samba 3 + OpenLDAP, com servidors de fitxers, o versions anteriors de Samba 4.

Provisioning Samba

Emprarem com DNS el SAMBA_INTERNAL. En la https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End trobarem més informació. Quan ens demanin la contrasenya de l'usuari Administrator, hem de teclejar una de longitud mínima de 8 caràcters i més, amb lletres -mayúsculas i minúscules- i números.

Abans de procedir a l'aprovisionament i per facilitar-nos la vida, afegim el camí dels executables de Samba al nostre arxiu .bashrc, Després tanquem i tornem a iniciar sessió.

root @ màster: ~ # nano .bashrc
# ~ / .Bashrc: executed by bash (1) for non-login shells. # Note: PS1 and umask are already setembre in / etc / profile. You should not # need this unless you want different defaults for root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # You may uncomment the following lines if you want `ls 'to be colorized: # export LS_OPTIONS =' - color = auto '# eval "` dircolors` "# àlies ls =' ls $ LS_OPTIONS '# àlies ll =' ls $ LS_OPTIONS -l '# àlies l =' ls $ LS_OPTIONS -la '# # Some more àlies to avoid making mistakes : # àlies rm = 'rm -i' # àlies cp = 'cp -i' # àlies mv = 'mv -i'
declari -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ màster: ~ # exit logout Connection to màster tancats. Xeon @ sysadmin: ~ $ ssh root @ màster

root @ màster: ~ # samba-tool domain provision --use-rfc2307 --interactive
Realm [SWL.FAN]: SWL.FAN
 Domain [SWL]: SWL
 Server Role (dc, member, standalone) [dc]: dc
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.10.5]: 8.8.8.8
Contrasenya de l'administrador: TuPassword2017
Reescriu la contrasenya: TuPassword2017
Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC = SWL, DC = fan Adding configuration contenidors Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers modifying display specifiers Adding users contenidors modifying users contenidors Adding computers contenidors modifying computers contenidors Setting up sam.ldb data Setting up well known security Principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN = MicrosoftDNS, CN = System, DC = SWL, DC = fan Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking es synchronized Fixing provision GUIDsA Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Setting up mentida ip server settings Onze the above files are installed, your Samba4 server will be ready to use Server Role: activi directory domain controller Hostname: màster NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

No oblidem copiar el fitxer de configuració de Kerberos tal com indica la sortida de l' Provisioning:

root @ màster: ~ # cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Per no teclejar la comanda samba-tool amb el seu nom complet, vam crear un enllaç simbòlic amb el nom curt eina:

root @ màster: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / tool

Instal·lem el NTP

Peça fonamental en un Active Directory és el Servico de Temps de Xarxa. Com l'autenticació es realitza via Kerberos i els seus tiquets, la sincronització de l'hora amb el Samba 4 AD-DC és vital.

root @ màster: ~ # aptitude install ntp
root @ màster: ~ # mv /etc/ntp.conf /etc/ntp.conf.original

root @ màster: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 192.168.10.1 restrict -4 default kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery restrict default mssntp restrict 127.0.0.1 restrict :: 1 broadcast 192.168.10.255

root @ màster: ~ # service ntp restart
root @ màster: ~ # service ntp estatus

root @ màster: ~ # tail -f / var / log / syslog

Si a l'examinar el syslog mitjançant la comanda anterior o mitjançant journalctl -f rebem el missatge:

Juny 19 12:13:21 màster ntpd_intres [1498]: parent died before we finished, exiting

hem de reiniciar el servei i tornar a provar. Ara vam crear la carpeta ntp_signd:

root @ màster: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: no es pot accedir a / usr / local / samba / var / lib / ntp_signd: No existeix el fitxer o directori

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

# Tal com es demana en samba.wiki.org
root @ màster: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 juny 19 12:21 / usr / local / samba / var / lib / ntp_signd

Configurem l'inici de Samba mitjançant el systemd

root @ màster: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Service] Type = 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] WantedBy = multi-user.target

root @ màster: ~ # systemctl enable samba-ad-dc
root @ màster: ~ # reboot

root @ màster: ~ # systemctl per a l'estat samba-ad-dc
root @ màster: ~ # systemctl estatus ntp

Ubicació dels arxius de l'Samba 4 AD-DC

TOTS -menys el recentment creat samba-ad-dc.service- els arxius es troben a:

root @ màster: ~ # ls -l / usr / local / samba /
total 32 drwxr-sr-x 2 root staff 4096 juny 19 11:55 paperera
drwxr-sr-x 2 root staff 4096 juny 19 11:50 etc
drwxr-sr-x 7 root staff 4096 juny 19 11:30 incloure
drwxr-sr-x 15 root staff 4096 juny 19 11:33 lib
drwxr-sr-x 7 root staff 4096 juny 19 12:40 privat
drwxr-sr-x 2 root staff 4096 juny 19 11:33 sbin
drwxr-sr-x 5 root staff 4096 juny 19 11:33 part
drwxr-sr-x 8 root staff 4096 juny 19 12:28 var

a el millor estil d'UNIX. Sempre és recomanable navegar per les diferents carpetes i examinar els seus continguts.

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

root @ màster: ~ # nano /usr/local/samba/etc/smb.conf 
# Global parameters [global] NetBIOS name = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 server services = s3fs, rpc, NBT, wrepl, ldap, cldap, KDC, drepl, winbindd, ntp_signd, KCC, dnsupdate , dns server role = activi directory domain controller allow dns updates = secure only idmap_ldb: usi rfc2307 = yes idmap config *: backend = TDB idmap config *: range = 1000000-1999999 ldap server requereix strong auth = no printcap name = / dev / null [Netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts read only = No [SYSVOL] path = / usr / local / samba / var / locks / SYSVOL read only = No

root @ màster: ~ # testparm
Load smb config files from /usr/local/samba/etc/smb.conf Processing section "[Netlogon]" Processing section "[SYSVOL]" Loaded services file OK. Server role: ROLE_ACTIVE_DIRECTORY_DC Press enter to see a dump of your service definitions # Global parameters [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 ldap server requereix strong auth = No passdb backend = samba_dsdb server role = activi directory domain controller rpc_server: tcpip = no rpc_daemon: spoolssd = embedded rpc_server: spoolss = embedded rpc_server: winreg = embedded rpc_server: ntsvcs = embedded rpc_server: eventlog = embedded rpc_server: srvsvc = embedded rpc_server: svcctl = embedded rpc_server: default = external winbindd: faci servir external pipes = true idmap config *: range = 1000000-1999999 idmap_ldb: usi rfc2307 = yes idmap config *: backend = TDB map arxivi = no map readonly = no store 4 attributes = Yes vfs objects = dfs_sambaXNUMX acl_xattr [Netlogon] path = / usr / local / samba / var / locks / SYSVOL / swl.fan / scripts read only = No [SYSVOL] path = / usr / local / samba / var / locks / SYSVOL read only = No

comprovacions mínimes

root @ màster: ~ # tool domain level xou
Domain and forest function level for domain 'DC = SWL, DC = fan' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2

root @ màster: ~ # ldapsearch -x -W

root @ màster: ~ # tool dbcheck
Checking 262 objects Checked 262 objects (0 errors)

root @ màster: ~ # kinit Administrator
password for Administrator@SWL.FAN: 
root @ màster: ~ # klist -f
Ticket memòria cau: FILE: / tmp / krb5cc_0
Default principal: Administrator@SWL.FAN

Valid starting Expires Service principal 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    Renew until 20/06/17 12:53:18, Flags: RIA

root @ màster: ~ # kdestroy
root @ màster: ~ # klist -f
klist: Credentials memòria cau file '/ tmp / krb5cc_0' not found

root @ màster: ~ # smbclient -L localhost -U%
Domain = [SWL] US = [Windows 6.1] Server = [Samba 4.5.1] Sharename Type Comment --------- ---- ------- Netlogon Disk SYSVOL Disk IPC $ IPC IPC Service (Samba 4.5.1) Domain = [SWL] US = [Windows 6.1] Server = [Samba 4.5.1] Server Comment --------- ------- Workgroup Master ---- ----- -------

root @ màster: ~ # smbclient // localhost / Netlogon -UAdministrator -c 'ls'
Enter Administrator 's password: Domain = [SWL] US = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Mon juny 19 11:50:52 2017 .. D 0 Mon juny 19 11:51:07 2017 19091584 blocks of size 1024. 16198044 blocks available

root @ màster: ~ # tool dns serverinfo màster -U administrator

root @ màster: ~ # host -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan has SRV rècord 0 master.swl.fan.

root @ màster: ~ # host -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan has SRV rècord 0 100 master.swl.fan.

root @ màster: ~ # host -t A master.swl.fan
master.swl.fan has address 192.168.10.5

root @ màster: ~ # host -t SOA swl.fan
swl.fan has SOA rècord master.swl.fan. hostmaster.swl.fan. 1 900 600

root @ màster: ~ # host -t NS swl.fan
swl.fan name server master.swl.fan.

root @ màster: ~ # host -t MX swl.fan
swl.fan has no MX record

root @ màster: ~ # samba_dnsupdate --verbose

root @ màster: ~ # tool user list
Administrator krbtgt Guest

root @ màster: ~ # tool group list
# La sortida és un munt de grups. ;-)

Administrem a l'Samba 4 AD-DC acabat d'instal·lar

Si volem modificar l'expiració en dies de la contrasenya de l'administrador; la complexitat de les contrasenyes; la longitud mínima de la contrasenya; la durada -en dies- mínima i màxima de la contrasenya; i canviar la contrasenya de l'administrador declarada durant el Provisioning, Hem d'executar les següents comandes amb els valors ajustats a les seves necessitats:

root @ màster: ~ # tool
Usage: samba-tool Main samba administration tool. Options: -h, --help show aquesta ajuda message and exit Version options: -V, --version Display versio number Disponible subcommands: dbcheck - Check local AD base de dades for errors. delegation - Delegació del management. dns - Domain Name Service (DNS) management. domain - Domain management. Drs - Directory Replication Services (DRS) management. dsacl - DS ACLs manipulation. fsmo - Flexible Single Master Operations (FSMO) rols management. GPO - Group Policy Object (GPO) management. group - Group management. ldapcmp - Compari two ldap databases. ntacl - NT ACLs manipulation. processes - List processes (to aid debugging on systems without setproctitle). rodc - Read-Only Domain Controller (RODC) management. sites - Sites management. spn - Service Inici Name (SPN) management. testparm - Syntax check the configuration file. time - Retrieve the time on a server. user - User management. For more help on a specific subcommand, please type: samba-tool (-H | --help)

root @ màster: ~ # tool user setexpiry administrator --noexpiry
root @ màster: ~ # tool domain passwordsettings setembre --min-pwd-length = 7
root @ màster: ~ # tool domain passwordsettings setembre --min-pwd-age = 0
root @ màster: ~ # tool domain passwordsettings setembre --max-pwd-age = 60
root @ màster: ~ # tool user setpassword --filter = sAMAccountName = Administrator --newpassword = Passw0rD

Afegim diversos registres DNS

root @ màster: ~ # tool dns
Usage: samba-tool dns Domain Name Service (DNS) management. Options: -h, --help show aquesta ajuda message and exit Disponible subcommands: add - Afegir un DNS record delete - Delete a DNS record query - Query a name. roothints - Query root hints. serverinfo - Query for Server information. update - Update a DNS record zonecreate - Create a zone. zonedelete - Delete a zone. zoneinfo - Query for zone information. zonelist - Query for zones. For more help on a specific subcommand, please type: samba-tool dns (-H | --help)

Servidor de correu

root @ màster: ~ # tool dns add màster swl.fan electrònic A 192.168.10.9 -U administrator
root @ màster: ~ # tool dns add màster swl.fan swl.fan MX "mail.swl.fan 10" -U administrator

IP fixes d'altres servidors

root @ màster: ~ # tool dns add màster swl.fan sysadmin A 192.168.10.1 -U administrator
root @ màster: ~ # tool dns add màster swl.fan fileserver A 192.168.10.10 -U administrator
root @ màster: ~ # tool dns add màster swl.fan intermediari A 192.168.10.11 -U administrator
root @ màster: ~ # tool dns add màster swl.fan xat A 192.168.10.12 -U administrator

zona Inversa

root @ màster: ~ # tool dns zonecreate màster 10.168.192.in-addr.arpa -U administrator
Password for [SWL \ administrator]: Zone 10.168.192.in-addr.arpa created successfully

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

comprovacions

root @ màster: ~ # tool dns query màster swl.fan mail ALL -U administrator
Password for [SWL \ administrator]: Name =, Records = 1, Children = 0 A: 192.168.10.9 (flags = f0, serial = 2, ttl = 900)

root @ màster: ~ # host màster
master.swl.fan has address 192.168.10.5
root @ màster: ~ # host sysadmin
sysadmin.swl.fan has address 192.168.10.1
root @ màster: ~ # host mail
mail.swl.fan has address 192.168.10.9
root @ màster: ~ # host xat
chat.swl.fan has address 192.168.10.12
root @ màster: ~ # host servidor intermediari
proxy.swl.fan has address 192.168.10.11
root @ màster: ~ # host fileserver
fileserver.swl.fan has address 192.168.10.10
root @ màster: ~ # host 192.168.10.1
1.10.168.192.in-addr.arpa domain name pointer sysadmin.swl.fan.
root @ màster: ~ # host 192.168.10.5
5.10.168.192.in-addr.arpa domain name pointer master.swl.fan.
root @ màster: ~ # host 192.168.10.9
9.10.168.192.in-addr.arpa domain name pointer mail.swl.fan.
root @ màster: ~ # host 192.168.10.10
10.10.168.192.in-addr.arpa domain name pointer fileserver.swl.fan.
root @ màster: ~ # host 192.168.10.11
11.10.168.192.in-addr.arpa domain name pointer proxy.swl.fan.
root @ màster: ~ # host 192.168.10.12
12.10.168.192.in-addr.arpa domain name pointer chat.swl.fan.

per Curiosos

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

afegim usuaris

root @ màster: ~ # tool user
Usage: samba-tool user User management. Options: -h, --help show aquesta ajuda message and exit Disponible subcommands: add - Create a new user. create - Create a new user. delete - Delete a user. disable - Disable an user. enable - Enable an user. getpassword - Get the password fields of a user / computer account. list - List all users. password - Change password for a user account (the one provided in authentication). setexpiry - Joc the expiration of a user account. setpassword - Joc or reset the password of a user account. syncpasswords - Sync the password of user accounts. For more help on a specific subcommand, please type: samba-tool user (-H | --help)

root @ màster: ~ # tool user create gambades Trancos01
User 'gambades' created successfully
root @ màster: ~ # tool user create Gandalf Gandalf01
User 'Gandalf' created successfully
root @ màster: ~ # tool user create legolas Legolas01
User 'legolas' created successfully
root @ màster: ~ # tool user list
Administrator Gandalf legolas gambades krbtgt Guest

Administració mitjançant interfície gràfica o via client web

Visiteu wiki.samba.org per a una detallada informació sobre com instal·lar l'eina de Microsoft RSAT o Remote Server Administració Tools. Si No requereix de les clàssiques polítiques que brinda un Microsoft Active Directory, pot instal·lar el paquet ldap-account-manager el qual ofereix una senzilla interfície per a l'administració mitjançant un navegador web.

En els sistemes operatius Windows Server s'inclou el paquet de programes Microsoft Remote Server Administration Tools (RSAT).

Unim a l'domini a un client Windows 7 amb nom «seven»

Com que no tenim un servidor DHCP a la xarxa, el primer que hem de fer és configurar la targeta de xarxa de client amb una IP fixa, declarar que el DNS primari serà la IP de l' samba-ad-dc, I comprovar que està activada l'opció «Registrar la direcció d'aquesta connexió en el DNS». No és ociós comprovar que el nom «07:00»No està registrat i tot en el DNS Intern de Samba.

Després que unim l'equip a l'domini i el reiniciem, intentem iniciar sessió amb l'usuari «trancs«. Comprovarem que tot funciona OK. També és recomanable revisar els logs de l'Client Windows i comprovar com es sincronitza l'hora correctament.

Els Administradors amb alguna experiència en Windows, trobaran que qualsevol comprovació que facin en el client, llançarà resultats satisfactoris.

Resum

Espero que sea útil el artículo a los lectores de la Comunidad DesdeLinux.

Adéu!


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Gonzalo Martínez va dir

    Article llarg però detallat, molt bon pas a pas de com fer tot.

    Destaco NIS, la veritat tot i que es de la seva existència, mai vaig saber bé el seu funcionament, ja que per ser sincer sempre em va donar la impressió que estava pràcticament mort a la banda de LDAP i Samba 4.

    PD: Felicitacions pel teu nou projecte personal! Una llàstima que no vagis a seguir escrivint aca, però almenys hi ha un lloc on seguir-te.

  2.   HO2Gi va dir

    Enorme tutorial com sempre als meus favorits, salutacions fic.
    Felicitats pel projecte.

  3.   IWO va dir

    Genial la secció de l'NIS, em solidaritzo amb Gonzalo Martinez, el coneixia sumàriament però no tenia idea de com implementar-lo i en quines situacions s'utilitza.
    Gràcies un cop per tremend «tronc» d'articulo teòric i pràctic.
    Per últim nous èxits en el teu nou projecte «gigainside».

  4.   federico va dir

    Moltes Gràcies a tots per fer comentaris !!!.
    Salutacions

  5.   mussol va dir

    el smb.conf que ensenyes no tenen cap enllaç amb LDAP, és així a propòsit o em deixo alguna cosa?

  6.   fic va dir

    mussol: Es tracta d'un Samba 4 Active Directory Domain Controler que ja té el seu servidor LDAP incorporat.

  7.   Vincent va dir

    Podries comentar com uniir 4 mac (apple) a un samba XNUMX AD-DC?
    Gràcies.

  8.   jramirez va dir

    Que tal;

    Gràcies pel manual, aquesta genial. Tinc un dubte sobre un missatge q em apareix.

    root @ AD: ~ # nping -tcp -p 53 -c 3 ad.rjsolucionessac.com
    Failed to resolve given hostname / IP: ad.rjsolucionessac.com. Note that you can not use '/ mask' AND '1-4,7,100-' style IP ranges
    Can not find a valid target. Please make sure the specified hosts are either IP addresses in standard notation or hostnames that can be resolved with DNS
    root @ AD: ~ #