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.
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:
Scegliere una password che si riesca a ricordare a memoria. Una password difficile da ricordare è peggio di una password troppo facile da indovinare.
Scegliere una password formata da almeno sei caratteri e che contenga almeno un numero.
Non utilizzare il proprio nome o le proprie iniziali né il nome o le iniziali di amici o parenti.
Non utilizzare nomi di animali o di oggetti legati ai propri interessi.
Non utilizzare solo lettere maiuscole.
Se si dispone di più profili utente, non utilizzare la stessa password per tutti.
Benché in linea generale sia ammesso l'utilizzo di qualsiasi carattere, è preferibile evitare alcuni caratteri o combinazioni come Ctrl-C, Ctrl-Z, Ctrl-U, Ctrl-S, Esc, Tab e, in alcuni casi, # e @, che potrebbero essere interpretati dal terminale come segnali. In questo caso, l'interpretazione errata del carattere impedirebbe di inserire la password correttamente.
Per cambiare la propria password, digitare il comando passwd:
$ passwd Changing password for hankw on worker Old password: New password: Retype new password: $ |
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.
Al prompt New Password:, inserire la nuova password prescelta.
Anche in questo caso, la password inserita non verrà visualizzata sullo schermo.
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.
Non sono ammesse password che contengano meno di sei caratteri. Inoltre, ogni nuova password deve contenere almeno tre caratteri diversi da quella vecchia.
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.
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.
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:
O - Il processo è attivo su un processore.
S - Sleeping: il processo sta attendendo la conclusione di un evento.
Z - Stato Zombie: il processo è terminato e il processo padre non è in attesa.
T - Traced: il processo è stato interrotto da un segnale perché il processo padre sta eseguendo un trace su di esso.
X - Stato SXBRK: il processo attende che si renda disponibile una maggiore quantità di memoria centrale.
È 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.
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:
Digitare ps per visualizzare il PID del processo.
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.
Poiché lo spazio sul disco è una risorsa limitata, è buona norma tenersi aggiornati sullo stato di occupazione del proprio sistema.
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.
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.