CHMOD(1)

NOME
chmod - cambia i permessi di accesso di un file

SINTASSI
chmod [opzioni] permessi file...

Opzioni POSIX: [-R]

Opzioni GNU (forma breve): [-cfvR] [--help] [--version] [--]

DESCRIZIONE
chmod cambia i permessi di ogni dato secondo i permessi dati, i quali possono essere o una rappresentazione simbolica delle modifiche da fare, o un numero ottale che rappresenta il modello dei bit per i nuovi permessi.

Il formato per un argomento simbolico è
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.

Un tale argomento è formato da un elenco di comandi simbolici separati da virgole. Ciascun argomento simbolico comincia con zero o più lettere fra «ugoa»; queste determinano quale utente vedrà cambiato il suo accesso al file: l'utente proprietario (u), altri utenti nel gruppo del file (g), altri utenti non nel gruppo del file (o) [NdT: other] oppure tutti gli utenti (a) [NdT: all]. Perciò, «a» equivale a «ugo». Se nessuna di queste viene fornita, l'effetto è come se fosse stata data un'«a», ma i bit impostati nella umask non vengono toccati.

L'operatore «+» aggiunge i permessi specificati a quelli già esistenti di ogni file, «-» li rimuove, «=» li imposta come gli unici permessi del file.

Le lettere «rwxXstugo» selezionano i nuovi permessi per gli utenti interessati: leggibile (r) [NdT: readable], scrivibile (w) [NdT: writable], eseguibile (o accessibile per le directory) (x) [NdT: executable], eseguibile solo se il file è una directory o è già eseguibile per alcuni utenti (X); imposta l'user o group ID sull'esecuzione (s), il bit «sticky» (appiccicoso) (t), gli stessi permessi del proprietario del file (u), gli stessi permessi degli altri utenti nel gruppo del file (g), i permessi degli altri utenti che non sono nel gruppo del file (o) (perciò, `chmod g-s file' rimuove il bit «set-group-ID» (sgid), `chmod ug+s file' imposta sia il bit suid che il bit sgid, mentre `chmod o+s file' non fa niente).

Il bit sticky non è descritto in POSIX. Il suo nome deriva dal significato originale: mantieni il testo del programma sul device di swap. Al giorno d'oggi, se impostato per una directory, significa che solo il proprietario del file o della directory può rimuovere il file dalla detta directory (ciò viene solitamente usate in directory come /tmp, scrivibili da chiunque).

Un permesso numerico è dato da una fino a quattro cifre ottali (0-7), ricavate sommando i bit con i valori 4, 2, 1. Le cifre omesse sono condiderate zeri iniziali. La prima cifra seleziona gli attributi set user ID (4), set group ID (2), e sticky (1). La seconda cifra seleziona i permessi per il proprietario del file: lettura (4), scrittura (2) ed esecuzione (1); il terzo i permessi per gli altri utenti nel gruppo del file, con gli stessi valori; il quarto per gli utenti non nel gruppo, con identici valori.

chmod non cambia mai i permessi di un link simbolico, non potendo la chiamata di sistema di chmod cambiare i suoi permessi. Questo non è un problema dal momento che i permessi di un link simbolico non vengono mai usati. Comunque, per ogni link simbolico indicato sulla linea di comando, chmod cambia i permessi del file a cui punta il link. In contrasto, chmod ignora i link simbolici incontrati mentre percorre ricorsivamente le directory.

OPZIONI POSIX

-R  Cambia ricorsivamente la proprietà delle directory e dei file contenuti (e continua anche se ci sono degli errori).

OPZIONI GNU

-c, --changes
    Descrive in dettaglio ogni modifica fatta ai permessi di un file.

-f, --silent, --quiet
    Non mostra messaggi d'errore sui file i cui permessi non possono essere cambiati.

-v, --verbose
    Descrive in dettaglio le azioni intraprese (o meno) per ogni file.

-R, --recursive
    Cambia ricorsivamente i permessi delle directory e dei file contenuti.

OPZIONI GNU STANDARD

--help
    Stampa un messaggio di spiegazione sullo standard output ed esce (con successo).

--version
    Stampa informazioni sulla versione sullo standard output ed esce (con successo).

--  Termina l'elenco delle opzioni.

AMBIENTE
Le variabili LANG, LC_ALL, LC_CTYPE e LC_MESSAGES hanno il solito significato.

CONFORME A
POSIX 1003.2 richiede solo l'opzione -R. L'uso delle oltre opzioni potrebbe non essere portatile. Lo standard nondescrive il bit di permesso «t». Lo standard non specifica se chmod deve essere coerente azzerando o rifiutandosi di impostare i bit suid e sgid, cioè quando tutti i bit di esecuzioni vengono azzerati, o se addirittura chmod onora i bit «s».

MODI NON STANDARD
Sopra abbiamo descritto l'utilizzo del bit «t» per le directory. Vari sistemi danno un significato speciale a combinazioni di bit di permesso che sarebbero altrimenti prive di senso. In particolare, Linux, seguendo System V (vedi «System V Interface Definition (SVID) Version 3»), denota col bit sgid di un file senza permessi il locking obbligatorio. Per ulteriori dettagli, si veda /usr/src/linux/Documentation/mandatory.txt.

NOTE
Questa pagina descrive chmod come si trova nel pacchetto fileutils-3.16; altre versioni potrebbero differire leggermente. Spedisci correzioni o aggiunte a aeb@cwi.nl, aw@mail1.bet1.puv.fi o ragnar@lightside.ddns.org [NdT: ovviamente, problemi nella traduzione devono essere spediti al traduttore, non agli autori]. Segnala bachi nei programmi a fileutils-bugs@gnu.ai.mit.edu.