Existe una variedad de comandos disponible en el entorno Unix para modificar cuentas de usuario. Los comandos más comunes se hallan resumidos a continuación, seguidos de ejemplos más detallados de su uso.
Comando | Resumen |
---|---|
adduser | La aplicación de línea de comandos recomendada para añadir nuevos usuarios. |
rmuser | La aplicación de línea de comandos recomendada para eliminar usuarios. |
chpass | Una herramienta flexible para modificar la base de datos de usuarios. |
passwd | Una herramienta de línea de comandos simple para cambiar contraseñas de usuario. |
pw | Una herramienta potente y flexible para modificar cualquier aspecto de las cuentas de usuario. |
adduser
es un programa simple para añadir
usuarios. Crea entradas en los archivos de sistema
passwd
y group
.
También crea un directorio home para el nuevo usuario, copia
allí ficheros de configuración por defecto
(“dotfiles”) de
/usr/share/skel
, y opcionalmente puede
enviar al usuario un mensaje de bienvenida.
Para crear el fichero inicial de configuración usa
adduser -s -config_create
.
[7]
A continuación configuramos valores por defecto para
adduser y creamos nuestra primera
cuenta de usuario, dado que utilizar root
para uso normal del sistema es pernicioso y peligroso.
#
adduser -v
Use option ``-silent'' if you don't want to see all warnings and questions. Check /etc/shells Check /etc/master.passwd Check /etc/group Enter your default shell: csh date no sh tcsh zsh [sh]:zsh
Your default shell is: zsh -> /usr/local/bin/zsh Enter your default HOME partition: [/home]: Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: Send message from file: /etc/adduser.message no [/etc/adduser.message]:no
Do not send message Use passwords (y/n) [y]:y
Write your changes to /etc/adduser.conf? (y/n) [n]:y
Ok, let's go. Don't worry about mistakes. I will give you the chance later to correct any input. Enter username [a-z0-9_-]:jru
Enter full name []:J. Random User
Enter shell csh date no sh tcsh zsh [zsh]: Enter home directory (full path) [/home/jru]: Uid [1001]: Enter login class: default []: Login group jru [jru]: Login group is ``jru''. Invite jru into other groups: guest no [no]:wheel
Enter password []: Enter password again []: Name: jru Password: **** Fullname: J. Random User Uid: 1001 Gid: 1001 (jru) Class: Groups: jru wheel HOME: /home/jru Shell: /usr/local/bin/zsh OK? (y/n) [y]:y
Added user ``jru'' Copy files from /usr/share/skel to /home/jru Add another user? (y/n) [y]:n
Goodbye!#
En resumen, cambiamos la shell por defecto a
zsh (una shell alternativa incluida
en la colección de ports), y deshabilitamos el envío de un
mensaje de bienvenida a nuevos usuarios. Luego grabamos la
configuración, creamos una cuenta para jru
,
y nos aseguramos de que jru
esté en el
grupo wheel
(de modo que puede asumir el
papel de root
vía el comando
su
).
La contraseña que escribes no se muestra, tampoco se muestran asteriscos. Asegúrate de no entrar dos veces una contraseña equivocada.
Usa adduser
sin argumentos en adelante,
no necesitarás cambiar las opciones por defecto. Si el
programa te pide modificarlas sal y prueba con la opción
-s
.
Puedes usar rmuser
para eliminar
completamente del sistema a un usuario.
rmuser
efectúa los siguientes pasos:
Elimina la entrada del usuario en crontab(1) (si tiene alguna).
Elimina las tareas at(1) pertenecientes al usuario.
Mata todos los procesos pertenecientes al usuario.
Elimina al usuario del fichero local de contraseñas del sistema.
Borra el directorio home del usuario (si le pertenece).
Elimina los archivos de correo entrante del usuario de
/var/mail
.
Borra todos los ficheros del usuario de áreas en las que
se guardan archivos temporales como
/tmp
.
Finalmente, elimina el nombre de usuario de todos
aquellos grupos a los que pertenece en
/etc/group
.
Si un grupo queda vacío y el nombre del grupo coincide con el del usuario, el grupo es eliminado; esto complementa la creación de grupos por usuario de adduser(8).
rmuser
no puede ser usado para eliminar
cuentas de superusuario, dado que algo así es casi siempre señal
de masiva destrucción.
Por defecto existe un modo interactivo que intenta asegurar que uno sabe lo que hace.
#
rmuser jru
Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/tcsh Is this the entry you wish to remove?y
Remove user's home directory (/home/jru)?y
Updating password file, updating databases, done. Updating group file: trusted (removing group jru -- personal group is empty) done. Removing user's incoming mail file /var/mail/jru: done. Removing files belonging to jru from /tmp: done. Removing files belonging to jru from /var/tmp: done. Removing files belonging to jru from /var/tmp/vi.recover: done.#
chpass
cambia información de los usuarios
en base de datos como contraseñas, shells y datos
personales.
Los administradores del sistema, como el superusuario, son
los únicos que pueden modificar la información y contraseñas de
otros usuarios con chpass
.
Cuando no le pasamos más opciones, salvo un nombre de
usuario opcional, chpass
muestra un editor
con información de usuario. Cuando se sale del editor la base
de datos de usuarios se actualiza con la nueva
información.
#Changing user database information for jru. Login: jru Password: * Uid [#]: 1000 Gid [# or name]: 1000 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/tcsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
Un usuario normal puede modificar un pequeño subconjunto de esta información, y sólo para sí mismo.
#Changing user database information for jru. Shell: /usr/local/bin/tcsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
chfn
y chsh
son
enlaces a chpass
, como también lo son
ypchpass
, ypchfn
, e
ypchsh
. El soporte para NIS es automático,
por lo que no es necesario especificar el
yp
antes del comando. Si esto te resulta
algo confuso no te preocupes, NIS será tratado en el Capítulo 29, Networking avanzado.
passwd
es el comando que se usa
normalmente para cambiar tu propia contraseña como usuario o,
como superusuario, la de otros usuarios.
Los usuarios han de introducir su contraseña original antes de cambiarla para prevenir que gente no autorizada pueda hacerlo cuando no se encuentren en la consola.
%
passwd
Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
#
passwd jru
Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done
Como ocurre con chpass
,
yppasswd
es un enlace a
passwd
, de manera que NIS funciona con
ambos comandos.
pw(8) es una utilidad de línea de comandos para crear,
eliminar, modificar, y mostrar usuarios y grupos. Hace de
interfaz a los archivos del sistema de usuarios y grupos.
pw
tiene un conjunto de opciones de línea de
comandos bastante potente que lo hacen adecuado para su uso en
scripts de shell, aunque los nuevos usuarios puede que lo
encuentren algo más complicado que el resto de comandos que
presentamos aquí.
[7] La -s
hace que adduser
sea silencioso por defecto. Más tarde usamos -v
cuando queremos cambiar valores por defecto.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.