Salta l'introduzione Italia - Italiano
HP.com Italia Prodotti e Servizi Supporto e Drivers Soluzioni Come Acquistare
» Contatta HP
Altre opzioni
HP.com Italia
Gestione di sistemi e gruppi di lavoro: Guida per gli amministratori di sistema HP-UX > Capitolo 3 Configurazione di un sistema

Controllo dell’accesso ad un sistema

» 

Documentazione tecnica

Libro completo in PDF
» Feedback
Inizio contenuto

 » Sommario

 » Indice

È possibile controllare chi abbia accesso al proprio sistema, ai suoi file ed ai suoi processi.

Gli utenti autorizzati accedono al sistema fornendo un nome utente (nome di login) ed una password validi. Ogni utente è definito da una voce nel file/etc/passwd. È possibile usare SAM per aggiungere, rimuovere, disattivare, riattivare o modificare un account utente.

Per informazioni aggiuntive sulle password, consultare passwd(4) e passwd(1). Per modificare manualmente le voci dell’account utente, usare il comando /usr/sbin/vipw per modificare /etc/passwd; per i dettagli, consultare vipw(1M).

Consultare anche Capitolo 8, “Amministrazione di un sistema: Gestione della sicurezza del sistema”.

Aggiunta di utente ad un sistema

È possibile aggiungere un utente in molti modi.

Per aggiungere un utente, si realizzano le seguenti procedure:

  • Assicurarsi che l’utente disponga di un UID esclusivo.

  • Inserire una riga per l’utente nel file /etc/passwd.

  • Creare una home directory per l’utente.

  • Creare un ambiente per l’utente.

Prendere in considerazione la realizzazione delle seguenti procedure per il nuovo utente.

Uso di SAM per aggiungere un utente

Se si sta aggiungendo un utente su una macchina remota, prima di usare SAM, digitare i seguenti comandi sulla macchina locale:

/usr/bin/X11/xhost +macchina_remota
export DISPLAY=propria_macchina_locale:0.0
  1. Avviare SAM

    Per avviare SAM, è possibile

    • digitare /usr/sbin/sam

      oppure

    • usare CDE ed accedere ad Application Manager, fare doppio clic su System_Admin e fare doppio clic su SAM.

  2. Scegliere:

    1. Accounts for Users and Groups

    2. Users

    3. Add... dal menu Actions

  3. Completare i campi di testo. Usare un’identificativo utente esclusivo (UID). Il proprio servizio potrebbe avere un programma per stabilire UID esclusivi.

  4. Fare clic su Primary Group Name... ed aggiungere l’utente al gruppo primario ed agli altri gruppi.

  5. Fare clic su OK. Questa operazione apre la finestra della password. Digitare una password e fare clic su OK. Inserire la password quando viene richiesta e fare clic su OK.

  6. Fare clic su OK nella finestra di dialogo Note .

Per vedere i passi che SAM esegue, scegliere Options/View SAM Log...

Quando si usa SAM per aggiungere un utente, SAM compie le seguenti operazioni:

  • crea una voce nel file /etc/passwd per l’utente

  • crea una home directory per l’utente

  • copia i file di avvio (.cshrc, .exrc, .login, .profile) nella home directory dell’utente

Aggiunta manuale di un utente

Usare i seguenti passi per aggiungere un utente dalla riga di comando.

  1. Aggiungere l’utente al file /etc/passwd.

    Come root, usare il comando /usr/sbin/vipw per modificare /etc/passwd. Consultare vipw(1M), passwd(4) e passwd(1)

    Ad esempio, si potrebbe voler aggiungere questa riga per l’utente tom:

    tom:,..:102:20:,,,:/home/tom:/usr/bin/sh

    Il default per la shell è un campo vuoto, il che fa in modo che il sistema usi /sbin/sh come login. La “,..” nel campo della password richiederà che tom imposti la sua password in occasione del suo primo collegamento.

    IMPORTANTE: Notare che la shell per root non deve essere modificata da /sbin/sh.
  2. Creare una home directory Ad esempio:

    /usr/bin/mkdir /home/tom

    Cambiare il possesso della directory nel nome dell’utente. Ad esempio:

    /usr/bin/chown tom:users /home/tom
  3. Assicurarsi che l’utente abbia i file di avvio della shell idonei da eseguire al momento del collegamento. Le tre shell più diffuse dell’ambiente HP-UX sono: shell POSIX, shell Korn e shell C. Ogni shell usa file di avvio specifici.

    Tabella 3-3 File di avvio

    Nome della shell

    Ubicazione

    File di avvio
    shell POSIX

    /usr/bin/sh, /sbin/sh

    .profile e gli eventuali file specificati nella variabile di ambiente ENV (per convenzione .kshrc)
    shell Korn

    /usr/bin/ksh

    shell C

    /usr/bin/csh

    .login e .cshrc
     

    È possibile creare file di avvio standard (modelli) che possono essere copiati nelle directory degli utenti. La directory più di frequente usata a tale scopo è /etc/skel.

    Ad esempio:

    cp /etc/skel/.profile /users/tom/.profile
  4. Cambiare il possesso del file di avvio nell’account del nuovo utente. Ad esempio:

    /usr/bin/chown tom .profile
  5. Aggiungere l’utente ad un gruppo di lavoro primario. Ad esempio:

    /usr/bin/chgrp users tom

Automatizzare il processo di aggiunta di un utente

Quando si devono aggiungere vari utenti ad un sistema, è possibile risparmiare tempo come segue:

  • Uso del modello SAM

  • Uso del comando useradd

Uso del modello SAM

Creare un modello contenente informazioni uniformi sugli account iniziando SAM e poi scegliendo Users and Groups, facendo scendere il menu Actions ed infine scegliendo User Templates e Create. Per i dettagli, leggere la guida in linea di SAM.

Uso del comando useradd

È possibile usare il comando useradd per aggiungere utenti, così come usermod e userdel per modificarli e cancellarli. useradd ha la forma:

/usr/sbin/useradd [opzione]... nome_utente

nome_utente è il nuovo nome di login per l’utente. Le opzioni sono descritte nella Tabella 3-4, “Opzioni useradd ”. Consultare anche useradd(1M).

Tabella 3-4 Opzioni useradd

OpzioneSignificato
-u uidUID (per default, va sul numero maggiore successivo).
-g gruppoNome del gruppo primario o ID di gruppo. Il gruppo deve esistere. Il default è 20.
-G gruppiLista separata da virgola dei gruppi secondari. I gruppi devono esistere.
-b dir_bDirectory di base di default per la home directory dell’utente. Il default è /home.
-d dirNome del percorso della home directory. Il default è dir_b/nome_utente.
-mCreare la home directory /home oltre a definire l’utente.
-s shellShell. Il default è un campo vuoto, che per default va su /sbin/sh.
-c "commenti"

Nome completo o altri commenti. Spesso questo è una stringa separata da virgola nella forma.

nome_completo,ubicazione,telefono_lavoro,telefono_casa

-k dirDirectory scheletro contenente i file di inizializzazione. Il default è /etc/skel.
-e dataData di scadenza dell’account. Non vi è alcun default. Richiede sicurezza avanzata.
-f nNumero di giorni in cui l’account può essere inattivo prima di essere disabilitato. Richiede sicurezza avanzata.
 

Il seguente comando crea un nuovo account utente, aggiunge Patrick al gruppo di lavoro primario (denominato users), crea una home directory e configura una shell Korn di default.

useradd -g users -m -k /etc/skel -s /usr/bin/ksh patrick

La voce risultante nel file /etc/passwd è:

patrick:*:104:20::/home/patrick:/usr/bin/ksh

È possibile creare uno script con tante istanze del comando useradd quante ne siano necessarie. È possibile impostare default diversi con il comando useradd -D.

Controllo dell’accesso del file

I gruppi di lavoro, i permessi del file ed il possesso del file determinano tutti chi possa accedere ad un dato file. Consultare anche Capitolo 8, “Amministrazione di un sistema: Gestione della sicurezza del sistema”.

Definizione di appartenenza al gruppo

Gli utenti del sistema possono essere divisi in gruppi di lavoro in modo che i file posseduti dai membri di un dato gruppo possano essere condivisi e tuttavia restare protetti dall’accesso da parte di utenti che non sono membri del gruppo. Nel file /etc/passwd è incluso un numero di appartenenza del gruppo primario sotto forma di una voce. Le informazioni sul gruppo sono definite in /etc/group e /etc/logingroup.

Gli utenti che sono membri di più di un gruppo, come specificato in /etc/group, possono modificare il loro gruppo attuale con il comando /usr/bin/newgrp. Non occorre usare il comando newgrp se i gruppi di utenti sono definiti in /etc/logingroup. Se non si dividono gli utenti del sistema in gruppi di lavoro separati, è norma comune configurare un gruppo (di solito denominato users) ed assegnare tutti gli utenti del sistema a quel gruppo.

È possibile usare SAM per aggiungere, rimuovere o modificare l’appartenenza al gruppo.

Per modificare manualmente l’appartenza al gruppo, modificare /etc/group ed a scelta /etc/logingroup con un editor di testo, come vi. Sebbene sia possibile inserire una password a livello di gruppo in /etc/group, non si consiglia tale operazione. Per evitare di mantenere file multipli, è possibile collegare /etc/logingroup a /etc/group. Per i dettagli sui file /etc/group e /etc/logingroup, consultare la manpage group(4). Per informazioni sul collegamento dei file, consultare la manpage link(1M).

È possibile assegnare privilegi speciali ad un gruppo di utenti usando il comando /usr/sbin/setprivgrp. Per informazioni, consultare setprivgrp(1M), setprivgrp(2), getprivgrp(2), rtprio(2), plock(2), shmctl(2), chown(1), chown(2), getprivgrp(1), plock(2), shmctl(2),lockf(2), setuid(2), setgid(2) e setgid(2).

Impostazione dei permessi di accesso al file

Il comando /usr/bin/chmod modifica il tipo di accesso (privilegi di lettura, scrittura ed esecuzione) per il possessore del file, i membri del gruppo e tutti gli altri. Soltanto il possessore di un file (o il superutente) può modificarne i privilegi di lettura, scrittura ed esecuzione. Per i dettagli, consultare chmod(1).

Per default, i nuovi file hanno permesso di lettura/scrittura per chiunque (-rw-rw-rw-) e le nuove directory hanno permesso di lettura/scrittura/esecuzione per chiunque (drwxrwxrwx). I permessi di default del file possono essere modificati usando il comando /usr/bin/umask. Per i dettagli, consultare umask(1). Il default per i sistemi sicuri è diverso, consultare “Impostazione del proprio sistema sicuro”.

Impostazione del possesso per i file

Il comando /usr/bin/chown modifica il possesso del file. Per modificare il possessore, occorre possedere il file o avere privilegi di superutente.

Il comando /usr/bin/chgrp modifica il possesso del gruppo di file. Per modificare il gruppo, occorre possedere il file o avere privilegi di superutente.

Per ulteriori informazioni, consultare chown(1) e chgrp(1).

Impostazione delle Liste di controllo dell’accesso

Le liste di controllo dell’accesso (ACL) offrono un grado superiore di protezione del file rispetto ai permessi di accesso al file tradizionali. È possibile usare le ACL per consentire o limitare l’accesso al file a singoli utenti a prescindere dal gruppo di appartenenza degli utenti. Soltanto il possessore di un file (o il superutente) può creare le ACL.

Le ACL sono supportate sui file system JFS ed HFS, ma i comandi e parte della semantica sono diversi. Su un file system JFS, usare setacl(1) per impostare le ACL ed usare getacl(1) per visualizzarle. Su un file system HFS, usare chacl(1) per impostare le ACL ed usare lsacl(1) per visualizzarle. Per una discussione sulle ACL di JFS ed HFS, consultare “Gestione dell’accesso a file e directory”. Per informazioni aggiuntive sulle ACL di JFS, consultare setacl(1), getacl(1) e aclv(5). Per informazioni aggiuntive sulle ACL di HFS, consultare lsacl(1), chacl(1) e acl(5).

NOTA: Le liste di controllo dell’accesso sono supportate in JFS ad iniziare da JFS 3.3, che è incluso con HP-UX 11i. È possibile ottenere JFS 3.3 per HP-UX 11.00 dal Software Depot HP, http://software.hp.com.

Per vedere se JFS 3.3 è installato su un sistema HP-UX 11.00, eseguire

swlist -l fileset JFS

Se JFS 3.3 è installato, l’output includerà una lista dei set di file di JFS. Nel caso in cui si ottenga un messaggio di errore, significa che JFS 3.3 non è installato.

Controllo dell’uso e dei processi con i livelli di esecuzione

Un livello di esecuzione è uno stato di funzionamento HP-UX in cui si consente l’esecuzione ad un set specifico di processi. Questi processi e livelli di esecuzione di default sono definiti nel file /etc/inittab.

I livelli di esecuzione sono:

Livello di esecuzione s
  


Modo operativo usato dagli amministratori di sistema (spesso denominato “stato ad utente unico”). Questo modo assicura che nessun altro si trovi sul sistema mentre si stanno realizzando le procedure di manutenzione del sistema. In questo livello di esecuzione, l’unico accesso al sistema avviene attraverso la console di sistema da parte dell’utente di root. I soli processi in esecuzione sul sistema possono essere la shell sulla console del sistema, i processi del daemon in background avviati da /sbin/rc ed i processi richiamati dall’utente. I comandi che richiedono un sistema inattivo (come /sbin/fsck) devono essere eseguiti in livello di esecuzione s.

Livello di esecuzione 1
  


Avvia un sottoset di processi del sistema essenziali; è possibile usarlo anche per realizzare procedure di amministrazione del sistema.

Livello di esecuzione 2
  


Il modo operativo di solito denominato “stato multiutente”. Questo modo consente a tutti gli utenti di accedere al sistema.

Livello di esecuzione 3
  


Per server NFS. In questo modo, i file system NFS possono essere esportati, secondo le necessità dei server NFS.

Livello di esecuzione 4
  


Per utenti CDE. In questo modo, CDE è attivo. CDE è il desktop di default su HP-UX 10.30 e successivi.

Il livello di esecuzione di default di solito è il livello di esecuzione 3 o 4, a seconda del sistema. Il livello di esecuzione di default per CDE è 4.

Per stabilire il livello di esecuzione attuale del processo init, digitare:

who -r

È possibile aggiungere e modificare la sequenza dei processi che HP-UX avvia a ciascun livello di esecuzione. Consultare “Personalizzazione dell’avvio e dello spegnimento”. Consultare anche la manpage inittab(4).

È possibile usare SAM per spegnere un sistema e modificare il livello di esecuzione attuale nello stato ad utente unico. Usare i menu “Routine Tasks” e “System Shutdown”.

Il superutente collegato alla console di sistema può anche modificare il livello di esecuzione attuale con il comando /sbin/init, come segue:

  1. Avvisare tutti gli utenti attualmente collegati. Ogniqualvolta si modifica il livello di esecuzione del sistema, gli eventuali processi che non hanno una voce di livello di esecuzione che coincida con il nuovo livello di esecuzione saranno soppressi. Dopo l’invio di un segnale di avvertimento automatico, vi è un periodo di proroga di 20 secondi.

  2. Per modificare sul livello di esecuzione s, usare il comando shutdown.

    Per modificare su un livello di esecuzione diverso dal livello di esecuzione s, usare il comando init .

    Consultare shutdown(1M) ed init(1M).

ATTENZIONE: Usare soltanto il comando shutdown per modificare al livello di esecuzione s (cioè, non specificare /sbin/init s). Il comando shutdownporta il sistema in sicurezza al livello di esecuzione s senza lasciare le risorse del sistema in uno stato di inutilizzo. Il comando shutdown consente anche di specificare un periodo di proroga per fare in modo che gli utenti possano terminare il loro lavoro prima della disattivazione del sistema. Ad esempio, per entrare nel livello di esecuzione s dopo aver concesso 30 secondi, inserire:
shutdown 30

Per spegnere immediatamente, inserire una delle seguenti voci:

shutdown now
shutdown 0

Non usare il livello di esecuzione 0; si tratta di un livello di esecuzione speciale riservato all’installazione del sistema.

Per una maggior sicurezza, assicurarsi che i permessi (ed il possesso) per i file /sbin/init ed /etc/inittab siano impostati come segue:

-r-xr-xr-x    bin     bin             /sbin/init
-r--r--r--    bin     bin             /etc/inittab
Versione stampabile
Informativa sulla privacy Usando questo sito si accettano le sue condizioni
© 1997-2006 Hewlett-Packard Development Company, L.P.