Comando chmod

Scopo

Modifica le modalità file.

Sintassi

Per modificare simbolicamente le modalità file

chmod [ -R ] [ -h ] [ -f ] [ [ u ] [ g ] [ o ] | [ a ] ] { { - | + | = } [ r ] [ w ] [ x ] [ X ] [ s ] [ t ] } { File ... | Indirizzario ... }

Per modificare numericamente le modalità file

chmod [ -R ] [ -h ] [ -f ] Codice autorizzazione { File ... | Indirizzario ... }

Descrizione

Il comando chmod modifica i bit modalità e gli ACL estesi degli indirizzari e dei file specificati. La modalità può essere definita simbolicamente o numericamente (modalità assoluta).

Quando si individua un collegamento simbolico e non è stato specificato l'indicatore -h, il comando chmod cambia la modalità del file o indirizzario a cui fa riferimento il collegamento e non la modalità del collegamento stesso. Se si specifica l'indicatore -h, il comando chmod impedisce la modifica di tale modalità.

Se si specifica sia l'indicatore -h che l'indicatore -R, il comando chmod viene eseguito sugli indirizzari specificati in modo ricorsivo e, quando viene individuato un collegamento simbolico, la modalità del file o dell'indirizzario a cui fa riferimento il collegamento non viene modificata.

Indicatori

-f Evita la visualizzazione di tutte le notifiche errore con l'eccezione delle autorizzazioni non valide e delle istruzioni di utilizzo.
-h Evita la visualizzazione di una modifica modalità per il file o l'indirizzario a cui fa riferimento un collegamento simbolico individuato.
Nota:
questa funzionalità è lievemente differente da quella dell'indicatore -h sui comandi chgrp e chown, poiché i bit della modalità non possono essere impostati su collegamenti simbolici.
-R Viene eseguito solo su indirizzari in modo ricorsivo, come specificato dal modello File...|Indirizzario.... L'indicatore -R modifica i bit della modalità file di ogni indirizzario e di tutti i file che corrispondono al modello specificato. Consultare l'esempio 6.

Quando si individua un collegamento simbolico e un collegamento punta a un indirizzario, i bit della modalità file di tale indirizzario vengono modificati ma l'indirizzario non viene ulteriormente passato.

Modalità simbolica

Per specificare una modalità in formato simbolico, è necessario specificare tre serie di indicatori.

Nota:
non separare gli indicatori con spazi.

La prima serie di indicatori specificare a quale utente vengono concesse o negate le autorizzazioni specificati, nel seguente modo:

u Proprietario del file.
g Voci ACL estese e gruppo appartenenti al gruppo del file.
o Tutti gli altri.
a Utente, gruppo e tutti gli altri. L'indicatore a ha lo stesso effetto della specifica degli indicatori ugo. Se non si specifica alcuno degli indicatori, il valore predefinito è l'indicatore a e viene applicata la maschera di creazione file (umask).

La seconda serie di indicatori specifica se è necessario rimuovere le autorizzazioni, applicate o impostate:

- Rimuove le autorizzazioni specificate.
+ Applica le autorizzazioni specificate.
= Elimina il campo di autorizzazione selezionato e lo imposta sull'autorizzazione specificata. Se non si specifica un'autorizzazione dopo =, il comando chmod rimuove tutte le autorizzazioni dal campo selezionato.

La terza serie di indicatori specifica le autorizzazioni da rimuovere, applicare o impostare:

r Autorizzazione alla lettura.
w Autorizzazione alla scrittura.
x Autorizzazione all'esecuzione per i file; autorizzazione alla ricerca di indirizzari.
X Autorizzazione all'esecuzione di file se i bit di modalità (non modificati) dispongono di almeno una serie di bit di esecuzione, gruppo o utente. L'indicatore X viene ignorato se si specifica il parametro File e nessuno dei bit di esecuzione viene impostato nei bit della modalità corrente.

Autorizzazione alla ricerca di indirizzari.

s L'autorizzazione all'impostazione di ID utente sull'esecuzione, se si specifica o si implica l'indicatore u. L'autorizzazione all'impostazione di ID gruppo sull'esecuzione, se si specifica o si implica l'indicatore g.
t Per indirizzari, indica che solo i proprietari dei file possono collegare o annullare il collegamento di file nell'indirizzario specificato. Per i file, imposta l'attributo save-text.

Modalità assoluta o numerica

Il comando chmod consente inoltre di utilizzare una notazione ottale per la modalità. La modalità numerica è la somma di uno o più dei seguenti valori:

4000 Imposta l'ID utente durante l'esecuzione.
2000 Imposta l'ID gruppo durante l'esecuzione.
1000 Imposta l'autorizzazione al collegamento agli indirizzari o imposta l'attributo save-text per i file.
0400 Consente la lettura da parte del proprietario.
0200 Consente la scrittura da parte del proprietario.
0100 Consente l'esecuzione o la ricerca da parte del proprietario.
0040 Consente la lettura da parte del gruppo.
0020 Consente la scrittura da parte del gruppo.
0010 Consente l'esecuzione o la ricerca da parte del gruppo.
0004 Consente la lettura da parte di altri utenti.
0002 Consente la scrittura da parte di altri utenti.
0001 Consente l'esecuzione o la ricerca da parte di altri utenti.
Note:
  1. La specifica della modalità disabilita automaticamente qualsiasi ACL esteso.
  2. La modifica delle autorizzazioni di accesso al gruppo influenza simbolicamente anche le voci di ACL esteso. Alle voci di gruppo nell'ACL che sono uguali al gruppo di proprietà del file viene negata l'autorizzazione rimossa dalla modalità.
  3. E' possibile specificare più modalità simboliche separate da virgole. Le operazioni vengono eseguite nell'ordine in cui vengono visualizzate da sinistra a destra.
  4. E' necessario specificare la modalità simbolicamente o utilizzare un ottale di 4 caratteri esplicito con uno zero iniziale (ad esempio, 0755) quando si rimuove l'autorizzazione all'impostazione dell'ID gruppo durante l'esecuzione dagli indirizzari.

Sicurezza

Access Control: installare questo programma come normale programma utente nel Trusted Computing Base.

Solo il proprietario del file o l'utente root può modificare la modalità di un file.

Stato di uscita

Questo comando restituisce i seguenti valori di uscita:

0 Il comando è stato eseguito correttamente e sono state apportate tutte le modifiche richieste.
>0 Si è verificato un errore.

Esempi

  1. Per aggiungere un tipo di autorizzazione a numerosi file:

    chmod  g+w  chap1  chap2

    In questo modo viene aggiunta l'autorizzazione alla scrittura per membri del gruppo nei file chap1 e chap2.

  2. Per eseguire numerose modifiche di autorizzazione contemporaneamente:

    chmod  go-w+x  mydir

    In questo modo si nega ai membri del gruppo e ad altri utenti l'autorizzazione alla creazione o all'eliminazione dei file in mydir (go-w) e consente ai membri del gruppo e agli altri utenti di ricercare mydir o di utilizzarlo in un nome percorso (go+x). Questo è equivalente alla sequenza di comandi:

    chmod  g-w  mydir
    chmod  o-w  mydir
    chmod  g+x  mydir
    chmod  o+x  mydir
  3. Per consentire solo al proprietario di utilizzare una procedura shell come comando:

    chmod  u=rwx,go= cmd

    In questo modo viene fornita autorizzazione alla lettura, scrittura ed esecuzione all'utente proprietario del file (u=rwx). Viene inoltre negata al gruppo e agli altri l'autorizzazione per accedere a cmd in qualsiasi modo (go=).

    Se si dispone dell'autorizzazione all'esecuzione del file del comando di shell, cmd, è possibile eseguirlo immettendo:

    cmd
    Nota:
    a seconda della variabile di shell PATH, è possibile che sia necessario specificare il percorso completo al file cmd.
  4. Per utilizzare le modalità di impostazione ID:

    chmod  ug+s  cmd

    Quando viene eseguito il comando cmd, gli ID utente e gruppo effettivi vengono impostati sui proprietari del file cmd. Vengono modificati solo gli ID effettivi associati al processo secondario che esegue il comando cmd. Gli ID effettivi della sessione shell rimangono invariati.

    Tale funzione consente di assegnare l'accesso ai file limitati. Si supponga che il programma cmd abbia la modalità di impostazione ID utente abilitata e sia di proprietà di un utente denominato dbms. L'utente dbms non è effettivamente una persona, ma può essere associato a un sistema di gestione database. L'utente betty non dispone dell'autorizzazione per accedere ad alcun file di dati dbms. Tuttavia, tale utente dispone dell'autorizzazione all'esecuzione del comando cmd. Quando effettua tale operazione, il relativo ID utente effettivo viene temporaneamente modificato in dbms, in modo che il programma cmd possa accedere ai file di dati di proprietà dell'utente dbms.

    In questo modo, l'utente betty può utilizzare il comando cmd per accedere ai file di dati, ma non può danneggiarli accidentalmente con i comandi shell standard.

  5. Per utilizzare il formato della modalità assoluta del comando chmod:

    chmod  644  text

    In questo modo viene impostata l'autorizzazione alla scrittura e alla lettura per il proprietario e la modalità di sola lettura per il gruppo e per altri utenti. In questo modo vengono rimossi tutti gli ACL estesi che potrebbero essere associati al file.

  6. Per creare degli indirizzari in modo ricorsivo e modificare le autorizzazioni di modifica indirizzario e file, fornita la struttura ad albero:

    ./dir1/dir2/file1

    ./dir1/dir2/file2

    ./dir1/file1

    immettere questa sequenza di comandi:

    chmod -R 777 f*

    consentirà di modificare le autorizzazioni in ./dir1/file1.

    Ma, fornita la struttura ad albero di:

    ./dir1/fdir2/file1

    ./dir1/fdir2/file2

    ./dir1/file3

    la sequenza di comandi:

    chmod -R 777 f*

    modificherà le autorizzazioni in:

    ./dir1/fdir2

    ./dir1/fdir2/file1

    ./dir1/fdir2/file2

    ./dir1/file3

File

/usr/bin/chmod Contiene il comando chmod.

Invia feedback |  Valuta questa pagina