Beruflich Dokumente
Kultur Dokumente
1 Introducción
En el capítulo anterior viste que la información de la cuenta de usuario se almacena en el
archivo /etc/passwd y la información de autenticación de usuario (datos de la
contraseña) se almacena en el archivo /etc/shadow. La creación de un nuevo usuario
puede lograrse añadiendo una nueva línea manualmente a cada uno de estos archivos,
pero generalmente no es la técnica recomendada. Mediante el uso de un comando
adecuado para agregar un nuevo usuario, estos archivos pueden ser modificados
automáticamente y de forma segura. Si fueras a modificar manualmente estos archivos,
corres el riesgo de cometer un error que podría impedir el acceso normal de todos los
usuarios.
En algunas distribuciones, creando una nueva cuenta de usuario automáticamente se crea
una cuenta de grupo para el usuario, llamado un Grupo Privado de Usuario (UPG «User
Private Group» en inglés). En estos sistemas, el grupo y nombre de usuario serían los
mismos y el único miembro de este nuevo grupo sería el nuevo usuario.
Para las distribuciones que no crean un UPG, los nuevos usuarios reciben el grupo de
"users" («usuarios» en español) como su grupo primario. El administrador puede crear
manualmente cuentas de grupo que sean privadas para el usuario, pero es más común
que el administrador cree grupos para varios usuarios que deben colaborar. Las cuentas
de usuario pueden ser modificadas en cualquier momento para agregar o quitar
membresías de cuenta de grupo, pero los usuarios deben pertenecer por lo menos a un
grupo para usarlo como su grupo primario.
Antes de empezar a crear los usuarios, debes planear cómo vas a utilizar los grupos. Los
usuarios pueden crearse con membresías en grupos que ya existen o los usuarios
existentes pueden ser modificados para tener membresías en grupos existentes.
Si ya tienes previsto qué usuarios y grupos quieres crear, es más eficiente primero crear
sus grupos y después crear los usuarios con sus pertenencias a grupos. Por otra parte, si
creas primero tus usuarios, y luego sus grupos, necesitarás un paso extra para modificar
los usuarios para que sean miembros de sus grupos.
El comando groupadd puede ser ejecutado por el usuario root para crear un nuevo grupo.
El comando requiere solamente el nombre del grupo que se creará. La opción -g puede
utilizarse para especificar un id de grupo para el grupo nuevo:
root@localhost:~# grep research /etc/group
research:x:506:
root@localhost:~# groupadd development
root@localhost:~# grep development /etc/group
development:x:507:
ADVERTENCIA: Cambiar el nombre del grupo puede causar confusión para los usuarios
que estaban familiarizados con el antiguo nombre y no hayan sido informados del nombre
nuevo. Sin embargo, cambiar el nombre del grupo no causará problemas con el acceso a
los archivos, ya que los archivos son propiedad del GID, no de los nombres de grupo. Por
ejemplo:
root@localhost:~# ls -l index.html
-rw-r-----. 1 root sales 0 Aug 1 13:21 index.html
root@localhost:~# groupmod -n clerks sales
root@localhost:~# ls -l index.html
-rw-r-----. 1 root clerks 0 Aug 1 13:21 index.html
Estos archivos sin nombre de grupo se denominan archivos «huérfanos». Como usuario
root, probablemente quieras buscar todos los archivos que son propiedad de solamente un
GID (no asociado con un nombre de grupo). Esto puede lograrse con la opción -
nogroup para el comando find:
root@localhost:~# find / -nogroup
/root/index.html
root@localhost:~# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
usuario.
root@localhost:~# useradd -D -f 30
root@localhost:~# useradd -D
GROUP=100
HOME=/home
INACTIVE=30
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
14.6 Archivo /etc/login.defs
El archivo /etc/login.defstambién contiene valores que se aplicarán por defecto a los
nuevos usuarios que vayas a crear con el comando useradd. A diferencia
del /etc/default/useradd, que puede ser actualizado con el comando useradd -D, el
archivo /etc/login.defsgeneralmente lo edita directamente el administrador para
modificar sus valores.
Este archivo contiene muchos comentarios y líneas en blanco, así que si quieres ver las
líneas que no son comentarios o líneas en blanco (la configuración actual), puede utilizar el
siguiente comando grep:
su contraseña.
Las organizaciones con políticas eficaces
para el mantenimiento de contraseñas
seguras comúnmente cambian este valor a
60 o 30 días.
Esta configuración afecta a la
configuración por defecto del
archivo/etc/shadow resaltado abajo:
bob:pw:15020:5:30:7:60:15050:
Este ejemplo del comando useradd crea un usuario con UID de 1000, un grupo primario
de users («usuarios»), membresías suplementarias en los grupos wheel y research, un
comentario de «Jane Doe» y un nombre de cuenta jane.
La información sobre la cuenta de usuario de jane se agregará automáticamente a los
archivos /etc/passwd y /etc/shadow, mientras que la información sobre el acceso a
grupos suplementarios de janese añadirá automáticamente al
archivo /etc/group y /etc/gshadow. Por ejemplo:
root@localhost:~# useradd -u 1000 -g users -G wheel,research -c "Jane
Doe" jane
root@localhost:~# grep jane /etc/passwd
jane:x:1000:100:Jane Doe:/home/jane:/bin/bash
root@localhost:~# grep jane /etc/shadow
jane:!!:16003:0:99999:7:::
root@localhost:~# grep jane /etc/group
wheel:x:10:jane
research:x:2000:jane
root@localhost:~# grep jane /etc/gshadow
wheel:::jane
research:!::jane
root@localhost:~#
root@localhost:~# ls /var/spool/mail
jane root rpc sysadmin
root@localhost:~# ls /home
jane sysadmin
root@localhost:~# ls -a /home/jane
. .. .bash_logout .bashrc .profile .selected_editor
root@localhost:~# ls -a /etc/skel
. .. .bash_logout .bashrc .profile .selected_editor
root@localhost:~#
nombre
segundo nombre
apellido
cumpleaños
teléfono
nombres de mascotas
licencia de conducir
seguro social
Hay numerosos factores a considerar al elegir una contraseña para una cuenta:
Longitud: El archivo /etc/login.defspermite al administrador
especificar la longitud mínima de la contraseña. Aunque hay personas que
consideran que una contraseña larga es mejor, esto no es realmente
correcto. El problema con las contraseñas que son demasiado largas es
que no se recuerdan fácilmente y, consecuentemente, la gente las apunta
a menudo en un lugar donde pueden ser fácilmente encontradas y
comprometidas.
Composición: Una buena contraseña debe estar compuesta por una
combinación de caracteres alfabéticos, numéricos y simbólicos.
Vigencia: La cantidad de tiempo que una contraseña se puede utilizar
como máximo debe ser limitada por varias razones:
Si una cuenta está comprometida y se limita el tiempo que la
contraseña es válida, el intruso perderá el acceso puesto que
eventualmente la contraseña se volverá invalidada.
Si una cuenta no se usa, entonces se puede desactivar
automáticamente cuando la contraseña no sea válida.
Si los atacantes intentan atacar con «fuerza bruta» con cada
contraseña posible, entonces la contraseña puede cambiarse antes
de que el ataque tenga éxito.
Las opiniones varían sobre la frecuencia con la que los usuarios deben ser
forzados a cambiar sus contraseñas. Para cuentas muy sensibles, se
recomienda cambiar las contraseñas con mayor frecuencia, como cada 30
días. Por otro lado, para cuentas no críticas sin ningún tipo de acceso a
información sensible, hay menos necesidad de cambio frecuente. Para
cuentas con mínimo riesgo, una vigencia razonable sería 90 días.
Suponiendo que el administrador estableció una contraseña para una cuenta de usuario, el
usuario puede entonces iniciar sesión con el nombre de cuenta y la contraseña. Cuando el
usuario abre una terminal, puede ejecutar el comando passwd sin argumentos para
cambiar su propia contraseña. Se le pide su contraseña actual y luego se pedirá que
introduzca la nueva contraseña dos veces.
Para un usuario común puede ser difícil establecer una contraseña válida, porque debe
seguir todas las reglas para la contraseña. El usuario normalmente tiene tres intentos para
proporcionar una contraseña válida antes de que el comando passwd salga con un error.
Con los privilegios del usuario root, las contraseñas encriptadas y otra información
relacionada a la contraseña puede verse consultando el archivo /etc/shadow. Hay que
recordar que los usuarios normales no pueden ver el contenido de este archivo.
-E -- Configurar cuenta
EXPIRE_DATE expiredate
EXPIRE_DATE
para que expire
el EXPIRE_DATE
Un buen ejemplo del comando chage sería cambiar el número máximo de días para la
validez de la contraseña de una persona a 60 días:
HOME_DIR usuario.
-e -- Configurar la fecha de
EXPIRE_DATE expiredate
EXPIRE_DATE
caducidad de la cuenta
a EXPIRE_DATE.
cuenta.
Borrar un usuario con el comando userdel (véase la sección siguiente) puede resultar en
archivos huérfanos o eliminados del usuario del sistema. En vez de eliminar la cuenta, otra
opción es bloquear la cuenta con la opción -L del comando usermod. El bloqueo de una
cuenta evita que la cuenta se utilice, pero sigue siendo propietario de los archivos.
Hay algunas cosas importantes que debes saber sobre el manejo de los grupos
suplementarios. Si utilizas la opción -G sin la opción -a, debes listar todos los grupos a los
que perteneciera el usuario. Usando solamente la opción -Gpuede accidentalmente quitar
un usuario de todos los anteriores grupos suplementarios a los que pertenece.
Si utilizas la opción -a sin la opción -G, solamente tienes que listar los grupos nuevos a los
que perteneciera el usuario. Por ejemplo, si el usuario jane pertenece actualmente a los
grupos wheel y research, entonces para agregar su cuenta al grupo de desarrollo, ejecuta
el siguiente comando:
ADVERTENCIA: El comando anterior solo borra los archivos del usuario en su directorio
home y mail spool. Si el usuario posee otros archivos fuera de su directorio, los archivos
seguirán existiendo como archivos huérfanos.