El shell de linux: Usuarios y grupos
No trabajo habitualmente con usuarios locales porque en los centros tenemos centralizados los usuarios en un servidor de LDAP, pero en ocasiones hay que crear algún usuario local. Éstos son algunos de los comandos que suelo usar para trabajar con usuarios y grupos:
Añadir usuarios.
Cuando necesito añadir nuevos usuarios locales, normalmente utilizo adduser, que, además de crear el usuario, crea también su home.
Si queremos crear un usuario, pero no necesitamos crear un directorio home para él, podemos emplear useradd en lugar de adduser.
Podemos ajustar algunas preferencias a la hora de crear usuarios en el fichero: /etc/adduser.conf.
Ejemplo:
# adduser mfernandez
Y el sistema nos preguntará los datos del usuario, además de una password de acceso.
Por defecto, se creará un grupo con el nombre del usuario y éste será el grupo por defecto. Este comportamiento puede modificarse en /etc/adduser.conf.
Ejemplo: Si queremos añadir un nuevo usuario, llamado enavas al sistema, estableciendo users como su grupo principal, podemos hacerlo de la siguiente manera:
# adduser –ingroup users enavas
Ahora bien, si lo que queremos es añadir un usuario a un grupo existente, podemos hacerlo de la siguiente manera:
# adduser usuario grupo
Ejemplo: Supongamos que queremos añadir el usuario enavas al grupo plugdev:
# adduser enavas plugdev
El comando anterior añade el usuario enavas, previamente creado, al grupo plugdev.
Añadir grupos.
Para añadir grupos locales al sistema, podemos emplear el comando addgroup.
También podemos ajustar algunas preferencias a la hora de crear usuarios en el fichero: /etc/adduser.conf.
Podemos añadir un nuevo grupo local al sistema con el comando addgroup.
# addgroup grupo
Ejemplo: Si queremos añadir el grupo profesores al sistema, ejecutaremos:
# addgroup profesores
Una última cosa: De forma alternativa, en lugar de usar los comandos adduser y addgroup, podemos añadir usuarios y grupos empleando otros comandos como useradd y groupadd. Estos comandos leen información de configuración del fichero /etc/login.defs.
Eliminar usuarios.
Para eliminar usuarios podemos usar el comando userdel.
Ejemplo: Si queremos eliminar el usuario local dfernandez, ejecutaremos el siguiente comando:
# userdel dfernandez
Si, además, empleamos el parámetro -r, también se borrará el directorio personal del usuario con todo su contenido.
Ejemplo:
# userdel -r dfernandez
Eliminar grupos.
Para eliminar grupos podemos emplear el comando groupdel.
Ejemplo: Si queremos eliminar el grupo alumnos del sistema local, ejecutaremos:
# groupdel alumnos
Modificar usuarios y grupos
Para modificar las características de los usuarios y grupos se emplean los comandos usermod y groupmod.
Ejemplo: Imaginemos que queremos cambiar el directorio home del usuario dgonzalezs01 para que sea /home/alumnos/dgonzalezs01.
# usermod -d /home/alumnos/dgonzalezs01 -m
La opción -m hace que mueva el contenido del antiguo home al nuevo emplazamiento.
Si lo que queremos es cambiar el grupo inicial al que pertenece el usuario, haremos lo siguiente:
# usermod -g grupo usuario
Ejemplo: Cambia el grupo inicial del usuario jmartinezd01 para que sea profesor.
# usermod -g profesor jmartinezd01
Si queremos cambiar el nombre del usuario:
# usermod -l nuevonombre nombreactual
Ejemplo:
# usermod -l cfernandez carlosfernandez
El nuevo nombre del usuario carlosfernandez será cfernandez.
Y si queremos cambiar el nombre de un grupo, lo haremos de la siguiente manera:
# groupmod -n nuevonombregrupo nombreactualgrupo
Ejemplo:
# groupmod -n profesores profes
Cambia el nombre del grupo profes a profesores.
Algunos ficheros relacionados con las cuentas de usuario son:
/etc/passwd: contiene información sobre cada usuario:
/etc/group: contiene los miembros de cada grupo, excepto para el grupo principal, que aparece en el fichero /etc/passwd.
/etc/skel: directorio que contiene el contenido del directorio de los nuevos usuarios.
Añadir usuarios.
Cuando necesito añadir nuevos usuarios locales, normalmente utilizo adduser, que, además de crear el usuario, crea también su home.
Si queremos crear un usuario, pero no necesitamos crear un directorio home para él, podemos emplear useradd en lugar de adduser.
Podemos ajustar algunas preferencias a la hora de crear usuarios en el fichero: /etc/adduser.conf.
Ejemplo:
# adduser mfernandez
Y el sistema nos preguntará los datos del usuario, además de una password de acceso.
Por defecto, se creará un grupo con el nombre del usuario y éste será el grupo por defecto. Este comportamiento puede modificarse en /etc/adduser.conf.
Ejemplo: Si queremos añadir un nuevo usuario, llamado enavas al sistema, estableciendo users como su grupo principal, podemos hacerlo de la siguiente manera:
# adduser –ingroup users enavas
Ahora bien, si lo que queremos es añadir un usuario a un grupo existente, podemos hacerlo de la siguiente manera:
# adduser usuario grupo
Ejemplo: Supongamos que queremos añadir el usuario enavas al grupo plugdev:
# adduser enavas plugdev
El comando anterior añade el usuario enavas, previamente creado, al grupo plugdev.
Añadir grupos.
Para añadir grupos locales al sistema, podemos emplear el comando addgroup.
También podemos ajustar algunas preferencias a la hora de crear usuarios en el fichero: /etc/adduser.conf.
Podemos añadir un nuevo grupo local al sistema con el comando addgroup.
# addgroup grupo
Ejemplo: Si queremos añadir el grupo profesores al sistema, ejecutaremos:
# addgroup profesores
Una última cosa: De forma alternativa, en lugar de usar los comandos adduser y addgroup, podemos añadir usuarios y grupos empleando otros comandos como useradd y groupadd. Estos comandos leen información de configuración del fichero /etc/login.defs.
Eliminar usuarios.
Para eliminar usuarios podemos usar el comando userdel.
Ejemplo: Si queremos eliminar el usuario local dfernandez, ejecutaremos el siguiente comando:
# userdel dfernandez
Si, además, empleamos el parámetro -r, también se borrará el directorio personal del usuario con todo su contenido.
Ejemplo:
# userdel -r dfernandez
Eliminar grupos.
Para eliminar grupos podemos emplear el comando groupdel.
Ejemplo: Si queremos eliminar el grupo alumnos del sistema local, ejecutaremos:
# groupdel alumnos
Modificar usuarios y grupos
Para modificar las características de los usuarios y grupos se emplean los comandos usermod y groupmod.
Ejemplo: Imaginemos que queremos cambiar el directorio home del usuario dgonzalezs01 para que sea /home/alumnos/dgonzalezs01.
# usermod -d /home/alumnos/dgonzalezs01 -m
La opción -m hace que mueva el contenido del antiguo home al nuevo emplazamiento.
Si lo que queremos es cambiar el grupo inicial al que pertenece el usuario, haremos lo siguiente:
# usermod -g grupo usuario
Ejemplo: Cambia el grupo inicial del usuario jmartinezd01 para que sea profesor.
# usermod -g profesor jmartinezd01
Si queremos cambiar el nombre del usuario:
# usermod -l nuevonombre nombreactual
Ejemplo:
# usermod -l cfernandez carlosfernandez
El nuevo nombre del usuario carlosfernandez será cfernandez.
Y si queremos cambiar el nombre de un grupo, lo haremos de la siguiente manera:
# groupmod -n nuevonombregrupo nombreactualgrupo
Ejemplo:
# groupmod -n profesores profes
Cambia el nombre del grupo profes a profesores.
Algunos ficheros relacionados con las cuentas de usuario son:
/etc/passwd: contiene información sobre cada usuario:
- ID.
- grupo principal.
- descripción.
- directorio de inicio.
- shell, etc.
- También contiene el password encriptado, salvo que se usen shadow passwords.
/etc/group: contiene los miembros de cada grupo, excepto para el grupo principal, que aparece en el fichero /etc/passwd.
/etc/skel: directorio que contiene el contenido del directorio de los nuevos usuarios.
No hay comentarios:
Publicar un comentario