[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

¡Esta es una revisión vieja del documento!


Traducción en progreso. Victor.

Gestión de usuarios y grupos

¿Qué son los usuarios y los grupos?

Slackware Linux hereda una fuerte tradición multiusuario de su inspiración UNIX. Esto significa que varias personas pueden usar el sistema a la vez, pero también significa que cada una de estas personas puede tener diferentes permisos. Esto permite a los usuarios evitar que otros modifiquen sus archivos, o permite a los administradores del sistema definir explícitamente lo que los usuarios pueden y no pueden hacer en el sistema. Además, los usuarios no necesitan ser personas reales en absoluto. De hecho, Slackware incluye varias docenas de cuentas de usuarios y grupos predefinidas que los usuarios normales no suelen utilizar. Más bien, estas cuentas permiten al administrador del sistema segmentar el sistema por razones de seguridad. Veremos cómo se hace en el siguiente capítulo sobre permisos de sistemas de archivos.

Administrar usuarios y grupos

Añadiendo usuarios y grupos

La forma más fácil de agregar nuevos usuarios en Slackware es mediante el uso de nuestro muy fino adduser shell script. adduser le pedirá que ingrese los detalles del nuevo usuario que desea crear y lo guiará a través del proceso de manera rápida y sencilla. Incluso creará una contraseña para el nuevo usuario.

darkstar:~# adduser

Login name for new user []: david

User ID ('UID') [ defaults to next available ]: 

Initial group [ users ]: 
Additional UNIX groups:

Users can belong to additional UNIX groups on the system.
For local users using graphical desktop login managers such
as XDM/KDM, users may need to be members of additional groups
to access the full functionality of removable media devices.

* Security implications *
Please be aware that by adding users to additional groups may
potentially give access to the removable media of other users.

If you are creating a new user for remote shell access only,
users do not need to belong to any additional groups as standard,
so you may press ENTER at the next prompt.

Press ENTER to continue without adding any additional groups
Or press the UP arrow to add/select/edit additional groups
:  audio cdrom floppy plugdev video

Home directory [ /home/david ] 

Shell [ /bin/bash ] 

Expiry date (YYYY-MM-DD) []: 

New account will be created as follows:

---------------------------------------
Login name.......:  david
UID..............:  [ Next available ]
Initial group....:  users
Additional groups:  audio,cdrom,floppy,plugdev,video
Home directory...:  /home/david
Shell............:  /bin/bash
Expiry date......:  [ Never ]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.

Creating new account...

Changing the user information for david
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Changing password for david
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password: 
Re-enter new password: 
Password changed.

Account setup complete.

La adición de grupos opcionales necesita un poco de explicación. Cada usuario en Slackware tiene un solo grupo del que siempre es miembro. Por defecto, este es el grupo “usuarios”. Sin embargo, los usuarios pueden pertenecer a más de un grupo a la vez y heredarán todos los permisos de cada grupo al que pertenecen. Los usuarios de escritorio típicos deberán agregar varias membresías de grupo para hacer cosas como reproducir sonido o acceder a medios extraíbles como cdroms o unidades flash USB. Simplemente puede presionar la tecla de flecha hacia arriba en esta sección y aparecerá mágicamente una lista de grupos predeterminados para usuarios de escritorio. Por supuesto, puede agregar o eliminar grupos de este listado.

Ahora que hemos demostrado cómo usar el programa interactivo adduser , veamos algunas herramientas poderosas no interactivas que quizás desee utilizar. El primero es useradd (8). useradd es un poco menos amigable, pero mucho más rápido para crear usuarios en lotes. Esto lo hace ideal para su uso en shell scripts. De hecho, adduser es un script de shell de este tipo y utiliza useradd para la mayor parte del trabajo pesado. useradd tiene muchas opciones y no podemos explicarlas todas aquí, así que consulte su página de manual para obtener todos los detalles. Ahora, hagamos un nuevo usuario.

darkstar:~# useradd -d /data/home/alan -s /bin/bash -g users -G audio,cdrom,floppy,plugdev,video alan

Aquí he añadido el usuario “alan” . Especifiqué el directorio de inicio del usuario como /data/home /alan y utilicé bash como mi shell. Además, especifiqué mi grupo predeterminado como “users” y me agregué a una serie de grupos útiles para uso dekstop. Notará que useradd no realiza ninguna solicitud como adduser . A menos que desee aceptar los valores predeterminados para todo, deberá indicar a useradd qué hacer.

Ahora que sabemos cómo agregar usuarios, debemos aprender cómo agregar grupos. Como habrá adivinado, el comando para hacer esto es groupadd (8). groupadd funciona de la misma manera que useradd , pero con muchas menos opciones. El siguiente comando agrega el grupo “slackers” al sistema.

darkstar:~# groupadd slackers

Eliminar usuarios y grupos también es fácil. Simplemente ejecuta el comando userdel (8) y/o groupdel (8). Por defecto, userdel dejará el directorio de inicio del usuarioen el sistema. Puede eliminar esto con el argumento - r .

Otras herramientas de usuario y grupo

Existen varias otras herramientas para la gestión de usuarios y grupos. Quizás el más importante es passwd (1). Este comando cambia la contraseña de una cuenta de usuario. Los usuarios normales pueden cambiar sus propias contraseñas solamente, pero root puede cambiar la contraseña de cualquier persona. Además, root puede bloquear una cuenta de usuario con la opción -l . En realidad, esto no cierra la cuenta, sino que cambia la contraseña cifrada del usuario a un valor que no se puede comparar.

La forma más sencilla de modificar la información de un usuario es la utilidad usermod (8) que es capaz de modificar todo, desde la membresía de un grupo hasta los directorios principales. No se proporcionará una lista completa de sus características aquí, así que consulte la página de manual. usermod es quizás la mejor herramienta para usar para modificar los miembros del grupo de un usuario. Las opciones - s y - G logran esto.

darkstar:~# usermod -a -G wheel alan
darkstar:~# usermod -G wheel alan

Es importante tener en cuenta las diferencias en los dos comandos anteriores. El primer comando agrega el usuario “alan” al grupo “wheel” sin modificar ningún otro grupo al que pertenece “alan” . El segundo comando también hace de “alan” un miembro del grupo “wheel”, pero también elimina la membresía del usuario de cualquier otro grupo, ¡algo que rara vez querrá hacer!

Otra herramienta útil es chsh (1) que cambia el shell predeterminado de un usuario. Al igual que passwd , los usuarios normales solo pueden cambiar su propio shell, pero el usuario root puede cambiar el de cualquier persona.

La última herramienta que vamos a discutir es chfn (1). Esto se utiliza para ingresar información de identificación sobre el usuario, como su número de teléfono y su nombre real. Esta información se almacena en el archivo passwd (5) y se recupera utilizando finger (1).

Managing Users and Groups Manually

Like most things in Slackware Linux, users and groups are stored in plain-text files. This means that you can edit all the details of a user, or even create a new user or group simply by editing these files and doing a few other tasks like creating the user's home directory. Of course, after you see how this is done you'll appreciate just how simple the included tools make this task.

Our first stop is the /etc/passwd file. Here, all the information about a user is stored, except for (oddly enough) the user's password. The reason for this is rather simple. /etc/passwd must be readable by all users on the system, so you wouldn't want passwords stored there, even if they are encrypted. Let's take a quick look at my entry in this file.

alan:x:1000:100:,,,:/home/alan:/bin/bash

Each line in this file contains a number of fields seperated by a colon. They are, from left to right: username, password, UID, GUID, a comment field, home directory, and shell. You'll notice that the password field for every entry is an x. That is because Slackware uses shadow passwords, so the actual encrypted password is stored in /etc/shadow. Let's take a look there.

alan:$1$HlR?M3fkL@oeJmsdLfhsLFM*4dflPh8:14197:0:99999:7:::

The shadow file contains more than just the encrypted password as you'll notice. The fields here, again from left to right, are: username, encrypted password, last day the password was changed, days before the password may be changed again, how many days before the password expires, days that the account will be disabled after expiring, when the account was disabled, and a reserved field. You may notice on some accounts that the various “days” fields often include very large numbers. The reason for this is that Slackware counts time from the “Epoch” which is January 1, 1970 for historical reasons.

To create a new user account, you'll just need to open these files using vipw(8). This will open /etc/passwd in the editor defined by your VISUAL variable or your EDITOR variable if VISUAL isn't defined. If neither is present, it will fall back to vi by default. If you pass the -s argument, it will open /etc/shadow instead. It's important to use vipw instead of using any other editor, because vipw will lock the file and prevent other programs from editing it right underneath your feet.

That isn't all you'll need to do however; you must also create the user's home directory and change the user's password using passwd.

Chapter Navigation

Previous Chapter: Printing

Next Chapter: Filesystem Permissions

Sources

  • Originally written by Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson

 es:slackbook:users ()