Guida avanzata a Solaris

Capitolo 5 Password, processi e spazio sul disco

SunOS dispone di una serie di comandi per l'esecuzione delle operazioni di sistema dalla riga di comando. In questo capitolo vengono descritte le procedure da seguire per impostare una password, elencare i processi eseguiti sul sistema, interrompere un processo e visualizzare lo spazio occupato sul disco.

Utilizzo di una password

Per garantire la sicurezza del sistema, SunOS richiede l'inserimento di una password di accesso. Il cambiamento frequente della password rappresenta una misura di sicurezza aggiuntiva per escludere l'accesso al sistema da parte di persone non autorizzate. Se si sospetta che qualcuno abbia usato il proprio profilo utente senza autorizzazione, è buona norma cambiare immediatamente la password.

Per la scelta della password è consigliabile osservare i seguenti criteri:

Cambiamento della password

Per cambiare la propria password, digitare il comando passwd:

$ passwd
Changing password for hankw on worker
Old password:
New password:
Retype new password:
$

  1. Al prompt Old Password:, digitare la password corrente.

    Se al profilo utente non è ancora assegnata una password, il sistema non presenterà questo prompt. Si noti che il sistema non visualizza la password sullo schermo mentre la si inserisce. Si tratta di un'ulteriore misura di sicurezza per nascondere la propria password ad altri utenti.

  2. Al prompt New Password:, inserire la nuova password prescelta.

    Anche in questo caso, la password inserita non verrà visualizzata sullo schermo.

  3. Al prompt finale, Retype new password:, inserire per la seconda volta la nuova password.

    Questo passaggio permette di verificare di avere inserito esattamente la password desiderata.

    Se la nuova password non viene inserita esattamente nella stessa forma ad entrambe le richieste, il sistema non effettua il cambiamento e risponde con il messaggio Sorry. Se questo accade più volte, richiedere una nuova password all'amministratore del sistema.


    Nota -

    Non sono ammesse password che contengano meno di sei caratteri. Inoltre, ogni nuova password deve contenere almeno tre caratteri diversi da quella vecchia.


Durata della password

Se è stata attivata la funzione di "aging" (durata) della password, implementata con speciali opzioni del comando passwd, è possibile che la password abbia una durata massima, oppure una durata massima e una durata minima. La durata della password viene impostata dall'amministratore del sistema.

Al raggiungimento della data di scadenza (o durata massima) della password, il sistema richiede di impostarne una nuova. La richiesta viene presentata al login con il messaggio seguente:

Your password has expired. Choose a new one.

A questo punto il sistema esegue automaticamente il comando passwd e richiede una nuova password.

Se ad esempio la durata minima della password è stata fissata a due settimane e si cerca di cambiarla prima di tale scadenza, il sistema visualizza il messaggio seguente:

Sorry, less than 2 weeks since the last change.

Per visualizzare le informazioni relative alla durata della password, usare il comando passwd con l'opzione -d:

$ passwd -d
nomeutente 2-14-92 14 60

Vengono visualizzate, nell'ordine, la data di creazione, la durata minima e la durata massima della password corrente. (Queste informazioni compaiono solo se è stata implementata la funzione di aging della password.)

Per maggiori informazioni su passwd(1) e sulla funzione di aging delle password, vedere man Pages(1): User Commands.

Processi e PID

Non appena il sistema interpreta un comando, per la sua esecuzione viene creato un processo indipendente dotato di un numero di identificazione (PID) esclusivo. Il sistema utilizza il PID per tenere traccia dello stato corrente di ogni processo.

Visualizzazione dei comandi in esecuzione (ps)

Il comando ps permette di visualizzare i processi in corso di esecuzione. Oltre a visualizzare il numero di identificazione del processo (PID) per tutti i processi di proprietà dall'utente (cioè creati in seguito a un comando digitato dall'utente), ps indica anche il terminale dal quale il processo è stato avviato (TTY), il tempo della cpu utilizzato fino a quel momento (TIME) e il comando in corso di esecuzione (COMMAND).

Aggiungendo l'opzione -l al comando ps, il sistema visualizza una serie di altre informazioni relative ai processi correntemente attivi, tra cui lo stato di tutti i processi (elencati sotto S). I codici utilizzati per l'indicazione degli stati sono i seguenti:

È importante ricordare che durante l'esecuzione di ps lo stato dei processi può cambiare. Poiché il comando ps fornisce solo uno spaccato di ciò che accade in un determinato momento, le informazioni visualizzate valgono solo per l'istante successivo all'invio del comando. Di conseguenza, l'output di ps potrebbe non essere perfettamente aggiornato.

Il comando ps(1) dispone di altre opzioni non trattate in questo paragrafo. Per informazioni più approfondite, vedere man Pages(1): User Commands.

Interruzione dei processi (kill)

Il comando kill permette di interrompere in modo diretto un processo in esecuzione. Questo risulta particolarmente utile quando si avvia per errore un comando che comporta un certo tempo di esecuzione.

Per interrompere un processo:

  1. Digitare ps per visualizzare il PID del processo.

  2. Digitare kill seguito dal PID del processo.

    L'esempio seguente illustra la procedura da seguire:

    $ ps
    PID    TTY    TIME    COMMAND
    1291   co     0:12    -bin/csh (csh)
    3250   p0     0:00    ps
    1286   p1     0:05    -bin/csh (csh)
    3248   p1     0:05    vi commands
    $ kill 1291
    [1}  Terminated       -bin/csh/ (csh)
    $

    Un metodo più rapido per determinare il PID del processo consiste nell'inviare l'output di ps al comando grep utilizzando il simbolo di pipe. Ad esempio:

    $ ps | grep nomecomando
    

    dove nomecomando è il nome del processo che si desidera interrompere.

    Per interrompere forzatamente un processo, usare il comando ps con l'opzione -9 nella forma seguente:

    $ kill -9 nPID
    

    dove nPID è il numero di identificazione del processo che si desidera interrompere.

Gestione dello spazio sul disco

Poiché lo spazio sul disco è una risorsa limitata, è buona norma tenersi aggiornati sullo stato di occupazione del proprio sistema.

Visualizzazione dello spazio occupato sul disco (-df --k)

Il comando df -k visualizza lo spazio correntemente occupato in ogni disco accessibile (attivato) del proprio sistema. Digitando:

$ df -k

vengono visualizzati la capacità di ogni disco attivato sul sistema, lo spazio disponibile e la percentuale di spazio già occupata.

Se un file system risulta occupato al 90% o oltre è consigliabile cancellare i file non necessari. È possibile ad esempio spostare i file su un altro disco o su un nastro usando cp per copiarli e quindi rm per cancellarli, oppure cancellarli direttamente. Naturalmente si raccomanda di eseguire queste operazioni di "manutenzione" solo sui propri file.

Visualizzazione dello spazio occupato dalle directory (du)

Il comando du permette di visualizzare lo spazio occupato da una directory e dalle relative sottodirectory in blocchi di 512 byte, vale a dire in unità di 512 byte o caratteri.

du visualizza lo spazio occupato da ogni sottodirectory. Per ottenere un elenco delle sottodirectory di un file system, spostarsi con cd nella directory superiore del file system e digitare il seguente comando:

$ du | sort -r -n

Questo comando, che utilizza le opzioni di ordinamento inverso (-r) e numerico (-n) del comando sort, permette di identificare facilmente le directory di grandi dimensioni. Con il comando ls -l è quindi possibile esaminare le dimensioni (in byte) e le date di modifica dei file contenuti nelle singole directory. L'eccessiva occupazione dello spazio sul disco è spesso dovuta alla presenza di vecchi file o di file di testo che occupano più di 100 Kbyte.