TEMA 8. Administración de usuarios
Volver Ver demostración Actividades del tema Imprimir Capítulo

8.2 Notas sobre la administraciÓn de usuarios

El objetivo de los usuarios, grupos y permisos en Unix es brindar privacidad y organización permitiendo también compartir información cuando así se desea.

Con respecto a usuarios el administrador puede crear, eliminar o modificar información de cuentas y grupos. También puede configurar detalles de los programas que permiten iniciar sesiones y prevenir fallas de seguridad. Si aún no lo ha hecho, antes de consultar esta sección recomendamos estudiar la visión que un usuario tiene del sistema de usuarios y grupos.

En una red con NIS la información de cuentas y grupos está centralizada en el servidor. Desde este debe hacerse la administración con los programas y archivos presentados en esta sección y después de cada cambio debe reconfigurarse NIS como se explicará posteriormente.

Usuarios

Los siguientes programas permiten realizar operaciones relacionadas con los usuarios:

su [usuario]

Permite entrar a una sesión como un usuario diferente, si no se especifica un usuario como primer parámetro, su cambia al usuario root. Desde una cuenta de usuario pedirá la clave del nuevo usuario, e iniciará el intérprete de comandos que el usuario haya configurado. Si se emplea la opción -c comando el comando se ejecutará.

Si desea ejecutar un intérprete de comandos diferente al configurado por el usuario emplee la opción -s intérprete, donde intérprete debe ser la ruta completa del intérprete de comandos que además debe estar listada en el archivo /etc/shells.

su al igual que login emplea los servicios de la librería PAM (Pluggable authentication modules), así que puede configurar varios detalles relacionados con seguridad de su en el archivo /etc/pam.d/su por ejemplo para restringir el uso de este comando.

passwd [usuario]

Permite cambiar la clave del usuario especificado (sólo root puede especificar un usuario). Si no se especifica un usuario permite cambiar la clave de la cuenta desde la cual se ejecuta. Por defecto un usuario podrá cambiar su clave cuando él/ella lo desee, aunque puede implementarse una política de expiración de claves. La política de un usuario puede examinarse con la opción -S que presenta: estado de la cuenta (L bloqueada, NP sin clave, P con clave utilizable), fecha del último cambio de clave, tiempos mínimo y máximo para cambiar clave, tiempo de avisos y tiempo para desactivación.

Puede fijarse la política con las siguientes opciones:

-x días para especificar el máximo de días antes de que un usuario deba cambiar su clave.

-w días para indicar con cuantos días de anterioridad a la expiración de la clave el sistema debe empezar a enviar correos recordando el cambio;

-i días para deshabilitar una cuenta cuya clave no haya sido cambiado en los días especificados. Una cuenta puede bloquearse para impedir que pueda usarse con el programa login.

Pueden bloquear y desbloquear cuentas con las opciones -u (de unlock) y -l respectivamente.

chage usuario

Cambia la información sobre el envejecimiento de la clave de un usuario, cuando se están usando claves shadow.

Para cambiar el mínimo de días entre cambios se usa la opción -m días (0 índica que puede cambiarse siempre), -M días para indicar máximo de días antes de la expiración de la clave, -d días para establecer fecha del último cambio de clave (contada en días a partir de1/Ene/1975), -E fecha fecha en la cual la cuenta expirar (puede especificarse como una fecha mm/dd/aaaa o contada en días a partir de 1/Ene/1975), -I días establece cantidad de días de inactividad antes de bloquear una cuenta después de la expiración de la clave, -W días cantidad de días depreaviso antes de la caducidad de la clave.

adduser login

Permite agregar un usuario con el login dado, opcionalmente indicando el directorio de trabajo (opción home) que de no existir será creado, un número que identificará al usuario de forma única (opción uid), el grupo principal al que pertenecerá (opción ingroup grupo), el intérprete de comandos por defecto (opción shell nombre) y otros datos del usuario con la opción gecos "datos" (los datos se separan con comas y por defecto son: nombre, número de cuarto, teléfono del trabajo y teléfono de la casa).

A menos que se especifique disabled-login o disabled-password pedirá clave inmediatamente después de crear la cuenta (disabled-login bloquea la cuenta hasta que se asigne una clave, disabled-password no bloquea la cuenta pero asigna una clave no válida, el usuario podría entrar por ejemplo con RSA ssh).

Las operaciones que adduser realiza se configuran en el archivo /etc/adduser.conf. Por defecto creará cuentas de usuarios en el directorio /home y copiará en los nuevos directorios los archivos del directorio /etc/skel (e.g .bash_profile), pondrá como intérprete de comandos por defecto /usr/bin/bash y asignará un número de usuario y un grupo nuevo a cada usuario.

Normalmente después para agregar un usuario debe especificar la clave que tendrá, si prefiere crear una cuenta inicialmente sin clave emplee la opción disabled-password (antes de poder emplear la cuenta debe establecer la clave con passwd).

chfn [login]

Para cambiar la información GECOS de un usuario (si no se especifica un login se cambiará la información del usuario que emplee el programa). Como opciones recibe -f nombre, -r cuarto, -w teléfono_trabajo, -h teléfono casa y -o otros_datos. Nuestra sugerencia es emplear en lugar de cuarto el grado y en lugar del teléfono del trabajo la dirección de la casa. Estos datos no deben contener los caracteres ',' ';' ni '='.

Los datos que no se especifiquen en la línea de comandos serán solicitados interactivamente. chfn también será llamado por passwd si se emplea la opción -f.

chsh [login]

Para cambiar el intérprete de comandos de un usuario (si no se especifica un login se cambiará el intérprete del usuario que emplee el programa). Como opción recibe el nombre del intérprete, el cual debe estar listado en el archivo /etc/shells. Un usuario que emplee un intérprete de comandos restringido (/bin/rsh) no puede cambiar su shell. chsh también será llamado por passwd si se emplea la opción -s.

deluser login

Para eliminar una cuenta Por defecto no elimina el directorio personal ni la cola de correos, puede indicarse que se borren estos directorios con la opción remove-home y puede indicarse que se busquen y eliminen todos los archivos del usuario (en los demás directorios) con la opción remove-all-files. Con la opción backup creará un archivo comprimido con los datos del usuario en el directorio de trabajo con nombre login.tar.gz. El comportamiento por defecto de este comando puede configurarse en el archivo /etc/deluser.conf.

La información sobre usuarios se mantiene en el archivo que todos los usuarios pueden leer: /etc/passwd. Cada línea de este archivo tiene información de un usuario separada con el caracter ':'. De cada usuario mantiene:

login

Clave o un carácter de control. En sistemas Unix las claves antes de ser almacenadas en este archivo (para su posterior comparación) son convertidas a una secuencia de letras y números con un algoritmo (bien DES o bien MD5 ), cada vez que un usuario desea ingresar al sistema la clave que teclea se transforma con ese algoritmo y se compara con la almacenada para dar acceso sólo si son iguales. Por las características de DES y MD5 es muy difícil recuperar la clave original partiendo de la información almacenada en /etc/passwd así que una persona con acceso a este archivo no podrá conocer facilmente las claves de los usuarios.

Sin embargo es mejor emplear el sistema de claves shadow, que mantiene las claves en un archivo aparte que sólo pueda ser leído por el administrador: /etc/shadow, las cuentas que empleen este mecanismo tendrán un carácter 'x' en lugar de clave.

Tanto en /etc/passwd como en /etc/shadow en lugar de clave transformada puede aparecer el carácter '*' para indicar que la cuenta tiene clave deshabilitada (opción ¬¬disabled-password de adduser), el usuario podría ingresar con RSA ssh.

En lugar de la clave también puede aparecer el carácter '!' para indicar que la cuenta está bloqueada (opción disabled-login de adduser), en este caso el usuario no podrá entrar con login ni con gdm ni con RSA ssh, pero si con su y se ejecutarán procesos del usuarios iniciados por cron o at está bloqueada (el usuario no podrá entrar con login o gdm pero si con rlogin o su y se ejecutarán procesos del usuarios iniciados por cron o at).

• GID, es decir número que identifica al grupo principal del usuario.

• información GECOS , los datos se separan entre si con comas.

• directorio personal

• intérprete de comandos

En el archivo /etc/shadow hay una línea por cada usuario con los siguientes datos separados por ':':

• Login

• Clave transformada

• Fecha del último cambio de la clave (contada en días a partir del Enero 1 de1975).

• Días por esperar antes de que la clave pueda ser cambiada.

• Máximo de días antes de exigir un cambio de clave.

• Cantidad de días de preaviso antes de expiración de clave.

• Cantidad de días entre expiración de clave y bloqueo de cuenta.

• Fecha desde la cual la cuenta está deshabilitada (contada en días desde Enero 1 de 1975).

• Campo reservado.

Aunque puede editar manualmente /etc/passwd y /etc/shadow es recomendable que emplee los programas presentados en esta sección.

Los GID y UID reservados en linux están en los archivos

/usr/share/base-passwd/group.master y /usr/share/base-passwd/passwd.master si algún programa o administrador erradamente asigna alguno de estos números puede emplear update-passwd para reasignar los originales.

Grupos

El objetivo de los grupos es dar o restringir permisos sobre algunos archivos a ciertos usuarios. Por ejemplo un archivo reporte.txt que pertenezca al grupo profesores, que tenga permiso de lectura para el grupo y no para otros usuarios (si por ejemplo se estableció con chmod ug=rw reporte.txt), podrá ser leído únicamente por el dueño y por usuarios que pertenezcan al grupo profesores.

Cada usuario tiene un grupo principal (puede especificarse durante la creación con la opción gid GID o ingroup grupo de adduser), puede pertenecer a diversos grupos y si conoce la clave de algún grupo con clave puede volverse miembro durante una sesión. Los programas relacionados con grupos son:

adduser usuario grupo

Para agregar un usuario a un grupo. En Linux algunos dispositivos pertenecen a ciertos grupos, de forma que es indispensable agregarlos como grupos secundarios de los usuarios que los requieran:

audio Permite acceder a dispositivos de sonido.

lp Permite acceder a los puertos locales de impresión.
floppy Para acceder a la(s) unidad(es) de disquette.
tape cdrom Ambos son requeridos para acceder al CDROM.
dialout Para acceder a modems.
disk Cuando se requiere acceder a discos a bajo nivel.
kmem Para acceder de forma privilegiada la memoria.
tty Para acceder de forma privilegiada a la consola.

groups

Un usuario puede ver los grupos a los que pertenece con este programa.

newgrp [grupo]

Para cambiarse a un grupo con clave. Si no se específica grupo alguno se cambiará al grupo principal del usuario.

passwd -g grupo

Para cambiar la clave de un grupo. Para quitar la clave de un grupo se emplea passwd -g -r grupo los programas newgrp y sg no permiten cambiarse a un grupo sin clave.

gpasswd grupo

Para administrar grupos con clave, puede ser usado por el administrador del sistema y por el administrador de un grupo con clave. Con la opción -A login el administrador del sistema puede agregar un administrador de grupo a un grupo, con la opción -M login puede retirarse la administración de un grupo a un usuario, con la opción -r puede quitarse la clave a un grupo con clave y con la opción -R puede inhibir el acceso con newgrp a un grupo con clave. Un administrador de grupo puede agregar y eliminar usuarios del grupo con las opciones -a login y -d login respectivamente.

addgroup nombre

Permite agregar un grupo con el nombre dado. Con la opción gid ID puede especificarse el número que identificará al grupo, número acorde con el archivo /etc/adduser.conf.

groupdel group

Permite eliminar un grupo. Sólo pueden eliminarse grupos que no sean el grupo principal de algún usuario.

groupmod grupo

Permite modificar información de un grupo. Las opciones posible son: -g GID para cambiar el número que identifica al grupo (ver convenciones en descripción de addgroup) y -n nombre para cambiar el nombre del grupo. El número que identifica al grupo debe ser único, excepto si se emplea la opción -o (para crear grupos alias, aunque el sistema de archivos no necesariamente presentará el alias como grupo dueño).

grpck

Para verificar la información de grupos en /etc/group y /etc/gshadow. Con la opción -r abre estos archivos en modo de sólo lectura.

La información de grupos se consigna en /etc/groups, cada línea tiene los siguientes datos de un grupo separados uno de otro con el carácter ':'

• Nombre del grupo

• Clave del grupo transformada con DES o MD5. Si el grupo tiene clave shadow en este archivo aparecerá el caracter 'x' y la clave transformada estará en otro archivo por defecto /etc/gshadow.

• GID

• Lista d usuarios del grupo separados con comas.

No es recomendable editar directamente estos archivos, sino más bien emplear los programas presentados en esta sección.

 
 
   
 
Copyright - © ANFORA, 2004. Todos los derechos reservados. Condiciones Legales.    
Subir al inicio de la página Página Web de ÁNFORA