Si chown puede cambiar grupos, ¿por qué se creó chgrp?

23

Entonces, hay una chownque le permite cambiar el propietario y el grupo de archivos y / o directorios. Pero también hay chgrpque solo cambia el grupo. ¿Por qué fue chgrpcreado? ¿No es redundante?

dayuloli
fuente
Puede consultar el enlace aquí para obtener más información. serverfault.com/questions/462174/…
Ramesh

Respuestas:

36

chownInicialmente no se pudo establecer el grupo. Más tarde, algunas implementaciones lo agregaron como chown user.group, algunas chown user:grouphasta que finalmente se estandarizó (el énfasis es mío):

El método 4.3 BSD para especificar tanto el propietario como el grupo se 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 de 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 pudieran cambiarse de forma independiente, en los casos en que ambos se cambian, existe una penalización de rendimiento del 100% causada por la obligación de invocar ambas utilidades.

Incluso ahora, chown :groupsolo cambiar el grupo no es portátil ni estándar.

chown user:(para asignar el grupo primario de useren la base de datos del usuario) tampoco es estándar.

Stéphane Chazelas
fuente
2
@dayuloli, gracias por la edición, pero no incluí esa sección de la especificación porque no la entiendo
Stéphane Chazelas
¡Buena pregunta! ¡Votado!
dayuloli
Es bueno ver que: grupo y usuario: han sido mencionados como no estándar. Muchas personas aquí solo verifican lo que hace su proveedor local y esto no es útil en un portal genérico de UNIX.
schily