Usuarios y grupos
Todo aquella persona que desee utilizar un sistema operativo tipo Linux, debe tener una identidad creada en el
sistema. Esto se debe a que puede haber muchas personas utilizando un mismo servidor al mismo tiempo.
¿cómo saber cuál de todos los usuarios ha hecho algún cambio en el sistema?, dándole una identidad distinta a
cada usuario, y otorgándole unos derechos determinados y no otros. Un usuario común de un sistema Linux
solo podrá hacer lo que le está permitido hacer, pero no otras cosas. Podrá leer determinados archivos,
ejecutar determinados programas, escribir en determinados directorios, pero no en todos. Y sobre todo, no
podrá modificar el sistema para beneficiarse y obtener privilegios a los que no tiene derecho.
Pero puede ocurrir que varios usuarios tengan privilegios similares, entonces es posible agrupar a los usuarios
de acuerdo a sus características, por ejemplo: puede haber un grupo para los usuarios que pertenecen al
sector de contabilidad, ellos podrán acceder al sistema de facturación y liquidación de sueldos, cheques,
bancos, etc. pero no podrán ingresar un artículo nuevo. Puede haber otro grupo para los vendedores, ellos
podrán hacer facturas y recibos, verificar el stock de productos, pero no podrán entrar a ver la cuenta del
banco.
En un sistema Linux, todo usuario debe pertenecer, por lo menos, a un grupo determinado. Si no se lo asigna a
uno, el sistema se lo asigna automáticamente, creando un grupo con el mismo nombre que el nombre del
usuario. Por ejemplo, si tenemos un usuario con el nombre Mario Gómez, con un ID de usuario mgomez, si no
se lo asigna a un grupo determinado (como ventas o contabilidad), el sistema crea un grupo llamado mgomez y
lo meterá allí.
¿Quiénes ponen orden, moderan las conductas de los usuarios y controlan el acceso al sistema? En todo
sistema Linux, hay un usuario llamado root, que es el administrador general del sistema. Este usuario tiene
todos los privilegios imaginables para hacer casi cualquier cosa con el sistema. Este usuario especial puede
acceder a todos los directorios y archivos del sistema, puede ejecutar todos los programas y quitar o conceder
privilegios a los demás usuarios. Es más, el usuario administrador será el que pueda agregar o borrar a otros
usuarios, por lo que puede conceder a otro usuario el derecho de ser administrador, creándose una jerarquía
de usuarios de tipo árbol, como otros aspectos del sistema que hemos visto (los procesos o los directorios
también tienen forma de árbol).
Los otros usuarios administradores también podrán gestionar todos los aspectos del sistema, asignar permisos,
borrar archivos de sistema, incluso crear o borrar grupos y usuarios, excepto al usuario root, que no puede ser
borrado, y al que no se le puede quitar privilegios1
.
Cada usuario puede tener una contraseña privada, los usuarios administradores podrán quitar esa contraseña y
ponerle otra, pero nadie en el sistema podrá ver la contraseña guardada en el sistema. Cada contraseña se
guarda en el archivo /etc/shadow, pero codificada de tal modo que resulta casi imposible de descifrar.
Características de los usuarios GNU/Linux
 Tiene un identificador único en la máquina
 Puede tener una contraseña para evitar que alguien usurpe la identidad del usuario
 Puede cambiar su contraseña, pero no puede cambiar las de los demás
 Pertenece por lo menos a un grupo de usuarios
 Puede tener un directorio propio, un hogar: llamado normalmente /home/nombre_usuario
1 Los usuarios administradores que no sean root, deben ingresar los comandos precedidos con “sudo” un progama que
permite acceder a los privilegios de administrador. Ej: sudo useradd mgomez, agrega el usuario mgomez al sistema
 En ese directorio tiene su propio escritorio, sus descargas, su música, etc.
 Es dueño de sus archivos y como tal, puede darle permisos a otros usuarios para verlos, usarlos. O
puede quitarle esos permisos a todos los usuarios (menos al administrador)
 Puede pasar a ser un administrador del sistema, pero no puede cambiar su propio estatus
 No puede crear otros usuarios ni grupos si no es administrador
 No puede modificar los archivos del sistema, si no es administrador
 No puede instalar un programa, si no es administrador
 No puede modificar, leer, borrar o crear archivos en directorios de otros usuarios, si no tiene permiso
para hacerlo
Comandos para manejo de grupos y usuarios2
:
groupadd <nombre_grupo> Permite crear un nuevo grupo
ej: groupadd soii2ib Crea el grupo llamado soii2ib
groupadd estudiantes Crea el grupo llamado estudiantes
useradd <nombre_usuario> [-opciones] Permite crear un nuevo usuario
Opciones:
-g <nombre_grupo> añade al usuario al grupo en el mismo momento que se crea el
usuario, no tiene necesidad de crear un grupo con el nombre
del usuario
-m crea un directorio hogar para el usuario, por defecto con la
forma /home/nombre_usuario
Ej: useradd mgomez crea el usuario con ID mgomez, no crea un directorio para el
usuario en el directorio /home3
useradd mgomez –g soii2ib creará el usuario mgomez y lo asignará al grupo soii2ib
useradd mgomez –m creará el usuario mgomez y además el directorio
/home/mgomez, que será a partir de ese momento el
directorio hogar del usuario
passwd <nombre_usuario>[-opciones] Permite cambiar la contraseña del usuario
El administrador del sistema puede cambiar las contraseñas de
los restantes usuarios. Para ello el comando debe estar
seguido por el nombre del usuario al que se le desea cambiar la
contraseña.
2 La sintaxis de los comandos de consola de GNU/Linux sigue la siguiente forma general: comando [parámetros] [-
opciones]. Por ejemplo el comando que permita listar los archivos del directorio /etc ordenados de menor a mayor
sería: ls /etc –lSr
“ls” es el nombre del comando, “/etc” es el nombre del directorio que queremos listar, “-lSr” son las opciones,
agrupadas todas juntas (también es posible utilizar un guión para cada opción: “ls /etc –l –S –r”)
3 Dependerá del sistema si está activada o no la opción CREATE_HOME del archivo /etc/login.defs. Si CREATE_HOME está
activada (yes) entonces el directorio se creará de todos modos aunque no utilicemos la opción -m
En cambio si un usuario quiere cambiar su propia contraseña,
solo debe introducir el comando, sin poner su nombre.
Un usuario común no puede cambiar la contraseña de otro
usuario.
El sistema nos avisará cuando nuestra contraseña sea
demasiado débil (por ejemplo una contraseña “qwerty” o
“password”), pero es solo un aviso, de cualquier modo nos
permitirá utilizarla.
Opciones:
-x <Cantidad de días> Permite al administrador disponer un máximo de días que
permanecerá válida la contraseña (se obliga al usuario a
cambiar su contraseña cada cierta cantidad de días)
-w <Cantidad de días> Cantidad de días antes de que expire la contraseña en que se le
avisará al usuario que pronto expirará.
-l Permite al administrador bloquear una cuenta
-u Desbloquea una cuenta bloqueada
Ej: passwd Permite cambiar la contraseña del usuario actual
passwd –x 30 –w 2 mgomez El administrador indica al sistema que la contraseña del
usuario mgomez expirará cada 30 días y que se le debe avisar al
usuario dos días antes de que expire
usermod <nombre_usuario [-opciones] Una vez creado el usuario, permite modificar sus
características. Solo puede ser utilizado por un administrador
del sistema
Opciones:
-d <Directorio /home> Cambia el hogar del usuario, pero no crea el directorio si no
existe. Si se cambia el directorio a uno inexistente, el usuario
queda sin hogar hasta que se crea el directorio
-g <grupo> Cambia el grupo principal al que pertenece el usuario
-G <grupo1, grupo2> Permite asignar al usuario a varios grupos separados por
comas. Es una opción diferente a –g (minúscula) que establece
el grupo principal
Ej: usermod mgomez –d /home/nuevo Cambia el directorio hogar del usuario mgomez a
/home/nuevo. Pero este directorio debe ser creado en una
entrada diferente (mkdir /home/nuevo)
usermod -g estudiantes mgomez Cambia el grupo principal al que pertenece el usuario mgomez
usermod –G soii2ib, prog2 mgomez Agrega a mgomez a los grupos soii2ib y prog2, cada uno con
sus privilegios, sin modificar el grupo principal, que sigue
siendo estudiantes
userdel <nombre_usuario> [-opciones] Borra la cuenta de un usuario del sistema. Por defecto el
usuario no tiene que estar utilizando el sistema en el momento
en que se borra su cuenta.
Opciones:
-f Fuerza la eliminación de la cuenta, aun cuando el usuario esté
utilizando el sistema4
. Además borra todos los archivos del
usuario, aunque estén siendo utilizados por otros usuarios.
Incluso borra los grupos que tengan el mismo nombre que el
usuario, aunque haya otros usuarios dentro del grupo. Es una
opción peligrosa porque puede dejar al sistema en un estado
inconsistente.
-r Remueve el directorio hogar del usuario y los archivos que haya en él. Pero no remueve los archivos
pertenecientes al usuario que estén en otros directorios
Ej: userdel mgomez Borra la cuenta del usuario mgomez, siempre y cuando el
usuario no esté utilizando el sistema en este momento
userdel mgomez –r Ídem anterior, pero además borra los archivos del directorio
hogar de mgomez y el mismo directorio
userdel –f mgomez Borra la cuenta de mgomez aún si mgomez está utilizando el
sistema
groupdel <nombre_grupo> Borra el grupo del sistema. El grupo debe existir y puede ser
borrado aunque tenga usuarios inscriptos en él, pero no puede
ser grupo principal de ningún usuario
Ej: groupdel soii2ib Borra el grupo soii2ib, si no es grupo principal de ningún
usuario, sino no permite borrarlo.
4 El usuario podrá seguir utilizando el sistema pero no podrá acceder a su home, ni a sus archivos, además,
cuando salga del sistema no podrá volver a ingresar

Usuarios y grupos Linux

  • 1.
    Usuarios y grupos Todoaquella persona que desee utilizar un sistema operativo tipo Linux, debe tener una identidad creada en el sistema. Esto se debe a que puede haber muchas personas utilizando un mismo servidor al mismo tiempo. ¿cómo saber cuál de todos los usuarios ha hecho algún cambio en el sistema?, dándole una identidad distinta a cada usuario, y otorgándole unos derechos determinados y no otros. Un usuario común de un sistema Linux solo podrá hacer lo que le está permitido hacer, pero no otras cosas. Podrá leer determinados archivos, ejecutar determinados programas, escribir en determinados directorios, pero no en todos. Y sobre todo, no podrá modificar el sistema para beneficiarse y obtener privilegios a los que no tiene derecho. Pero puede ocurrir que varios usuarios tengan privilegios similares, entonces es posible agrupar a los usuarios de acuerdo a sus características, por ejemplo: puede haber un grupo para los usuarios que pertenecen al sector de contabilidad, ellos podrán acceder al sistema de facturación y liquidación de sueldos, cheques, bancos, etc. pero no podrán ingresar un artículo nuevo. Puede haber otro grupo para los vendedores, ellos podrán hacer facturas y recibos, verificar el stock de productos, pero no podrán entrar a ver la cuenta del banco. En un sistema Linux, todo usuario debe pertenecer, por lo menos, a un grupo determinado. Si no se lo asigna a uno, el sistema se lo asigna automáticamente, creando un grupo con el mismo nombre que el nombre del usuario. Por ejemplo, si tenemos un usuario con el nombre Mario Gómez, con un ID de usuario mgomez, si no se lo asigna a un grupo determinado (como ventas o contabilidad), el sistema crea un grupo llamado mgomez y lo meterá allí. ¿Quiénes ponen orden, moderan las conductas de los usuarios y controlan el acceso al sistema? En todo sistema Linux, hay un usuario llamado root, que es el administrador general del sistema. Este usuario tiene todos los privilegios imaginables para hacer casi cualquier cosa con el sistema. Este usuario especial puede acceder a todos los directorios y archivos del sistema, puede ejecutar todos los programas y quitar o conceder privilegios a los demás usuarios. Es más, el usuario administrador será el que pueda agregar o borrar a otros usuarios, por lo que puede conceder a otro usuario el derecho de ser administrador, creándose una jerarquía de usuarios de tipo árbol, como otros aspectos del sistema que hemos visto (los procesos o los directorios también tienen forma de árbol). Los otros usuarios administradores también podrán gestionar todos los aspectos del sistema, asignar permisos, borrar archivos de sistema, incluso crear o borrar grupos y usuarios, excepto al usuario root, que no puede ser borrado, y al que no se le puede quitar privilegios1 . Cada usuario puede tener una contraseña privada, los usuarios administradores podrán quitar esa contraseña y ponerle otra, pero nadie en el sistema podrá ver la contraseña guardada en el sistema. Cada contraseña se guarda en el archivo /etc/shadow, pero codificada de tal modo que resulta casi imposible de descifrar. Características de los usuarios GNU/Linux  Tiene un identificador único en la máquina  Puede tener una contraseña para evitar que alguien usurpe la identidad del usuario  Puede cambiar su contraseña, pero no puede cambiar las de los demás  Pertenece por lo menos a un grupo de usuarios  Puede tener un directorio propio, un hogar: llamado normalmente /home/nombre_usuario 1 Los usuarios administradores que no sean root, deben ingresar los comandos precedidos con “sudo” un progama que permite acceder a los privilegios de administrador. Ej: sudo useradd mgomez, agrega el usuario mgomez al sistema
  • 2.
     En esedirectorio tiene su propio escritorio, sus descargas, su música, etc.  Es dueño de sus archivos y como tal, puede darle permisos a otros usuarios para verlos, usarlos. O puede quitarle esos permisos a todos los usuarios (menos al administrador)  Puede pasar a ser un administrador del sistema, pero no puede cambiar su propio estatus  No puede crear otros usuarios ni grupos si no es administrador  No puede modificar los archivos del sistema, si no es administrador  No puede instalar un programa, si no es administrador  No puede modificar, leer, borrar o crear archivos en directorios de otros usuarios, si no tiene permiso para hacerlo Comandos para manejo de grupos y usuarios2 : groupadd <nombre_grupo> Permite crear un nuevo grupo ej: groupadd soii2ib Crea el grupo llamado soii2ib groupadd estudiantes Crea el grupo llamado estudiantes useradd <nombre_usuario> [-opciones] Permite crear un nuevo usuario Opciones: -g <nombre_grupo> añade al usuario al grupo en el mismo momento que se crea el usuario, no tiene necesidad de crear un grupo con el nombre del usuario -m crea un directorio hogar para el usuario, por defecto con la forma /home/nombre_usuario Ej: useradd mgomez crea el usuario con ID mgomez, no crea un directorio para el usuario en el directorio /home3 useradd mgomez –g soii2ib creará el usuario mgomez y lo asignará al grupo soii2ib useradd mgomez –m creará el usuario mgomez y además el directorio /home/mgomez, que será a partir de ese momento el directorio hogar del usuario passwd <nombre_usuario>[-opciones] Permite cambiar la contraseña del usuario El administrador del sistema puede cambiar las contraseñas de los restantes usuarios. Para ello el comando debe estar seguido por el nombre del usuario al que se le desea cambiar la contraseña. 2 La sintaxis de los comandos de consola de GNU/Linux sigue la siguiente forma general: comando [parámetros] [- opciones]. Por ejemplo el comando que permita listar los archivos del directorio /etc ordenados de menor a mayor sería: ls /etc –lSr “ls” es el nombre del comando, “/etc” es el nombre del directorio que queremos listar, “-lSr” son las opciones, agrupadas todas juntas (también es posible utilizar un guión para cada opción: “ls /etc –l –S –r”) 3 Dependerá del sistema si está activada o no la opción CREATE_HOME del archivo /etc/login.defs. Si CREATE_HOME está activada (yes) entonces el directorio se creará de todos modos aunque no utilicemos la opción -m
  • 3.
    En cambio siun usuario quiere cambiar su propia contraseña, solo debe introducir el comando, sin poner su nombre. Un usuario común no puede cambiar la contraseña de otro usuario. El sistema nos avisará cuando nuestra contraseña sea demasiado débil (por ejemplo una contraseña “qwerty” o “password”), pero es solo un aviso, de cualquier modo nos permitirá utilizarla. Opciones: -x <Cantidad de días> Permite al administrador disponer un máximo de días que permanecerá válida la contraseña (se obliga al usuario a cambiar su contraseña cada cierta cantidad de días) -w <Cantidad de días> Cantidad de días antes de que expire la contraseña en que se le avisará al usuario que pronto expirará. -l Permite al administrador bloquear una cuenta -u Desbloquea una cuenta bloqueada Ej: passwd Permite cambiar la contraseña del usuario actual passwd –x 30 –w 2 mgomez El administrador indica al sistema que la contraseña del usuario mgomez expirará cada 30 días y que se le debe avisar al usuario dos días antes de que expire usermod <nombre_usuario [-opciones] Una vez creado el usuario, permite modificar sus características. Solo puede ser utilizado por un administrador del sistema Opciones: -d <Directorio /home> Cambia el hogar del usuario, pero no crea el directorio si no existe. Si se cambia el directorio a uno inexistente, el usuario queda sin hogar hasta que se crea el directorio -g <grupo> Cambia el grupo principal al que pertenece el usuario -G <grupo1, grupo2> Permite asignar al usuario a varios grupos separados por comas. Es una opción diferente a –g (minúscula) que establece el grupo principal Ej: usermod mgomez –d /home/nuevo Cambia el directorio hogar del usuario mgomez a /home/nuevo. Pero este directorio debe ser creado en una entrada diferente (mkdir /home/nuevo) usermod -g estudiantes mgomez Cambia el grupo principal al que pertenece el usuario mgomez usermod –G soii2ib, prog2 mgomez Agrega a mgomez a los grupos soii2ib y prog2, cada uno con sus privilegios, sin modificar el grupo principal, que sigue siendo estudiantes userdel <nombre_usuario> [-opciones] Borra la cuenta de un usuario del sistema. Por defecto el usuario no tiene que estar utilizando el sistema en el momento en que se borra su cuenta. Opciones:
  • 4.
    -f Fuerza laeliminación de la cuenta, aun cuando el usuario esté utilizando el sistema4 . Además borra todos los archivos del usuario, aunque estén siendo utilizados por otros usuarios. Incluso borra los grupos que tengan el mismo nombre que el usuario, aunque haya otros usuarios dentro del grupo. Es una opción peligrosa porque puede dejar al sistema en un estado inconsistente. -r Remueve el directorio hogar del usuario y los archivos que haya en él. Pero no remueve los archivos pertenecientes al usuario que estén en otros directorios Ej: userdel mgomez Borra la cuenta del usuario mgomez, siempre y cuando el usuario no esté utilizando el sistema en este momento userdel mgomez –r Ídem anterior, pero además borra los archivos del directorio hogar de mgomez y el mismo directorio userdel –f mgomez Borra la cuenta de mgomez aún si mgomez está utilizando el sistema groupdel <nombre_grupo> Borra el grupo del sistema. El grupo debe existir y puede ser borrado aunque tenga usuarios inscriptos en él, pero no puede ser grupo principal de ningún usuario Ej: groupdel soii2ib Borra el grupo soii2ib, si no es grupo principal de ningún usuario, sino no permite borrarlo. 4 El usuario podrá seguir utilizando el sistema pero no podrá acceder a su home, ni a sus archivos, además, cuando salga del sistema no podrá volver a ingresar