| PrecedenteComandi | Linux - Gestione degli utenti | SeguenteAstuzie |
Quando diverse persone hanno accesso ad un sistema, è necessario che l'amministratore di sistema gestisca gli utenti. Per questo, si devono conoscere i comandi usuali e i file da configurare.
I file importanti da conoscere sono :
Il file /etc/passwd contiene tutte le informazioni relative agli utenti (login, password, …). Solo il superutente (root) deve poterlo modificare. Bisogna quindi modificare i diritti di questo file in modo da renderlo in sola lettura per gli altri utenti.
Questo file ha un formato speciale che permette di individuare ogni utente, e ogni linea è nel seguente formato:
account : password : numero_utente: numero_di_gruppo : commenti : cartella : programma_di_avvioSette campi sono esplicitamente separati dal carattere ":" :
Qui di seguito un esempio di file passwd :
| root:x:0:0:root:/root:/bin/bash |
| bin:x:1:1:bin:/bin:/bin/bash |
| daemon:x:2:2:daemon:/sbin:/bin/bash |
| news:x:9:13:News system:/etc/news:/bin/bash |
| uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash |
| cquoi:x:500:100:Cool......:/home/cquoi:/bin/bash |
E' importante sapere che le password poste in questo file sono codificate. E' quindi inutile scriverla e sostituire il campo password digitando direttamente la password, visto che questo porterà solo al blocco dell'account.
Quando un utente si connette, il programma login paragona la password digitata dall'utente (dopo averla codificata) a quella che si trova nel file psswd. Se sono diverse, la connessione non può essere stabilita.
Per vietare l'utilizzo, basta sostituire la password codificata con un asterisco : "*".
Gli accessi ad un account possono eventualmente essere aperti lasciando il campo password vuoto. Chiunque voglia connettersi con questo account potrà farlo.
Per modificare la password di un account con il comando passwd, bisogna essere amministratore del sistam, oppure proprietari dell'account (il sistema richiederà allora all'utente di inserire la vecchia password prima di richiedere per due volte la nuova).
UID : ID (unico) per ogni utente. I numeri da 0 a 99 sono solitamente riservati a degli account propri del terminale. I valori superiori a 100 sono riservati agli account utenti.
GID : ID di gruppo. Il gruppo da default (detto group) ha il numero 50. Questo ID è usato in relazione ai diritti di accesso ai file. Questa questione vi riguarda solo se il vostro sistema comporta più di un solo gruppo di utenti. (bisognerà allora preoccuparsi del file /etc/group.
Per modificare l'interprete di comandi è possibile partire anche dallo shell. Per questo, bisogna usare il comando chsh oppure passwd -s. Linux cerca allora il programma che avete specificato nel file /etc/shells . Solo i comandi presenti in questo file saranno accettati e sostituiranno il valore attuale del campo programma_di_avvvio. Queste restrizioni si applicano solo all'account superutente.
Assicuratevi che i diritti di accesso del file /etc/shells siano gli stessi per il file /etc/passwd
Il superutente non si nomina obbligatoriamente root . Per cambiarlo, basta sostituire il nome dell'account root con quello desiderato.
Un account privilegiato è un account il cui ID (UID, User ID) vale 0.
Il file /etc/group contiene la lista degli utenti appartenenti ai diversi gruppi. In effetti, quando numerosi utenti hanno accesso al sistema, essi sono spesso assemblati in diversi gruppi con ciascuno i propri diritti di accesso ai file e alle cartelle.
Esso si compone di differenti campi separati da ":" :
nome_di_gruppo: campo_speciale : numero_di_gruppo : membro1, membro2
Ecco un esempio di file /etc/group :
| root:x:0:root |
| bin:x:1:root,bin,daemon |
| daemon:x:2: |
| tty:x:5: |
| disk:x:6: |
| lp:x:7: |
| wwwadmin:x:8: |
| kmem:x:9: |
| wheel:x:10: |
| mail:x:12:cyrus |
| news:x:13:news |
admin : : 56 : ccm
Il file /etc/profile permette di configurare lo shell. Riguarda tutti gli utenti.
Si trovano innanzitutto le variabili dello shello come OPENWINHOME, PATH, ...
Poi, si definiscono di conseguenza il tipo di terminel e la variabile TERM.
Una parte è consacrata al prompt dello shell, infine un'ultima permette la definizione dei colori del comando ls.
All'avvio di Linux, è piacevole avere il tastierino numerico acceso, cosa che non avviene per default.
Vi sono alcune linee da aggiungere al file /etc/profile che sono:
| INITTY=/dev/tty[1-7] |
| for tty in $INITTY; |
| do setleds -D +num < $tty |
| done |
Alla connessione allo shell, la prima cosa che appare è il prompt, che può essere configurato secondo il gusto dell'utente.
Se l'amministratore vuole avere un propmt nominato: "Buongiorno#", gli basterà allora scrivere il file /etc/profile. Questo contiene una variabile detta PS1. Tutte le linee riguardanti questa variabile devono quindi essere precedute da un diesis: #. Si tratta allora di aggiungere la linea PS1='Buongiorno#'.
A questo punto non resta che salvare e rientrare. I cambiamenti saranno stati cosi realizzati.
Astuzia: lasciare uno spazio dopo il prompt per una migliore lettura.
E' inoltre possibile usare delle variabili nel prompt (per visualizzare ad esempio l'ora o il nome del terminale...) :
| \d | per aggiungere la data (formato inglese) |
| \t | per aggiungere l'ora (HH:MM:SS) |
| \u | per aggiungere il nome dell'utente |
| \r | per un ritorno a capo |
| \w | per aggiungere il percorso completo della cartella corrente |
| \W | per aggiungere la cartella corrente |
| \h | per aggiungere il nome del terminale |
Anche il colore può essere cambiato. Per questo, bisogna utilizzare la variabile PS1 in questo modo:
Il numero del colore sarà preso dalla lista seguente :
| Nero | 0;30 |
| Rosso | 0;31 |
| Verde | 0;32 |
| Marrone | 0;33 |
| Blu | 0;34 |
| Viola | 0;35 |
| Cyan | 0;36 |
| Grigio chiaro | 0;37 |
| Grigio | 1;30 |
| Rosa | 1;31 |
| Verde chiaro | 1;32 |
| Marrone chiaro | 1;33 |
| Blu chiaro | 1;34 |
| Viola chiaro | 1;35 |
| Cyan chiaro | 1;36 |
| Bianco | 1;37 |
Ecco un esempio che indica l'ora seguita dal nome dell'utente in rosso :