{"id":461,"date":"2016-06-17T12:44:49","date_gmt":"2016-06-17T12:44:49","guid":{"rendered":"https:\/\/edulab.unitn.it\/tecnici\/?p=461"},"modified":"2020-01-14T09:51:02","modified_gmt":"2020-01-14T09:51:02","slug":"debian-active-directory","status":"publish","type":"post","link":"https:\/\/edulab.unitn.it\/tecnici\/debian-active-directory\/","title":{"rendered":"Debian &amp; Active Directory"},"content":{"rendered":"<p>NB: Istruzioni e configurazioni valide per il dominio UNITN configurazione LDSS e fino a debian 9<\/p>\n<h3>Attori:<\/h3>\n<p style=\"padding-left: 30px\">Macchina da mettere in dominio: \u00a0sci-ldtest.unitn.it \u00a0 192.168.121.30<\/p>\n<p style=\"padding-left: 30px\">Server di Dominio e DNS:\u00a0dcunitn01.unitn.it 192.168.206.99\u00a0, dcunitn02.unitn.it\u00a0192.168.119.99<\/p>\n<p style=\"padding-left: 30px\">Server delle home:\u00a0sci-aresw.unitn.it\u00a0192.168.131.2<\/p>\n<h2>Pacchetti<\/h2>\n<p style=\"padding-left: 30px\">Installa i pacchetti:<\/p>\n<pre style=\"padding-left: 30px\"># apt-get install krb5-user samba ntp sssd adcli<\/pre>\n<p>Metti UNITN.IT nel Default Kerberos realname:<\/p>\n<h2>Configurazioni<\/h2>\n<h4 style=\"padding-left: 30px\">Nome macchina:<\/h4>\n<p><strong>NOTA<\/strong>: il nome meglio tutto minuscolo<\/p>\n<p style=\"padding-left: 30px\">Diamo un nome appropriato alla nostra macchina editando il file <strong>\/etc\/hostname<\/strong><\/p>\n<pre style=\"padding-left: 30px\">sci-ldtest<\/pre>\n<p style=\"padding-left: 30px\">sistemiamo anche il file<strong> \/etc\/hosts<\/strong> che dovrebbe essere circa:<\/p>\n<pre style=\"padding-left: 30px\">127.0.0.1 localhost\r\n127.0.1.1 sci-ldtest.unitn.it sci-ldtest\r\n\r\n# The following lines are desirable for IPv6 capable hosts\r\n::1 localhost ip6-localhost ip6-loopback\r\nff02::1 ip6-allnodes\r\nff02::2 ip6-allrouters\r\n\r\n# Aggiungi questa riga se la machina non \u00e8 nel DNS\r\n#192.168.121.30 sci-ldDTest.unitn.it sci-ldDTest<\/pre>\n<h4 style=\"padding-left: 30px\">Time:<\/h4>\n<p style=\"padding-left: 30px\">Sincroniziamo l&#8217;ora con i server di dominio (altrimanti kerberos non funziona). Editiamo il file <strong>\/etc\/ntp.conf\u00a0<\/strong>commentiamo i server di debian e aggiungiamo quello di UNITN<\/p>\n<pre style=\"padding-left: 30px\">#server 0.debian.pool.ntp.org iburst\r\n#server 1.debian.pool.ntp.org iburst\r\n#server 2.debian.pool.ntp.org iburst\r\n#server 3.debian.pool.ntp.org iburst\r\n\r\nserver unitn.it #server di unitn<\/pre>\n<h4 style=\"padding-left: 30px\">Kerberos:<\/h4>\n<p style=\"padding-left: 30px\">Modifichiamo il il file <strong>\/etc\/krb5.conf<\/strong> lasciando solo le seguenti informazioni:<\/p>\n<pre style=\"padding-left: 30px\">[libdefaults]\r\n default_realm = UNITN.IT\r\n rdns = false\r\n\r\n[domain_realm]\r\n .unitn.it = UNITN.IT\r\n unitn.it = UNITN.IT\r\n\r\n[realms]\r\n UNITN.IT = {\r\n kdc = 192.168.206.99\r\n kdc = 192.168.119.99\r\n }<\/pre>\n<h4 style=\"padding-left: 30px\">DNS:<\/h4>\n<p style=\"padding-left: 30px\">modifichiamo il file\u00a0<strong>\/etc\/resolv.conf<\/strong>\u00a0come segue:<\/p>\n<pre style=\"padding-left: 30px\"># Generated by NetworkManager\r\nsearch unitn.it\r\nnameserver 192.168.206.99\r\nnameserver 192.168.119.99<\/pre>\n<h4 style=\"padding-left: 30px\">Samba:<\/h4>\n<p style=\"padding-left: 30px\">Modifichiamo il file\u00a0<strong>\/etc\/samba\/smb.conf<\/strong>\u00a0 nel seguente modo:<\/p>\n<pre style=\"padding-left: 30px\">[global]\r\n workgroup = UNITN\r\n realm = UNITN.IT\r\n security = ADS\r\n kerberos method = secrets only\r\n syslog = 0\r\n machine password timeout = 0\r\n template homedir = \/home\/%u\r\n template shell = \/bin\/bash\r\n winbind use default domain = Yes\r\n winbind expand groups = 0\r\n winbind refresh tickets = Yes\r\n idmap config * : range = 10000 - 1000000\r\n idmap config UNITN:range = 10000 - 1000000\r\n idmap config UNITN:backend = rid\r\n idmap config * : backend = tdb\r\n password server = dcunitn01, dcunitn02<\/pre>\n<p style=\"padding-left: 30px\"><strong>NOTA<\/strong>: \u00a0la versione di samba di Debian 8 ha un bacco che richiede un comando in pi\u00f9 durante il join al dominio per sistemare il keytab.<\/p>\n<p style=\"padding-left: 30px\">dalle versioni successive di samba ( es Ubuntu 16.04) basta modificare la riga del kerberos method come segue e tutto funziona:<\/p>\n<pre style=\"padding-left: 30px\">kerberos method = secrets and keytab<\/pre>\n<h4 style=\"padding-left: 30px\">sssd:<\/h4>\n<p style=\"padding-left: 30px\">Crea il file\u00a0<strong> \/etc\/sssd\/sssd.conf<\/strong>\u00a0 contenente:<\/p>\n<pre style=\"padding-left: 30px\">[sssd]\r\nservices = nss, pam\r\nconfig_file_version = 2\r\ndomains = unitn.it\r\n#debug_level = 8\r\n\r\n\r\n[domain\/unitn.it]\r\nad_domain = unitn.it\r\nkrb5_realm = UNITN.IT\r\nid_provider = ad\r\nldap_id_mapping = True\r\nldap_idmap_default_domain_sid = S-1-5-21-343818398-764733703-1708537768\r\nldap_idmap_range_min = 10000\r\nldap_idmap_range_size = 1000000\r\nuse_fully_qualified_names = False\r\ncache_credentials = True\r\nkrb5_store_password_if_offline = True\r\ndefault_shell = \/bin\/bash\r\nfallback_homedir = \/home\/%u\r\nldap_group_nesting_level = 0\r\nignore_group_members = True\r\naccess_provider = simple\r\nad_server = dcunitn01,dcunitn02<\/pre>\n<p><strong>NOTA<\/strong>: Cambia i permessi del file in 600<\/p>\n<h4 style=\"padding-left: 30px\">Setup Authentication:<\/h4>\n<p>Il file<strong>\u00a0\/etc\/nsswitch.conf<\/strong> deve contenere:<\/p>\n<pre style=\"padding-left: 30px\">passwd: compat sss\r\ngroup: compat sss\r\nshadow: compat sss\r\n\r\nhosts: files dns\r\nnetworks: files\r\n\r\nprotocols: db files\r\nservices: db files sss\r\nethers: db files\r\nrpc: db files\r\n\r\nnetgroup: nis sss\r\nsudoers: files ss\r\n<\/pre>\n<p>Il file<strong style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height: 1.5\">\u00a0\/etc\/idmapd.conf<\/strong><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height: 1.5\">\u00a0 deve contenere:<\/span><\/p>\n<pre style=\"padding-left: 30px\">[General]\r\n\r\nVerbosity = 0\r\nPipefs-Directory = \/run\/rpc_pipefs\r\n# set your own domain here, if id differs from FQDN minus hostname\r\nDomain = unitn.it\r\n\r\n[Mapping]\r\n\r\nNobody-User = nobody\r\nNobody-Group = nogroup<\/pre>\n<h4 style=\"padding-left: 30px\">PAM<\/h4>\n<p style=\"padding-left: 30px\">Il file\u00a0<strong>\/etc\/pam.d\/common-auth<\/strong>\u00a0deve contenere:<\/p>\n<pre style=\"padding-left: 30px\"># \/etc\/pam.d\/common-auth - authentication settings common to all services\r\n#\r\n# This file is included from other service-specific PAM config files,\r\n# and should contain a list of the authentication modules that define\r\n# the central authentication scheme for use on the system\r\n# (e.g., \/etc\/shadow, LDAP, Kerberos, etc.). The default is to use the\r\n# traditional Unix authentication mechanisms.\r\n#\r\n# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.\r\n# To take advantage of this, it is recommended that you configure any\r\n# local modules either before or after the default block, and use\r\n# pam-auth-update to manage selection of other modules. See\r\n# pam-auth-update(8) for details.\r\n\r\n# here are the per-package modules (the \"Primary\" block)\r\nauth [success=2 default=ignore] pam_unix.so nullok_secure\r\nauth [success=1 default=ignore] pam_sss.so use_first_pass\r\n# here's the fallback if no module succeeds\r\nauth requisite pam_deny.so\r\n# prime the stack with a positive return value if there isn't one already;\r\n# this avoids us returning an error just because nothing sets a success code\r\n# since the modules above will each just jump around\r\nauth required pam_permit.so\r\n# and here are more per-package modules (the \"Additional\" block)\r\nauth optional pam_cap.so\r\n# end of pam-auth-update config<\/pre>\n<h4 style=\"padding-left: 30px\">NFS:<\/h4>\n<p style=\"padding-left: 30px\">Modifica le opzioni nel file\u00a0<strong>\/etc\/default\/nfs-common<\/strong>\u00a0come segue:<\/p>\n<pre style=\"padding-left: 30px\"># Do you want to start the statd daemon? It is not needed for NFSv4.\r\n<strong>NEED_STATD=yes<\/strong>\r\n\r\n# Options for rpc.statd.\r\n# Should rpc.statd listen on a specific port? This is especially useful\r\n# when you have a port-based firewall. To use a fixed port, set this\r\n# this variable to a statd argument like: \"--port 4000 --outgoing-port 4001\".\r\n# For more information, see rpc.statd(8) or http:\/\/wiki.debian.org\/SecuringNFS\r\nSTATDOPTS=\r\n\r\n# Do you want to start the idmapd daemon? It is only needed for NFSv4.\r\n<strong>NEED_IDMAPD=yes<\/strong>\r\n\r\n# Do you want to start the gssd daemon? It is required for Kerberos mounts.\r\n<strong>NEED_GSSD= yes<\/strong><\/pre>\n<p>A questo punto \u00e8 pi\u00f9 veloce fare un riavvio della macchina che riavvirare i singoli servizi!!!!!<\/p>\n<h2>Join<\/h2>\n<p style=\"padding-left: 30px\">Per testare l&#8217;autenticazione kerberos (facoltativo):<\/p>\n<pre style=\"padding-left: 30px\">kinit [domai_user]@UNITN.IT<\/pre>\n<p style=\"padding-left: 30px\">Mettere la password e se non ci sono errori procedere con il join:<\/p>\n<pre style=\"padding-left: 30px\">adcli join -D unitn.it -U <strong>[Domain_Administrator]<\/strong> -S <strong>dcunitn01<\/strong> -H $(hostname --fqdn) -O \"<strong>OU=Linux,OU=LD,OU=Computers,OU=Scienze,OU=Unitn,dc=unitn,dc=it<\/strong>\" --user-principal\r\n<\/pre>\n<p style=\"padding-left: 30px\">Le parti in neretto vanno sostituite con i giusti valori a seconda dei casi&#8230;<\/p>\n<p style=\"padding-left: 30px\">Visto il bacco nella versione di samba di Debian 8 eseguire anche il comando:<\/p>\n<pre style=\"padding-left: 30px\">net ads keytab create -P<\/pre>\n<p style=\"padding-left: 30px\">Si ottiene in risposta un Warning ma tutto funziona a dovere.<\/p>\n<p style=\"padding-left: 30px\">Prova ad eseguire il comando\u00a0klist -k per vedere cosa contiene il keytab<\/p>\n<p style=\"padding-left: 30px\">Esegui il comando:<\/p>\n<pre style=\"padding-left: 30px\">timedatectl set-local-rtc 1<\/pre>\n<p style=\"padding-left: 30px\">Per fare un test fare un ssh con un utente di dominio alla macchina e vedere se logga:<\/p>\n<pre style=\"padding-left: 30px\">ssh [Domain_user]@localhost<\/pre>\n<h2>Home e software remoto<\/h2>\n<p style=\"padding-left: 30px\">A questo punto se tutto \u00e8 andato bene possiamo montare le home\u00a0e le cartelle di rete\u00a0modificando il file <strong>\/etc\/fstab<\/strong>:<\/p>\n<pre style=\"padding-left: 30px\">sci-ares.unitn.it:\/local\/local-ubuntu \/usr\/local nfs sec=sys 0 0\r\n192.168.121.3:\/mnt\/Linux \/usr\/LDSS nfs sec=sys 0 0\r\nsci-ares.unitn.it:\/home \/home nfs sec=krb5 0 0<\/pre>\n<p style=\"padding-left: 30px\">e se tutto funziona con un mount -a si montano le home e il lavoro \u00e8 finito&#8230;.<\/p>\n<p style=\"padding-left: 30px\">aaa<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NB: Istruzioni e configurazioni valide per il dominio UNITN configurazione LDSS e fino a debian 9 Attori: Macchina da mettere in dominio: \u00a0sci-ldtest.unitn.it \u00a0 192.168.121.30 Server di Dominio e DNS:\u00a0dcunitn01.unitn.it [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-461","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/posts\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":34,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"predecessor-version":[{"id":987,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/posts\/461\/revisions\/987"}],"wp:attachment":[{"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edulab.unitn.it\/tecnici\/wp-json\/wp\/v2\/tags?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}