Grupos primarios vs secundarios en Linux
¿Cuál es la diferencia entre el grupo primario y secundario? ¿Por qué es necesario un grupo primario?
¿Los permisos del usuario son los mismos que los del grupo principal?
Suponga que hay un usuario A
con grupo principal grp1
y un usuario B
con grupo principal grp2
y grupo secundario grp1
. Entonces, ¿puede B
tener el mismo permiso que A
para los archivos creados por A
?
Respuestas
¿Cuál es la diferencia entre grupo primario y secundario? ¿Cuál es la necesidad del grupo primario?
Desde Grupos Unix :
Grupo principal: especifica un grupo que el sistema operativo asigna a los archivos creados por el usuario. Cada usuario debe pertenecer a un grupo principal.
Grupos secundarios: especifica uno o más grupos a los que también pertenece un usuario. Los usuarios pueden pertenecer a hasta 15 grupos secundarios.
¿Cuál es la necesidad del grupo primario? ¿Los permisos del usuario son los mismos que los del grupo principal?
Imagina que no hay ningún grupo principal asignado a mi usuario y estoy en 10 grupos secundarios. Creo un nuevo archivo ... ¿a qué grupo pertenece este archivo? ¿cuál de estos 10? El grupo primario aborda este problema y define a qué grupo pertenece el archivo de forma predeterminada. No desea que los archivos que está creando en su directorio de inicio sean propiedad del grupo de desarrollo, por lo que cualquier persona de ese grupo puede hacer las cosas que se le permite hacer con ellos como grupo.
Suponga que hay un usuario A con el grupo primario grp1 y el usuario B con el grupo primario grp2 y el grupo secundario grp1. Entonces, ¿puede tener el mismo permiso que A para los archivos creados por A?
¡No! solo permisos definidos por parte del grupo. Por supuesto que es posible hacerlo. Usando umask
por ejemplo.
Cada archivo es propiedad de un usuario y un grupo, ni más ni menos. Entonces, cuando cree un archivo, será propiedad de su usuario y grupo actual . Cuando un usuario inicia sesión en su grupo actual, será su grupo principal.
Un usuario puede cambiar temporalmente de grupo a cualquiera de sus grupos secundarios con sg o newgrp . El usuario puede hacer esto sin tener una contraseña de grupo siempre que aparezca como grupo secundario para ese usuario. Mientras se cambia, los archivos creados serán propiedad del nuevo grupo, no del usuario.
Para los permisos, los grupos primario y secundario se usan juntos, no es necesario cambiar de grupo para acceder a un archivo propiedad de uno de sus grupos secundarios.
Los usuarios también pueden cambiar el grupo de un archivo a cualquiera de sus grupos (primario o secundario) con chgrp .
En este sentido, el grupo primario es poco más que un grupo actual "predeterminado". Excepto que un usuario debe tener un grupo principal, no hay ninguna razón por la que deba tener otro. Esto es común para crear un nuevo grupo para cada nuevo usuario, de esa manera el nuevo usuario no tiene acceso predeterminado a otros permisos que no sean sus propios usuarios.
De tu pregunta:
Suponga que hay un usuario A con el grupo primario grp1 y el usuario B con el grupo primario grp2 y el grupo secundario grp1. Entonces, ¿pueden tener el mismo permiso que A para los archivos creados por A?
El usuario B tendrá los permisos de grupo asignados a los archivos creados por A. En este escenario, A solo crea archivos con grp1. El usuario A puede quitar cualquiera o todos los permisos del grupo.