chown è anche il nome di una chiamata di sistema definita dallo standard POSIX[2] che appunto modifica il proprietario ed il gruppo assegnato di file e directory. Di fatto il comando chown opera invocando l'omonima chiamata di sistema.
In alcuni sistemi (solitamente di derivazione BSD, ma anche Linux) solo il superuser (root) può modificare il proprietario di un file o directory, mentre in altri sistemi (tipicamente derivanti da UNIX System V) essa può essere effettuata anche dal proprietario corrente del file.
Il parametro utente indica il nome del nuovo proprietario del file.
Il parametro facoltativo gruppo indica il nuovo gruppo da assegnare al file.
I parametri file specificano i nomi dei file e/o directory da modificare.
Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
Tra le opzioni principali vi sono:
-h
In caso di collegamenti simbolici, se il sistema lo prevede, modifica il proprietario ed il gruppo del collegamento simbolico invece che quelli della sua destinazione.
-R
Applica le modifiche ricorsivamente alle directory specificate ed ai file e subdirectory in esse contenute.
Esempi
Imposta l'utente alice come nuovo proprietario del file:
chown -R alice /home/roberto/file
Imposta l'utente carlo come nuovo proprietario del file /home/roberto/file e gli assegna il gruppo vendite:
chown carlo:vendite /home/roberto/file
Compatibilità con il passato, separando il nome del proprietario dal nome del gruppo con un punto (.) anziché con due punti (:), sconsigliato
chown carlo.vendite /home/roberto/file
La chiamata di sistema chown
La chiamata di sistema chown è dichiarata nello header fileunistd.h: