Quando diverse persone hanno accesso ad un sistema, è necessario che l'amministratore di sistema gestisce gli utenti. Per questo, i comandi abituali e i file da configurare devono essere conosciuti.
I file importanti da conoscere sono :
Il file /etc/passwd contiene tutte le informazioni relative agli utenti (login, password, ...). Solo il superutente (root) deve poterle modificare. Bisogna quindi modificare i diritti di questo file in modo che sia in sola lettura per gli altri utenti.
Questo file ha un formato speciale che permette di individuare ogni utente, ciascuna delle sue linee ha il seguente formato:
nome_dell_account: password: numero_utente: numero_del_gruppo: commento: cartella: programma_di_avvioSette campi sono esplicitati separati dal carattere ": :
Ecco 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 cifrate. E' dunque inutile scriverle e sostituire il campo password digitando direttamente la password, ciò porterà solamente al blocco dell'accout.
Quando un utente si connette, il programma login paragona la password digitata dall'utente (dopo averla cifrata) a quella nel file passwd. Se sono diverse, la connessione non può essere stabilita.
Per vietare l'utilizzo, basta sostituire la password codificata da una stella: "*".
Gli accesi ad un account possono eventualmente essere aperti lasciando il campo password vuoto. Le persone che vogliono allora connettersi potranno farlo.
Per poter modificare la password di un account con il comando passwd, bisogna essere amministratore di sistema, oppure proprietari dell'account (il sistema richiederà allora all'utente di digitare la vecchia password prima di chiedergli di inserire la nuova per due volte).
UID : identificativo (unico) di ogni account utente. I numeri da 0 a 99 sono frequentemente riservati a degli account propri al terminale. I valori superiori a 100 sono riservati agli account utenti.
GID : identificativo di gruppo. Il gruppo di defautl (detto group) ha il numero 50. Questo identificativo è usato in relazione ai diritti di accesso ai file. Questa questione vi riguarda solo se il vostro sistema ha più di un gruppo di utentiì. (Bisognerà allora preoccuparsi del file /etc/group.
E' possibile partire dallo Shella modificare l'interprete dei comandi. Per questo, bisogna usare il comando chsh o passwd -s. Linux cerca allora nel file /etc/shells il programma specifico. Solo i comandi presenti in questo file saranno accettati e sostituiranno il valore attuale del campo programma_di_avvio. Queste restrizioni non si applicano all'account superutente.
Assicuratevi che i diritti di accesso al file /etc/shells siano gli stessi del file /etc/passwd
Il superutente non si chiama obbligatoriamente root. Per cambiarlo, basta sostituire il nome dell'account root con quello desiderato.
Un account privilegiato è un account il cui identificativo (UID, User ID) vale zero.
Il file /etc/group contiene la lista degli utenti appartenenti ai diversi gruppi. In effetti, quando numerosi utenti hanno accesso al sistema, questi sono frequentemente raggrupati in diversi gruppi con ciascuno dei propri diritti di accesso ai file e alle cartelle.
Si compone di diversi campi separati da ":" :
nome_del_gruppo: campo_speciale: numero_del_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. Rigurada tutti gli utenti.
Vi si trovato innanzi tutto le variabili dello Shell come OPENWINHOME, PATH,...
Poi, il tipo di terminale e la variabile TERM sono deniti di conseguenza.
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 attivo, cosa che non avviene per default.
Vi sono quindi alcune linee da aggiunger al file /etc/profile che sono:
| INITTY=/dev/tty[1-7] |
| for tty in $INITTY; |
| do setleds -D +num < $tty |
| done |
Al momento della connessione allo Shell, la prima cosa che appare è il prompt prompt, che può essere configurato dall'utente a suo piacimento.
Se l'amministratore vuole avere un prompt che si chiama: "Buongiorno#, basta che editi il file /etc/profile. Questo contiene una variabile detta PS1. Tutte le linee che rigurdano questa variabile devono quindi essere precedute da un diesis: #. Si tratta allora di aggiungere la linea PS1='Buongiorno#'.
Non resta quindi che salvare e rilogarsi. I cambiamenti saranno stati effettuati.
Astuzia: lasciare uno spazio dopo il prompt per una migliore leggibilità.
E' anche 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 andare a capo |
| \w | per aggiungere il percorso completo della cartella corrente |
| \W | per aggiungere la cartella corrente |
| \h | per aggiungere il nome del terminale |
Si può cambiare anche il colore. Per questo, bisogna usare la variabile PS1 come segue:
Il numero del colore sarà preso nella 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 :