Quindi c'è chown
che consente di modificare il proprietario e il gruppo di file e/o directory. Ma c'è anche chgrp
che cambia solo il gruppo. Perché era chgrp
creato? Non è ridondante?
Risposta accettata:
chown
inizialmente non è stato possibile impostare il gruppo. Successivamente, alcune implementazioni lo hanno aggiunto come chown user.group
, alcuni come chown user:group
fino a quando non è stato infine standardizzato (sottolineatura mia):
Il metodo 4.3 BSD per specificare proprietario e gruppo è stato incluso in
questo volume di POSIX.1-2008 perché:
Ci sono casi in cui non è stato possibile raggiungere la condizione finale desiderata
utilizzando le utilità chgrp e chown (che hanno modificato solo l'ID utente).
(Se l'attuale proprietario non è un membro del gruppo desiderato e il
il proprietario desiderato non è un membro del gruppo corrente, la funzione chown()
potrebbe non riuscire a meno che sia il proprietario che il gruppo non vengano modificati contemporaneamente
.)
Anche se possono essere modificati indipendentemente, nei casi in cui entrambi
vengono modificati, c'è una penalità di prestazioni del 100% causata dall'essere
costretti a invocare entrambe le utilità.
Anche adesso, chown :group
per cambiare solo il gruppo non è portatile o standard.
chown user:
(per assegnare il gruppo principale dell'user
nel database degli utenti) non è nemmeno standard.