Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/library/linux/AppLinux/al47.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:35 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 10:19:40 2007 Êîäèðîâêà: |
In ogni sistema operativo multiutente c'Õ la necessitÞ di controllare gli accessi, per mezzo della registrazione degli utenti e della registrazione degli eventi. Nei sistemi Unix un utente che puÐ accedere ha un account: letteralmente, un conto o in altri termini un «accredito» (oppure anche una specie di contratto di utenza), che gli permette di esistere nel sistema in qualitÞ di «utente logico».
La tabella 35.1 elenca i programmi e i file a cui si accenna in questo capitolo.
Nome | Descrizione |
syslogd | Demone per l'annotazione nel registro del sistema. |
/etc/syslog.conf | Configurazione di syslogd . |
logger | Aggiunge delle annotazioni nel registro del sistema. |
klogd | Demone per la registrazione dei messaggi del kernel. |
login | Permette l'accesso a un sistema. |
/etc/passwd | Tabella delle caratteristiche salienti degli utenti. |
/etc/group | Tabella delle caratteristiche salienti dei gruppi. |
/etc/shadow | Tabella delle password quando non sono in /etc/passwd . |
/var/run/utmp | Elenco degli accessi in corso. |
/var/log/wtmp | Elenco degli accessi trascorsi. |
/etc/motd | Messaggio di apertura o messaggio del giorno. |
/etc/nologin | Messaggio di impedimento all'accesso. |
/etc/securetty | Elenco dei terminali da cui Õ consentito l'accesso all'utente root . |
/var/mail/* | Messaggi di posta elettronica degli utenti. |
~/.hushlogin | Accesso rapido. |
/var/log/lastlog | Data e orario dell'ultimo accesso. |
su | Permette di operare con l'identitÞ di un altro utente. |
newgrp | Permette di cambiare gruppo. |
users | Elenca i nomi degli utenti che accedono al sistema. |
w | Elenca i nomi e altre notizie degli utenti che accedono. |
who | Elenca i nomi degli utenti che accedono al sistema. |
finger | Fornisce notizie sugli utenti di un certo elaboratore nella rete. |
whoami | Emette il nome dell'utente. |
logname | Emette il nome dell'utente. |
Il registro del sistema (system log, o anche syslog) Õ la procedura di registrazione degli eventi importanti all'interno di un cosiddetto file di log, ovvero un file delle registrazioni. Questa procedura Õ gestita principalmente dal demone syslogd
, che viene configurato attraverso /etc/syslog.conf
. Altri programmi o demoni possono aggiungere annotazioni al registro inviando messaggi a syslogd
.
Anche se potrebbe sembrare che la conoscenza di questo sistema di registrazione sia uno strumento utile principalmente per chi ha giÞ esperienza di GNU/Linux o dei sistemi Unix in generale, la consultazione dei file delle registrazioni puÐ essere di aiuto al principiante che si trova in difficoltÞ e non sa quale sia la causa del mancato funzionamento di qualcosa.
syslogd [<opzioni>] |
õ il demone che si occupa delle annotazioni nel registrazione del sistema. Di norma viene avviato durante la procedura di avvio del sistema. Utilizza un file di configurazione che di solito Õ /etc/syslog.conf
. Questo file viene letto nel momento in cui syslogd
si avvia e per fare in modo che venga riletto (per esempio dopo una modifica), occorre inviare al processo di syslogd
un segnale di aggancio (SIGHUP
).
kill
|
|
Specifica un file di configurazione diverso da quello predefinito.
|
Stabilisce l'intervallo espresso in minuti tra i messaggi di marcatura. Il valore predefinito Õ 20.
|
Specifica un socket diverso da quello predefinito che Õ /dev/log
.
õ il file di configurazione utilizzato da syslogd
per definire in che modo devono essere gestiti i messaggi da registrare. Se si vogliono apportare modifiche a questo file Õ necessario fare in modo che venga riletto da syslogd
. Per fare questo Õ possibile mandare a syslogd
il segnale SIGHUP
:
kill
|
Tuttavia, in certi casi, questo segnale puÐ anche provocare la conclusione del funzionamento del programma. Se necessario si puÐ riavviare semplicemente:
#
syslogd
La sintassi per l'utilizzo di questo file di configurazione Õ relativamente semplice. Le righe vuote e quelle che iniziano con il simbolo #
sono ignorate. Le altre sono record composti da due campi: il primo definisce la selezione, il secondo l'azione.
Il campo che definisce la selezione, serve a indicare per quali eventi effettuare un'annotazione attraverso l'azione indicata nel secondo campo. Questo primo campo si divide in due sottocampi, uniti da un punto singolo (.
), e questi si riferiscono ai servizi e alle prioritÞ. I servizi sono rappresentati da una serie di parole chiave che rappresentano una possibile origine di messaggi, mentre le prioritÞ sono altre parole chiave che identificano il livello di gravitÞ dell'informazione.
Le parole chiave riferite ai servizi possono essere:
auth
;
authpriv
;
cron
;
daemon
;
kern
;
lpr
;
mail
;
news
;
syslog
;
user
;
uucp
;
da local0
a local7
.
Volendo identificare tutti i servizi si puÐ usare l'asterisco (*
), mentre per indicarne un gruppo se ne puÐ inserire un elenco separato da virgole (,
).
Le parole chiave riferite alle prioritÞ possono essere quelle seguenti, elencate in ordine di importanza crescente, per cui l'ultima Õ quella che rappresenta un evento piÛ importante:
debug
;
info
;
notice
;
warning
;
err
;
crit
;
alert
;
emerg
.
In linea di massima, l'indicazione di una parola chiave che rappresenta una prioritÞ implica l'inclusione dei messaggi che si riferiscono a quel livello, insieme a tutti quelli dei livelli superiori. Per indicare esclusivamente un livello di prioritÞ, occorre fare precedere la parola chiave corrispondente dal simbolo =
.
Si possono indicare assieme piÛ gruppi di servizi e prioritÞ, in un unico campo, unendoli attraverso un punto e virgola (;
).
Si possono escludere delle prioritÞ ponendo anteriormente un punto esclamativo (!
).
Il secondo campo, quello che definisce l'azione, serve a indicare la destinazione dei messaggi riferiti a un certo gruppo di servizi e prioritÞ, come definito dal primo campo. PuÐ trattarsi di un file o di altro, a seconda del primo carattere utilizzato per identificarlo. Segue l'elenco.
/
Se il primo carattere Õ una barra obliqua normale, si intende che si tratti dell'indicazione di un percorso completo di un file destinatario dei messaggi. PuÐ trattarsi anche di un file di dispositivo opportuno, come quello di una console virtuale.
|
Se il primo carattere Õ una barra verticale, si intende che la parte restante sia l'indicazione del percorso completo di una pipe con nome, ovvero di un file FIFO, generata attraverso mkfifo
(
56.1.1).
@
Se il primo carattere Õ il simbolo @
, si intente che la parte restante sia l'indicazione di un elaboratore remoto, che ricevendo tali messaggi li inserirÞ nel proprio sistema di registrazione.
Elenco di utenti
Se il primo carattere non Õ scelto tra quelli elencati fino a questo punto, si intende che si tratti di un elenco di utenti (separati da virgole) a cui inviare i messaggi sullo schermo del terminale, se questi stanno accedendo in quel momento.
*
Se il primo e unico carattere Õ un asterisco (*
), si intente che i messaggi debbano essere inviati sullo schermo del terminale di tutti gli utenti connessi in quel momento.
õ importante osservare che gli stessi messaggi possono essere inviati anche a destinazioni differenti, attraverso piÛ record in cui si definiscono le stesse coppie di servizi e prioritÞ, oppure coppie differenti che perÐ si sovrappongono.
# Salva tutti i messaggi in un unico file: /var/log/syslog # *.* /var/log/syslog |
Invia tutti i messaggi nel file /var/log/syslog
.
# Invia tutti i messaggi del kernel sulla console # kern.* /dev/console |
I messaggi del servizio kern
, a qualunque livello di prioritÞ appartengano, vengono inviati al dispositivo corrispondente alla console. In pratica vengono scritti sullo schermo della console.
mail.* /var/log/maillog |
I messaggi riferiti alla gestione della posta elettronica sono memorizzati nel file /var/log/maillog
.
# Invia tutti i messaggi da warning in su, all'elaboratore dinkel.brot.dg # *.warning @dinkel.brot.dg |
I messaggi la cui prioritÞ raggiunge o supera il livello warning
, vengono inviati all'elaboratore dinkel.brot.dg
.
*.* @dinkel.brot.dg *.=debug /var/log/debug *.=info;*.=notice /var/log/messages *.warning /var/log/syslog |
Invia tutti i messaggi all'elaboratore dinkel.brot.dg
, e inoltre, invia i messaggi debug
nel file /var/log/debug
, i messaggi info
e notice
nel file /var/log/messages
, e infine tutti i messaggi da warning
in su nel file /var/log/syslog
.
*.=info;*.=notice /var/log/messages *.warning /var/log/syslog *.=debug;*.=info /dev/tty9 *.=notice;*.=warning /dev/tty10 *.=err;*.=crit /dev/tty11 *.=alert;*.=emerg /dev/tty12 |
Invia i messaggi info
e notice
nel file /var/log/messages
, i messaggi da warning
in su nel file /var/log/syslog
, quindi suddivide nuovamente i livelli di prioritÞ e li invia a quattro diverse console virtuali, da /dev/tty9
a /dev/tty12
.
Vedere anche syslog.conf(5).
Per archiviare i file generati da kerneld
, se la propria distribuzione GNU/Linux non gestisce giÞ questo problema, si possono copiare i file delle registrazioni altrove, eventualmente anche comprimendoli, quindi si puÐ azzerare il loro contenuto semplicemente copiandovi sopra il file /dev/null
.
Supponendo di dovere gestire i file /var/log/messages
e /var/log/syslog
, si potrebbe procedere come segue:
#
cat /var/log/messages | gzip
-
9 > /var/log/messages.1.gz
#
cat /var/log/syslog | gzip
-
9 > /var/log/syslog.1.gz
#
cp /dev/null /var/log/messages
#
cp /dev/null /var/log/syslog
#
killall
-
HUP syslogd
Le informazioni che vengono memorizzate nel registro del sistema potrebbero essere delicate, sia per la sicurezza del sistema, sia per i singoli utenti. Per questo, Õ bene ricordare che i file che compongono il registro del sistema non dovrebbero essere accessibili in lettura agli utenti comuni.
logger [<opzioni>] [<messaggio>] |
Permette di aggiungere delle annotazioni all'interno del registro del sistema. Se non vengono forniti argomenti, il messaggio da registrare viene atteso dallo standard input. Se si utilizza la tastiera, per concludere Õ necessario utilizzare il carattere di <EOF> che di norma si ottiene con la combinazione [Ctrl+d].
|
Permette di includere il file indicato all'interno del registro del sistema.
klogd [<opzioni>] |
õ il demone specifico per l'intercettazione e la registrazione dei messaggi del kernel Linux. Di norma viene avviato dalla procedura di inizializzazione del sistema, subito dopo syslogd
.
|
Specifica un file particolare per le registrazioni, invece di dirigere i messaggi direttamente al demone della gestione del registro del sistema, cioÕ syslogd
.
Il login Õ la procedura di accesso attraverso la quale un utente, registrato precedentemente, viene riconosciuto e gli viene concesso di utilizzare il sistema. Il concetto Õ simile a quello di una firma di ingresso. Quando un utente conclude la sua attivitÞ con il sistema, esegue un logout. Il concetto del logout Õ simile a quello di una firma di uscita.
La procedura di accesso Õ controllata normalmente dal programma login
, che si prende cura di verificare la password fornita, prima di consentire l'ingresso dell'utente. Tuttavia, i programmi login
non sono uguali in tutte le distribuzioni GNU/Linux, e ognuno puÐ essere stato predisposto per una politica differente. A titolo di esempio, un programma login
potrebbe accettare l'accesso da parte di utenti per i quali non sia stata definita una password, mentre un altro potrebbe escluderlo. In queste sezioni si affronta il problema in modo superficiale, cercando di fare riferimento alle consuetudini consolidate; il lettore deve tenere presente che l'unica documentazione certa sul funzionamento di login
Õ quella fornita assieme alla sua distribuzione GNU/Linux: la pagina di manuale login(1).
login [<utente>] |
Permette l'accesso dell'utente al sistema. Di solito non si usa direttamente, anzi, ciÐ dovrebbe essere impossibile: Õ compito del programma di gestione del terminale, getty
o simili, di avviarlo dopo aver ottenuto il nominativo-utente.
Ogni utente registrato nel sistema, cioÕ ogni utente che (teoricamente) puÐ accedere al sistema, ha una directory personale, o directory home, all'interno della quale si trova posizionato al momento dell'accesso. Questa directory contiene dei file riguardanti la configurazione particolare dell'utente a cui appartiene. La directory personale Õ collocata normalmente in /home/
<nome-utente>/
e questa, se la shell lo consente, viene abbreviata utilizzando il simbolo tilde (~
). La directory personale dell'utente root
Õ speciale e dovrebbe trovarsi in /root/
. Durante un accesso normale da parte di un utente qualunque, compreso root
, vengono richiesti il nome dell'utente (se non era giÞ stato fornito nella riga di comando) e la password. Quindi vengono visualizzati:
la data e l'ora dell'ultimo accesso;
l'avviso della presenza di posta (se esistono messaggi di posta elettronica non ancora letti);
il messaggio del giorno.
Se si tratta di un utente al quale Õ associata una password, questa viene richiesta e controllata. Se risulta errata, vengono consentiti un numero limitato di tentativi. Generalmente, gli errori vengono riportati all'interno del registro del sistema. Se l'utente che chiede di accedere non Õ root
, e se esiste il file /etc/nologin
, ne viene visualizzato il contenuto sullo schermo e non viene consentito l'accesso. CiÐ serve per impedire l'accesso al sistema, tipicamente quando si intende chiuderlo. PerchÈ l'accesso possa essere effettuato come utente root
, occorre che il terminale (TTY) da cui si intende accedere sia elencato all'interno di /etc/securetty
. I tentativi di questo tipo che provengono da terminali non ammessi, vengono annotati all'interno del registro del sistema. Se esiste il file ~/.hushlogin
, viene eseguito un accesso silenzioso, nel senso che vengono disattivati:
il controllo per la presenza di messaggi di posta elettronica;
la visualizzazione della data e dell'ora dell'ultimo accesso effettuato da parte di quell'utente;
la visualizzazione del messaggio del giorno.
Se esiste il file /var/log/lastlog
, viene visualizzata la data e l'ora dell'ultimo accesso e ne viene registrato quello in corso. Al termine della procedura di accesso viene avviata la shell dell'utente. Se all'interno del file /etc/passwd
non Õ indicata la shell da associare all'utente che accede, viene utilizzato /bin/sh
. Se all'interno del file /etc/passwd
non Õ indicata la directory personale dell'utente, viene utilizzata la directory radice (/
).
Quanto detto dovrebbe essere sufficiente per capire che la semplice rimozione dell'indicazione della shell o della directory personale da un record del file |
õ un elenco di utenti, password, directory home (directory personali nel caso si utenti umani), shell e altre informazioni personali utilizzate da finger
(
88.3.2). La struttura dei record (righe) di questo file Õ molto semplice:
<utente>:<password>:<UID>:<GID>:<dati-personali>:<directory-home>:<shell> |
Segue la descrizione dei campi.
<utente>
õ il nome utilizzato per identificare l'utente logico che accede al sistema.
<password>
õ la password cifrata. Se questa indicazione manca, l'utente puÐ accedere senza indicare alcuna password. Se questo campo contiene un asterisco (*
) l'utente non puÐ accedere al sistema.
<UID>
õ il numero identificativo dell'utente (User ID).
<GID>
õ il numero identificativo del gruppo a cui appartiene l'utente (Group ID).
<dati-personali>
Di solito, questo campo contiene solo l'indicazione del nominativo completo dell'utente (nome e cognome), ma puÐ contenere anche altre informazioni che di solito sono inserite attraverso chfn
(
36.2.6).
<directory-home>
La directory assegnata all'utente.
<shell>
La shell assegnata all'utente.
tizio:724AD9dGbG25k:502:502:Tizio Tizi,,,,:/home/tizio:/bin/bash |
L'utente tizio
corrisponde al numero UID 502 e al numero GID 502; si chiama Tizio Tizi; la sua directory personale Õ /home/tizio/
; la sua shell Õ /bin/bash
. Di questo utente, personalmente, non si conosce niente altro che il nome e il cognome. Il fatto che UID e GID corrispondano dipende da una scelta organizzativa dell'amministratore del sistema.
tizio:*:502:502:Tizio Tizi,,,,:/home/tizio:/bin/bash |
Questo esempio mostra una situazione simile a quella precedente, ma l'utente tizio
non puÐ accedere, perchÈ al posto della password cifrata appare un asterisco.
Per impedire l'accesso a un utente attraverso la procedura di accesso, Õ sufficiente modificare parzialmente il campo della password, per esempio con l'aggiunta di un asterisco.
õ l'elenco dei gruppi di utenti. La struttura delle righe di questo file Õ molto semplice.
<gruppo>:<password>:<GID>:<lista-di-utenti> |
Segue la descrizione dei campi.
<gruppo>
õ il nome utilizzato per identificare il gruppo.
<password>
õ la password cifrata. Di solito non viene utilizzata e di conseguenza non viene inserita. Se Õ presente una password, questa dovrebbe essere richiesta quando un utente tenta di cambiare gruppo attraverso newgrp
(
35.3.2).
<GID>
õ il numero identificativo del gruppo.
<lista-di-utenti>
õ la lista degli utenti che appartengono al gruppo. Si tratta di un elenco di nomi di utente separati da virgole.
tizio::502:tizio |
Si tratta di un caso molto semplice in cui il gruppo tizio
non ha alcuna password e a esso appartiene solo un utente omonimo (tizio
appunto).
users::100:tizio,caio,semproni |
In questo caso, gli utenti tizio
, caio
e semproni
appartengono al gruppo users
.
Il file /etc/shadow
appare in quei sistemi in cui Õ attivata la gestione delle password shadow. Serve a contenere le password cifrate, togliendole dal file /etc/passwd
. Facendo in questo modo, Õ possibile inibire la maggior parte dei permessi di accesso a questo file, proteggendo le password. Al contrario, non Õ possibile impedire l'accesso in lettura del file /etc/passwd
che fornisce una quantitÞ di informazioni sugli utenti, indispensabili a molti programmi.
Il problema Õ descritto nel capitolo 37.
õ il file che contiene l'elenco degli accessi in essere nel sistema. Non Õ un file di testo normale, e per l'estrazione delle informazioni in esso contenute si usano dei programmi di utilitÞ appositi. Tuttavia, Õ possibile che gli utenti presenti effettivamente nel sistema siano in numero maggiore, e ciÐ a causa del fatto che non tutti i programmi usano il metodo di registrazione fornito attraverso questo file.
Se questo file non esiste, conviene crearlo manualmente in uno dei due modi seguenti.
#
cp /dev/null /var/run/utmp
#
touch /var/run/utmp
Solitamente, Õ la procedura di inizializzazione del sistema a prendersi cura di questo file, azzerandolo o ricreandolo, a seconda della necessitÞ.
Il file /var/log/wtmp
ha una struttura analoga a quella di /var/run/utmp
e serve per conservare la registrazione degli accessi e della loro conclusione (login-logout). Questo file non viene creato automaticamente; se manca, la conservazione delle registrazioni all'interno del sistema non viene effettuata. Viene aggiornato da Init e anche dal programma che si occupa di gestire la procedura di accesso al sistema (login
).
Il formato di questo file non Õ quello di un file di testo normale, quindi non Õ leggibile o stampabile direttamente.
Se questo file non esiste, conviene crearlo manualmente in uno dei due modi seguenti.
#
cp /dev/null /var/log/wtmp
#
touch /var/log/wtmp
Il contenuto di questo file viene visualizzato da login
al termine della procedura di accesso, prima dell'avvio della shell associata all'utente. Questo file contiene, o dovrebbe contenere, il cosiddetto messaggio del giorno.
Se esiste questo file, login
non accetta nuovi accessi al sistema, e a ogni tentativo visualizza il suo contenuto.
Se si desidera fermare il sistema Õ possibile creare questo file scrivendoci all'interno il motivo, o una breve spiegazione di quello che sta avvenendo.
Contiene l'elenco dei terminali sicuri, cioÕ di quelli da cui si permette l'accesso all'utente root
. I nomi dei terminali vengono indicati facendo riferimento ai file di dispositivo relativi, senza l'indicazione del prefisso /dev/
. L'esempio seguente mostra un elenco di terminali che comprende la console vera e propria, le sei console virtuali standard, quattro terminali seriali e quattro pseudo-terminali che accedono dalla rete locale oppure dal sistema grafico X.
console tty1 tty2 tty3 tty4 tty5 tty6 ttyS0 ttyS1 ttyS2 ttyS3 ttyp0 ttyp1 ttyp2 ttyp3 |
Il file corrispondente al nome dell'utente, contenuto in /var/mail/
(oppure in /var/spool/mail/
, a seconda dell'impostazione della distribuzione GNU/Linux), viene usato normalmente per accumulare i messaggi di posta elettronica a lui diretti.
Il programma login
, dopo la visualizzazione del messaggio contenuto in /etc/motd
, se trova che c'Õ posta per l'utente, visualizza un messaggio di avvertimento in tal senso.
La collocazione di questi file che rappresentano le caselle postali degli utenti, dipende dalla configurazione e dalla filosofia del sistema di gestione della posta elettronica. Generalmente si fa affidamento sul fatto che si utilizzi il solito Sendmail, il quale utilizza questa directory |
Se esiste il file .hushlogin
all'interno della directory personale di un certo utente, quando quell'utente accede, login
non visualizza alcun messaggio introduttivo.
Il file /var/log/lastlog
, se esiste, viene utilizzato da login
per registrare gli ultimi accessi al sistema e per poter visualizzare la data e l'ora dell'ultimo accesso. Se questo file non esiste, conviene crearlo manualmente in uno dei due modi seguenti.
#
cp /dev/null /var/log/lastlog
#
touch /var/log/lastlog
Alcuni programmi consentono di ottenere i privilegi di un altro utente, come se si ripetesse la procedura di accesso. Questa possibilitÞ rappresenta generalmente un problema di sicurezza. Per mezzo di questi programmi puÐ capitare di riuscire a ottenere i privilegi dell'utente root
anche quando si accede da un terminale che non viene considerato sicuro, e pertanto non risulta incluso nell'elenco di /etc/securetty
.
su [<opzioni>] [<utente>] |
su
permette a un utente di diventare temporaneamente un altro, avviando una shell con i privilegi dell'utente indicato (questo vale anche per il gruppo o i gruppi a cui questo appartiene). Se non viene indicato un utente, su
sottintende root
. Prima di attivare la nuova shell, viene richiesta la password associata all'utente selezionato, a meno che su
sia stato eseguito da chi sta giÞ accedendo come utente root
.
Per terminare l'attivitÞ in veste di questo nuovo utente, basta concludere l'esecuzione della shell con il comando exit
.
$
su
Utilizzando su
senza argomenti, si intende implicitamente di voler acquisire i privilegi dell'utente root
. Per questo viene richiesta la password.
$
su caio
Volendo trasformarsi temporaneamente in un altro utente, basta indicarlo come argomento, come in questo caso. Viene richiesta la password.
#
su tizio
L'utente root
puÐ sempre fare quello che vuole, quindi se seleziona un altro utente, perde dei privilegi, e non gli viene richiesta alcuna password.
Il programma su
, per poter svolgere il suo compito, deve appartenere all'utente root
e avere il bit SUID attivato (SUID-root
). õ in questo modo che un utente comune riesce a ottenere i privilegi di root
o di un altro utente.
su
viene usato frequentemente dall'utente root
, o da un processo che ha giÞ i privilegi dell'utente root
, per diventare temporaneamente un utente comune. In tal caso, dal momento che il processo che avvia su
ha giÞ i privilegi di root
, non c'Õ alcuna necessitÞ della presenza del bit SUID attivo.
In generale, dal momento che su
Õ molto importante per agevolare il lavoro dell'amministratore del sistema, se si temono problemi alla sicurezza, si puÐ eliminare il bit SUID, per concedere praticamente il suo utilizzo solo all'utente root
.
#
chmod u
-
s /bin/su
Volendo calcare la mano, si possono togliere anche tutti i permessi per il gruppo proprietario e per gli altri utenti.
#
chmod go
-
rwx /bin/su
newgrp [<gruppo>] |
Permette di cambiare il gruppo a cui appartiene l'utente. L'utente non cambia, la directory personale nemmeno, cambia solo il GID. Un utente puÐ cambiare gruppo se nel file /etc/group
sono diversi i gruppi a cui puÐ appartenere l'utente. In alternativa, se il gruppo ha una password, l'utente puÐ «entrare» nel gruppo solo se la conosce.
Il problema della gestione dei gruppi, specialmente per ciÐ che riguarda le password, Õ descritto meglio nel capitolo 37.
Molti programmi permettono di avere informazioni sugli accessi e di conseguenza anche sugli utenti. In particolare sono importanti quelli che permettono di leggere il contenuto dei file /var/run/utmp
e /var/log/wtmp
il cui formato non Õ leggibile attraverso l'uso di un semplice cat
.
In particolare, per quanto riguarda i programmi che analizzano il contenuto del file /var/log/wtmp
, si puÐ leggere il capitolo
38.
users [<file>] |
Visualizza i nomi degli utenti che accedono attualmente all'elaboratore. Se un utente ha attivato piÛ sessioni in corso, il suo nome apparirÞ piÛ volte nell'elenco. Se il comando viene avviato senza l'indicazione di un file, i dati visualizzati vengono estratti da /etc/utmp
. Esiste comunque la possibilitÞ di visualizzare attraverso users
il contenuto di /etc/wtmp
.
w [<opzioni>] [<utente>] |
Visualizza i nomi degli utenti che accedono attualmente e varie informazioni sulla loro attivitÞ.
Vedere w(1).
who [<opzioni>] [<file>] [am i] |
Visualizza i nomi degli utenti che accedono attualmente e varie informazioni sulla loro attivitÞ. who
trae normalmente le sue informazioni dal file /etc/utmp
, se non ne viene indicato un altro negli argomenti. (per esempio /etc/wtmp
).
Vedere who.info oppure who(1).
whoami |
Visualizza il nome dell'utente associato con l'attuale UID efficace. õ equivalente a id
.
-
un
logname |
Emette il nome dell'utente, cosË come appare dal file /var/run/utmp
.
A titolo di esempio si puÐ immaginare la situazione in cui l'utente tizio
sia riuscito a ottenere i privilegi dell'utente root
attraverso l'uso di su
.
tizio$
su root
Password:
*******
Quello che si dovrebbe ottenere con logname
Õ il nome dell'utente che Õ stato usato per accedere inizialmente al sistema.
root#
logname
tizio |
---------------------------
Appunti Linux 1999.09.21 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ pluto.linux.it