Linux permite a multiples usuarios tener acceso al sistema operativo a la vez. La configuración de permisos proteje a los usuarios de ellos mismos. Los usuarios pueden ser asignados a grupos para compartir privilegios, seguridad y acceso. El acceso de archivos y dispositivos puede ser restringido en base a usuarios específicos o grupos de usuarios.
Los grupos se usan con frecuencia para permitir que ciertos usuarios modifiquen un archivo o directorio.
Los dos tipos de grupos principales son grupos primarios y grupos secundarios. El grupo primario de un usuario es el grupo por defecto con el que se asocia la cuenta, generalmente comparte el mismo nombre que el usuario. Los directorios y los archivos que el usuario crea tendrán asignados este grupo. Un grupo secundario es cualquier grupo adicional del que un usuario sea parte.
Creación de grupos
Creemos dos grupos llamados "writers" y "editors". Usa el comando groupadd
(es posible que necesites usar el comando sudo
al inicio para tener el permiso adecuado para crear el grupo):
groupadd writers
groupadd editors
Creación de usuarios
Puede que ya tengas usuarios para agregar a tu grupo. Si no, aquí está la sintaxis básica para crear un usuario con el comando useradd
:
useradd [options] username
Aquí está para crear un usuario llamado "quincy". El argumento -m
le dice al comando que cree el directorio principal del usuario con el mismo nombre que el usuario. El argumento con su valor -p p4ssw0rd
crea la contraseña "p4ssw0rd" para el usuario.
useradd -m quincy -p password
Los usuarios serán capaces de cambiar su contraseña con el comando passwd
. Para ello, tendrán que ingresar su contraseña actual en ese momento y luego definir una nueva.
Agregar un usuario a un grupo
Puedes usar el comando usermod
para agregar un usuario a un grupo. Así es cómo agregaríamos el usuario "quincy" al grupo "writers". El argumento -a
significa "añadir" (append) y el argumento -G
agrega un grupo como un grupo secundario.
usermod -a -G writers quincy
Cuando un usuario es creado con el comando adduser
, este es automáticamente asignado a un grupo primario con el mismo nombre que el usuario. En nuestro ejemplo, actualmente el usuario "quincy" es parte de un grupo primario "quincy" y de un grupo secundario "writers".
También puedes agregar un usuario a muchos grupos a la vez al separar por comas los nombres de los grupos, así -G group1,group2,group3
.
El siguiente comando cambia el grupo primario del usuario "quincy" de "quincy" a "editors":
usermod -g editors quincy
Remover un usuario de un grupo secundario
Para remover un usuario de un grupo secundario necesitas sobreescribir los grupos a los que actualmente este usuario pertenece, por una nueva lista de grupos dónde no esté el grupo que se quiere remover.
Primero, usa el comando id
para verificar a cuáles grupos secundarios pertenece un usuario:
id -nG quincy
Digamos que este comando nos devuelve editors writers
, esto indica que el usuario "quincy" es parte de los grupos "editors" y "writers". Si quieres remover al usuario del grupo "writers", usa el comando:
usermod -G editors quincy
Ese comando establece como grupo secundario del usuario "quincy" como "editors". Ya que el argumento -a
no fue usado, los grupos previos fueron sobreescritos.
Conclusión
Deberías ahora estar listo para manejar usuarios y grupos en Linux. El siguiente paso es determinar qué privilegios debería tener cada grupo.
Traducido del artículo de Beau Carnes - Linux User Groups Explained: How to add a new group, a new group member, and change groups