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

Comment puis-je créer un utilisateur non connecté ?

Je voudrais créer un utilisateur et un groupe tous deux appelés subversion sur un système RHEL 5. J'ai regardé la page de manuel de useradd et je suppose que la commande serait juste…

useradd subversion

Cependant, je ne sais pas comment éviter de créer un home dir. De plus, je ne veux pas que ce soit un utilisateur qui puisse se connecter au système.

Le but principal est juste de fournir un propriétaire pour un dépôt SVN.

Réponses (8)

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

Vous pouvez utiliser la commande suivante :

useradd -r subversion

Pour plus d'informations, consultez pages de manuel avec cette commande :

man useradd

Vous trouverez dans cette documentation le drapeau suivant qui peut être utilisé pour votre usage.

-r, --system create a system account

Le drapeau -r créera un utilisateur système - un utilisateur qui n'a pas de mot de passe, un répertoire personnel et qui ne peut pas se connecter.

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

Vous pouvez utiliser le commutateur -M (assurez-vous que c'est une majuscule) pour vous assurer qu'aucun répertoire d'origine ne sera créé :

useradd -M subversion

puis verrouiller le compte pour empêcher la connexion :

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

Une autre solution pour créer un utilisateur système, en utilisant adduser  :

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

Vous pouvez supprimer --group si vous n'avez pas besoin de grouper votre nom d'utilisateur, et --no-create-home si vous avez besoin d'un domicile pour cet utilisateur.

Comme mentionné par py4on dans les commentaires, sur certains systèmes on peut avoir besoin d'utiliser l'option --disabled-login afin de, eh bien, désactiver la connexion pour cet utilisateur. Cela semble être le comportement par défaut sous Debian, cependant.

Attention à ce que l'identifiant numérique de l'utilisateur soit celui d'un compte système. Vous pouvez cependant corriger l'uid en utilisant l'option --uid.

Enfin, notez que sur certains systèmes (par exemple Fedora), adduser est un lien symbolique vers useradd, auquel cas cette réponse n'est pas valable.

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

La réponse la plus simple à la question initiale est d'exécuter la commande :

adduser subversion --shell=/bin/false

Et si vous ne voulez pas non plus le répertoire home :

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

ou, si vous voulez un utilisateur système encore plus verrouillé (Normalement, cela ne créera pas de répertoire home - il a été signalé que cela créera quand même un répertoire home sous linux mint comme indiqué dans le commentaire ci-dessous)

adduser subversion --system --group

Toutes ces commandes créeront un groupe avec le même nom que l'utilisateur

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

La façon la plus sûre de procéder serait d'utiliser adduser comme suit :

$ adduser -r -s /bin/nologin subversion

NOTE: Assurez-vous d'inclure -s /sbin/nologin pour désactiver tout shell de connexion qui serait mis à disposition du compte.

Confirmation de l'installation

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

Cependant il n'y a pas de répertoire :

$ ll /home | grep subversion
$

Confirmer que le compte est utilisable autrement :

$ sudo -u subversion whoami
subversion

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

Suppression

Si vous devez supprimer ce compte :

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

Et confirmer :

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

Sur une machine CentOS 7, vous pouvez utiliser les commandes suivantes :

  • si l'utilisateur n'existe pas :

  • si vous voulez modifier un utilisateur existant :

0
0
0
2019-09-02 00:38:41 +0000

Dans Debian, vous pouvez créer un utilisateur système (sans répertoire d'origine) et un shell de connexion :

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

Si votre programme nologin est dans /sbin/nologin, veuillez le modifier en conséquence.

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

Commencez par générer un mot de passe crypté pour l'utilisateur avec un maximum de 8 caractères en faisant :

openssl passwd -crypt new_password_less_than_eight_chars_long

Puis vous faites :

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