2009-12-02 00:47:25 +0000 2009-12-02 00:47:25 +0000
138
138

¿Cómo puedo crear un usuario no conectado?

Me gustaría crear un usuario y un grupo ambos llamados subversion en un sistema RHEL 5. Miré la página de usuario de useradd y supongo que el comando sería…

useradd subversion

Sin embargo, no estoy seguro de cómo evitar la creación de un directorio de inicio. Además, no quiero que sea un usuario que pueda acceder al sistema.

El propósito principal es sólo proporcionar un propietario para un repositorio SVN.

Respuestas (8)

229
229
229
2012-12-06 20:10:20 +0000

Puedes usar el siguiente comando:

useradd -r subversion

Para más información, revisa páginas del manual con este comando:

man useradd

Encontrarás en esta documentación la siguiente bandera que puede ser usada para tu propósito.

-r, --system create a system account

La bandera -r creará un usuario del sistema - uno que no tiene una contraseña, un dir inicial y no puede acceder.

81
81
81
2009-12-02 00:58:07 +0000

Puedes usar el interruptor -M (asegúrate de que es una mayúscula) para asegurarte de que no se creará ningún directorio principal:

useradd -M subversion

luego bloquea la cuenta para evitar el ingreso:

usermod -L subversion
22
22
22
2015-03-01 20:04:05 +0000

Otra solución para crear un usuario del sistema, usando adduser :

adduser --system --no-create-home --group yourusername

Puedes quitar --group si no necesitas agrupar tu nombre de usuario, y --no-create-home si necesitas un hogar para este usuario.

Como menciona py4on en sus comentarios, en algunos sistemas uno puede necesitar usar la opción --disabled-login para, bueno, deshabilitar el login para este usuario. Sin embargo, parece ser el comportamiento por defecto en Debian.

Cuidado con que el ID numérico del usuario sea de una cuenta del sistema. Sin embargo, puedes arreglar el uid usando la opción --uid.

Por último, ten en cuenta que en algunos sistemas (por ejemplo, Fedora) adduser es un enlace simbólico a useradd, en cuyo caso esta respuesta no es válida.

17
17
17
2016-05-17 06:15:03 +0000

La respuesta más limpia a la pregunta original es ejecutar el comando:

adduser subversion --shell=/bin/false

Y si no quieres el directorio home tampoco:

adduser subversion --shell=/bin/false --no-create-home

o, si quieres un usuario del sistema aún más bloqueado (Normalmente esto no creará un directorio home - se ha informado que aún creará un directorio home en linux mint como se comenta más abajo)

adduser subversion --system --group

Todos estos comandos crearán un grupo con el mismo nombre del usuario

13
13
13
2017-03-07 14:04:28 +0000

La forma más segura de hacerlo sería usar adduser así:

$ adduser -r -s /bin/nologin subversion

NOTA: Asegúrate de incluir -s /sbin/nologin para desactivar cualquier shell de acceso a la cuenta.

Confirmación de la configuración

$ grep subversion /etc/passwd /etc/shadow
/etc/passwd:subversion:x:496:496::/home/subversion:/bin/nologin
/etc/shadow:subversion:!!:17232::::::

Sin embargo no hay directorio:

$ ll /home | grep subversion
$

Confirma que la cuenta es utilizable de otra manera:

$ sudo -u subversion whoami
subversion

$ sudo -u subversion date
Tue Mar 7 08:58:57 EST 2017

Eliminación

Si necesitas eliminar esta cuenta:

$ userdel subversion -r
userdel: subversion mail spool (/var/spool/mail/subversion) not found
userdel: subversion home directory (/home/subversion) not found
$

Y confirma:

$ grep rtim-hc-user /etc/passwd /etc/shadow
$
1
1
1
2016-09-06 15:06:22 +0000

En una máquina CentOS 7 se pueden utilizar los siguientes comandos:

  • Si el usuario no existe:
0
0
0
2019-09-02 00:38:41 +0000

En Debian, podría crear un usuario de sistema (sin directorio de inicio) y un shell de inicio de sesión:

useradd --system --shell=/usr/sbin/nologin <username>

Si su programa nologin está en /sbin/nologin, por favor cambie en consecuencia.

0
0
0
2019-06-08 18:45:03 +0000

Comienza generando una contraseña encriptada para el usuario con un máximo de 8 caracteres haciendo:

openssl passwd -crypt new_password_less_than_eight_chars_long

Luego haces:

useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username