1. 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
2. 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
3. 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:
4. -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