Vous êtes sur la page 1sur 5

useradd en Linux

1. Añadir un nuevo usuario en Linux


La sintaxis básica del comando es:

useradd [options] username

Donde username es el nombre del usuario a crear.


Solo se puede añadir un usuario de una vez, y su nombre ha de ser único en su dominio (diferente de otros
usuarios que ya existan en el sistema).

Por ejemplo, para añadir un usuario llamado rufian, usaremos:


[root@guineapig ~]# useradd rufian

Cuando se añade un usuario con useradd, éste no puede iniciar sesión, y queda ‘bloqueado’ hasta que le
pongamos una contraseña con el comando passwd. Si que se pueden ejecutar servicios o procesos con ese
usuario (con la orden su por ejemplo), pero no se puede iniciar sesión.
[root@guineapig~]# passwd rufian Changing password for user rufian. New
UNIX password: Retype new UNIX password: passwd: all authentication tokens
updated successfully.

Una vez creado el usuario, se añade su correspondiente línea al fichero /etc/passwd. Este fichero es usado para
guardar información de los usuarios, se compone de varias líneas cada una referente a un usuario único del
sistema, divididas por 7 campos con sus diferentes valores.
rufian:x:504:504:rufian:/home/rufian:/bin/bash

1. Username: nombre usado para iniciar sesión en el sistema. Puede tener entre 1 y 32 carácteres de
largo.
2. Password: contraseña de usuario (o el carácter x si la contraseña se almacena encriptada en el
fichero /etc/shadow , que es lo habitual)
3. User ID (UID): Cada usuario debe tener su User ID (UID) User Identification Number. Por
defecto, el UID 0 se reserva para el usuario root y los UID’s del rango 1-99 se reservan para otras cuentas
predefinidas del sistema. En adelante, UID’s en el rango 100-999 se reservan para cuentas y grupos del
sistema.
4. Group ID (GID): El grupo primario del usuario, Group ID (GID) Group Identification Number
almacenado en el archivo /etc/group.
5. User Info: Este campo es opcional y permite definir información extra sobre el usuario. Por
ejemplo, el nombre completo del usuario. El comando finger lee la información de este campo.
6. Home Directory: La ruta absoluta del directorio personal de usuario ( su $HOME)
7. Shell: La ruta absoluta de la shell de usuario por defecto, e.g. /bin/bash.

2. Crear un usuario con otro directorio personal.


Por defecto el comando useradd asigna un directorio bajo /home en la creación de usuario, con el nombre del
mismo (ojo, asignar no es lo mismo que crear, hablamos de la entrada en /etc/passwd). Por ejemplo, antes
hemos visto que arufian se le asignaba el directorio /home/rufian.
Se le puede cambiar este parámetro con la opcion -d y la ruta del nuevo directorio de usuario
(i.e. /srv/ftp/rufian). Por ejemplo, el siguiente comando añadirá al usuario ghost con directorio de
usuario /srv/ftp/ghost.
[root@guineapig ~]# useradd -d /srv/ftp/ghost ghost[root@guineapig ~]# grep ghost
/etc/passwdghost:x:505:505::/srv/ftp/ghost:/bin/bash
NOTA: Por defecto, useradd crear la entrada correspondiente al directorio de usuario en el fichero /etc/passwd,
pero no crea dicho directorio ni asigna permisos. Para ello hay que usar la opción -m, de la siguiente forma:
[root@guineapig ~]# useradd -m -d /srv/ftp/ghost ghost

3. Crear un usuario con un Id específico (User ID)


En Linux, cada usuario tiene su propio y único UID (Unique Identification Number). Por defecto asigna un
UID especificado por el sistema, y lo va incrementando de forma secuencial según se añaden usuario al sistema
(e.g. 500,501, 502 y sigue y sigue…)
Pero, se puede especificar el id que le queremos asignar, en el momento de la creación. En este ejemplo, vamos a
crear el usuario maligna con userid 999.
[root@guineapig ~]# useradd -u 999 maligna

[root@guineapig ~]# grep maligna /etc/passwd

maligna:x:999:999::/home/maligna:/bin/bash

NOTA: Si el UID especificado ya está en uso, el sistema dará un error y no se creará el usuario.

4. Crear un Usuario con grupos específicos( Group ID)


De forma similar, cada usuario tiene su GID único (Group Identification Number).
Podemos modificar esta opción con la opción -g.
En este ejemplo, añadiremos al usuario tachikoma con UID y GID específicos.
[root@guineapig ~]# useradd -u 1000 -g 500 tachikoma

[root@guineapig ~]# grep tachikoma /etc/passwd


tachikoma:x:1000:500::/home/tachikoma:/bin/bash

NOTA: Si el GID especificado no existe, el sistema dará un error y no se creará el usuario.

5. Añadir un usuario a múltiples grupos


La opción -G se usa para añadir grupos adicionales a un usuario. Each group name is separated by a comma, with
no intervening spaces.
En este ejemplo vamos a añadir al usuario tecnico a varios grupos como admins, webadmin y developer.
[root@guineapig ~]# useradd -G admins,webadmin,developers tecnico

[root@guineapig ~]# id tecmint

uid=1001(tecnico) gid=1001(tecnico)
groups=1001(tecnico),500(admins),501(webadmin),502(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

Otro ejemplo más interesante y más práctico, vamos a añadir al usuario


tecnico al grupo sudo, para que pueda elevar privilegios ;-)
[root@guineapig ~]# useradd -G sudo tecnico

6. Crear un Usuario sin directorio personal.


Es posible crear un usuario sin asignarle un directorio personal. En ese caso, si el usuario inicia sesión, su
directorio actual será la raiz del sistema, / .
Para crear un usuario sin su directorio personal se usa la opción -M. Por ejemplo, el siguiente command creará
un usuario llamado bob, sin directorio personal.
[root@guineapig ~]# useradd -M bob

[root@guineapig ~]# ls -l /home/bob

ls: cannot access /home/bob: No such file or directory

7. Crear una cuenta de Usuario con fecha de expiración


Por defecto, las cuentas nuevas no caducan nunca, su valor de expiración es 0.
Se puede ajustar esto con la opción -e, que establece la fecha de caducidad en formato YYYY-MM-DD (Year-
Month-Day). Esto puede resultar útil para crear cuentas de usuario de forma temporal o para periodos conocidos.
En este ejemplo, creamos el usuario becario cuya cuenta expira el 20 de Febrero de 2017 , en formato YYYY-
MM-DD.
[root@guineapig ~]# useradd -e 2017-02-20 becario

El comando chage con el paramátro -l nos sirve para verificar la fecha de expiración.
[root@guineapig ~]# chage -l becario

Último cambio de contraseña :feb 20, 2016

La contraseña caduca : nunca

Contraseña inactiva : nunca

La cuenta caduca : feb 20, 2017

Número de días mínimo entre cambio de contraseña : 0

Número de días máximo entre cambio de contraseña : 99999

Número de días de aviso antes de que caduque la contraseña : 7

NOTA: con chage se pueden cambiar los valores relativos a caducidad de


fecha y contraseña, no sólo consultarlos.

8. Crear un usuario con fecha de expiración de la


contraseña
De forma similar al anterior punto, con la opción -f se definen el número de dias tras el cual la contraseña
expirará.
Un valor de 0 desactiva la cuenta de usuario tan pronto como la contraseña expire. Por defecto, este campo tiene
el valor -1 , que significa que nunca expira.
En este ejemplo, vamos a crear una cuenta llamada chicken, cuya contraseña expire en 45 días , con las
opciones -e y -f
[root@guineapig ~]# useradd -e 2017-02-20 -f 45 chicken

9. Crear un Usuario y añadir comentarios


la opción -c permite añadir comentarios, como el nombre completo, numero de teléfono, etc .. al
fichero /etc/passwd. Los comentarios se añaden en una línea sin espacios.
Por ejemplo, este comando añadirá al usuario hpotter con su nombre completo, Harry Potter, en el campo
comentarios.
[root@guineapig ~]# useradd -c "Harry Potter" hpotter

[root@guineapig ~]# grep hpotter /etc/passwd

hpotter:x:1006:1008:Harri Potter:/home/mansi:/bin/sh

10. Crear un Usuario y Cambiar la Shell:


A veces se añaden usuarios que no tienen que iniciar sesión, o simplemente se les quiere asignar otras
terminales (shells). Podemos decidir todo esto en el momento de la creación del usuario con la opción -s.
En el ejemplo, se crear un usuario llamado snorby sin shell de inicio e.g. /sbin/nologin. (No podrá iniciar sesión)
[root@guineapig ~]# useradd -s /sbin/nologin snorby

[root@guineapig ~]# grep snorby /etc/passwd

snorby:x:1002:1002::/home/snorby:/sbin/nologin

Esta guía es una traducción con ‘apuntes y correcciones’ de la publicada en http://www.tecmint.com/add-users-


in-linux
El artículo original decía ’15 comandos de useradd’, pero en realidad son 10 y las otras 5 son combinaciones de
las anteriores.

Vous aimerez peut-être aussi