
Ahí está chown
el que le permite cambiar el propietario y el grupo de archivos y/o directorios. Pero también está chgrp
el que sólo cambia de grupo. ¿Por qué fue chgrp
creado? ¿No es redundante?
Respuesta1
chown
Inicialmente no se pudo configurar el grupo. Más tarde, algunas implementaciones lo agregaron como chown user.group
, otras como chown user:group
hasta que finalmente fueestandarizado(el énfasis es mío):
El método BSD 4.3 para especificartanto propietario como grupose incluyó en este volumen de POSIX.1-2008 porque:
Hay casos en los que no se pudo lograr la condición final deseada utilizando las utilidades chgrp y chown (que solo cambiaron la ID del usuario). (Si el propietario actual no es miembro del grupo deseado y el propietario deseado no es miembro del grupo actual, la función chown() podría fallar a menos que tanto el propietario como el grupo se cambien al mismo tiempo).
Incluso si se pudieran cambiar de forma independiente, en los casos en los que se cambian ambos, existe una penalización de rendimiento del 100 % causada por verse obligado a invocar ambas utilidades.
Incluso ahora:
chown :group
Cambiar solo el grupo no es portátil ni estándar.chown user:
Asignar el grupo principal deuser
la base de datos de usuarios tampoco es estándar.
Respuesta2
Se requieren privilegios de root al cambiar el usuario propietario* de un archivo.
Un usuario normal puede cambiar el propietario del grupo de un archivo a otro grupo del que sea miembro.
Quizás desde esta perspectiva de privilegios tuviera sentido mantenerlos separados, especialmente en la era anterior a Sudo. chown
Se podría haber hecho algo así setuid
con un grupo de 'admin', permitiendo a los miembros del grupo 'admin' cambiar el usuario propietario de los archivos.
* Utilizo "usuario-propietario" y "grupo-propietario" y "otros" por coherencia con ugo. Confundir "o" con "propietario" es un error común.