J'aimerais créer un utilisateur et un groupe appelés Subversion
sur un système RHEL 5. J'ai regardé la page de manuel pour useradd
et je suppose que la commande serait simplement ...
useradd Subversion
Cependant, vous ne savez pas comment éviter de créer un répertoire personnel. De plus, je ne veux pas que ce soit un utilisateur pouvant se connecter au système.
L'objectif principal est simplement de fournir un propriétaire pour un référentiel SVN.
Vous pouvez utiliser le commutateur -M
(assurez-vous qu'il s'agit d'une majuscule) pour vous assurer qu'aucun répertoire de base ne sera créé:
useradd -M Subversion
puis verrouillez le compte pour empêcher la connexion:
usermod -L Subversion
useradd -r Subversion
par man useradd
:
-r, --system create a system account
L'option -r créera un utilisateur système - un utilisateur sans mot de passe, sans répertoire personnel et ne pouvant pas se connecter.
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 groupe nomutilisateur, et --no-create-home
si vous avez besoin d'une maison pour cet utilisateur.
Comme mentionné par py4on dans les commentaires, sur certains systèmes, il peut être nécessaire d’utiliser l’option --disabled-login
afin de bien désactiver la connexion de cet utilisateur. Cela semble être le comportement par défaut sous Debian, cependant.
Attention, l'ID numérique de l'utilisateur sera celui d'un compte système. Vous pouvez toutefois corriger l'ID utilisateur à l'aide de 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 valide.
La réponse la plus propre à la question initiale consiste à exécuter la commande:
adduser Subversion --Shell=/bin/false
Et si vous ne voulez pas que le répertoire personnel soit:
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 de base - il a été signalé qu'il continuerait de créer un répertoire de base dans linux mint, conformément au commentaire ci-dessous).
adduser Subversion --system --group
Toutes ces commandes vont créer un groupe avec le même nom que l'utilisateur
La manière la plus sûre de le faire serait d'utiliser adduser
comme ceci:
$ adduser -r -s /bin/nologin Subversion
REMARQUE: N'oubliez pas d'inclure -s /sbin/nologin
pour empêcher tout shell de connexion d'être mis à la disposition du compte.
$ 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
$
Confirmez que le compte est par ailleurs utilisable:
$ Sudo -u Subversion whoami
Subversion
$ Sudo -u Subversion date
Tue Mar 7 08:58:57 EST 2017
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 confirmez:
$ grep rtim-hc-user /etc/passwd /etc/shadow
$
Sur une machine CentOS 7
si l'utilisateur n'existe pas:useradd testuser --Shell=/sbin/nologin
si vous souhaitez modifier un utilisateur existant:usermod testuser --Shell=/sbin/nologin