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. |