User Tools

Site Tools


doc:appunti:linux:sa:nis

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:nis [2013/01/09 12:04] – [Directory home su NFS] niccolodoc:appunti:linux:sa:nis [2020/12/16 16:22] – [NIS users unable to poweroff/reboot or manage printers] niccolo
Line 82: Line 82:
 </file> </file>
  
-Per fare in modo che **ypinit** riesca a generare i database necessari bisogna provvedere i seguenti file:+Per fare in modo che **ypinit** riesca a generare i database necessari bisogna creare i seguenti file nella directory **/var/yp/ypfiles/**:
  
-  * group +group      | Inizialmente vuoto.  | 
-  * hosts +^ hosts      | Contiene almeno una riga per 127.0.0.1 localhost.  | 
-  * netgroup +^ netgroup   | Copiato da ''/etc/netgroup'' 
-  passwd +passwd     | Inizialmente vuoto.  | 
-  protocols +^ protocols  | Copiato da ''/etc/protocols'' | 
-  * rpc +^ rpc        | Copiato da ''/etc/rpc'' | 
-  * services +^ services   | Copiato da ''/etc/services'' 
-  shadow+shadow     | Inizialmente vuoto.  |
  
 Dopo aver modificato il contenuto di tali file bisogno aggiornare lo stato del server NIS: Dopo aver modificato il contenuto di tali file bisogno aggiornare lo stato del server NIS:
Line 104: Line 104:
 Si installa il pacchetto **nis**. Chiunque voglia essere NIS client (eventualmente anche il NIS server stesso) deve impostare **''NISCLIENT=true''** nel file **''/etc/default/nis''**. Si installa il pacchetto **nis**. Chiunque voglia essere NIS client (eventualmente anche il NIS server stesso) deve impostare **''NISCLIENT=true''** nel file **''/etc/default/nis''**.
  
-Per integrare gli utenti e i gruppi NIS in quelli standard unix si deve modificare **''/etc/passwd''** aggiungendo la riga:+===== Name Service Switch =====
  
-<file+La **GNU C Library** fornisce i servizi ad esempio per avere l'elenco degli utenti. Bisogna **integrare** gli utenti standard **Unix** con quelli **NIS**, il file di configurazione da verificare è **/etc/nsswitch.conf**.
-+:::::: +
-</file>+
  
-Analogamente in **''/etc/shadow''** e **''/etc/group''** si deve mettere rispettivamente:+=== Integrazione in modalità "compat" ===
  
-<file> +Per integrare gli utenti e i gruppi NIS in quelli standard unix si devono modificare i file **''/etc/passwd''**, **''/etc/shadow''** e **''/etc/group''** aggiungendo le seguenti righe rispettivamente: 
-+:::::::: + 
-</file>+<code>+::::::</code
 +<code>+::::::::</code> 
 +<code>+:::</code> 
 + 
 +Verificare nel file **/etc/nsswitch.conf** che i servizi **passwd**, **group**, e **shadow** includano la sorgente **compat**, che significa utilizzare la sorgente **files** (i tradizionali file Unix ''/etc/passwd'', ecc) con l'estensione NIS dovuta alle righe aggiuntive vista sopra. 
 + 
 +=== Integrazione in modalità "nis" === 
 + 
 +In alternativa si può indicare in **/etc/nsswitch.conf** la sorgente **files** ed esplicitamente la sorgente **nis**, in questo caso le righe aggiuntive con il prefisso **+** non sono necessarie. In questo caso il file **/etc/nsswitch.conf** contiene qualcosa del genere:
  
 <file> <file>
-+:::+passwd        files systemd nis 
 +group         files systemd nis 
 +shadow        files nis
 </file> </file>
 +
 +:!: **ATTENZIONE**: Questa modalità non è compatibile con il demone **accountsservice** utilizzato ad esempio da **Ubuntu 20.4**. In questo caso l'elenco degli utenti non viene integrato con le informazioni NIS e quindi **gli utenti NIS non vengono elencati** nel greeter di **LightDM**.
 +
 +===== Ricerca del server NIS =====
  
 La ricerca del NIS server avviene tramite richieste broadcast sulla rete locale. Per evitarle (potrebbero fallire per regole di firewall) si dichiarano esplicitamente i server in **''/etc/yp.conf''**: La ricerca del NIS server avviene tramite richieste broadcast sulla rete locale. Per evitarle (potrebbero fallire per regole di firewall) si dichiarano esplicitamente i server in **''/etc/yp.conf''**:
Line 130: Line 142:
 Un altro motivo per cui la **richiesta broadcast potrebbe fallire** è se il server NIS è **multihomed** (ha più di una interfaccia di rete), vedi la nota sopra riguardo ''ypserv.securenets''. Un altro motivo per cui la **richiesta broadcast potrebbe fallire** è se il server NIS è **multihomed** (ha più di una interfaccia di rete), vedi la nota sopra riguardo ''ypserv.securenets''.
  
-L'utente autenticato via NIS può cambiare la propria password con **''yppasswd''**.+L'utente autenticato via NIS può cambiare la propria password con **''yppasswd''**. Durante il cambio password **il server NIS indica al client il nome dello stesso server**, quindi il client deve poterlo **risolvere in indirizzo IP**. Verificare le opportune impostazioni di **/etc/hosts**, ecc.
 ====== NIS slave server ====== ====== NIS slave server ======
  
Line 188: Line 200:
 @{HOMEDIRS}=/home/ /nfshome/ @{HOMEDIRS}=/home/ /nfshome/
 </file> </file>
 +
 +====== Login Time Too Long in Ubuntu 18.04 ======
 +
 +After installing an **Ubuntu 18.04 as a NIS client** with home directories mounted over NFS, we noticed very long times required to complete the login. Even on the tty1 console, there was a **wait time of about 25 seconds** after typing the passowrd, before to get the command line prompt.
 +
 +The only apparent error message found in the **syslog** was:
 +
 +<code>
 +systemd-logind[2133]: do_ypcall: clnt_call: RPC: Unable to send; errno = Operation not permitted
 +</code>
 +
 +A nice solution was to **install the nscd package**. The complete story was a bit more complicated, the right direction was found in the following posts: 
 +
 +  * **[[https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1774417|systemd-logind: do_ypcall: clnt_call: RPC: Unable to send; errno = Operation not permitted]]**
 +  * **[[https://github.com/systemd/systemd/issues/7074|systemd-logind's IP sandbox breaks nss-nis and suchlike #7074]]**
 +
 +One user pointed out that the bug affects also what is reported in **/run/user/**, where the NIS user logged-in (after the long wait) was missing. Other users suggested to edit the file **/lib/systemd/system/systemd-logind.service**, commentig-out a line from the **[Service]** section:
 +
 +<code>
 +IPAddressDeny=any
 +</code>
 +
 +
doc/appunti/linux/sa/nis.txt · Last modified: 2020/12/16 16:27 by niccolo