Je veux créer un nouvel utilisateur pour exécuter un service sur le système mais je ne veux pas avoir de /home
fichier de configuration pour cela. Comme il y a un utilisateur pour postgres mais il ne possède aucun /home
répertoire.
users
home-directory
Owais Lone
la source
la source
Réponses:
Par défaut, la commande useradd ne crée pas de répertoires de base, mais pour un démon, je vous recommande d'utiliser l'option système et de remplacer le shell par un autre qui n'existe pas afin que personne ne puisse se connecter à ce compte (sous ssh par exemple):
Vous pouvez voir toutes les options avec
man useradd
etman groupadd
si vous souhaitez également créer un groupe pour l'utilisateur.la source
/sbin/nologin
le shell de connexion, bien que l'utilisation/bin/false
ne fasse aucune différence.Essayez
adduser --system --no-create-home USERNAME
ou jetez simplement un coup d'oeil sur leman adduser
qui prétend être un " frontal plus convivial pour les outils de bas niveau comme useradd ... ".la source
adduser
s'agissait d'une oppositionuseradd
, et l'exécution de la commandeuseradd
avec ces options n'a généré aucune erreur, mais j'ai créé le compte avec shell/bin/bash
. "Attention aux acheteurs".J'avais besoin de quelque chose de similaire - un nouvel utilisateur sans privilèges de connexion et lié à un service système. Cependant, la réponse de Clausi crée un utilisateur avec le groupe principal en tant que "nogroupe", ce qui n'était pas vraiment souhaitable.
adduser --system --no-create-home --group USERNAME
crée un groupe de systèmes portant le même nom que l'utilisateur et l'associe à l'utilisateur en tant que groupe principal. Ceci peut ensuite être vérifié en utilisant lagroups USERNAME
ou laid USERNAME
commande.la source
Pour ajouter un utilisateur sans répertoire de base, les commandes sont,
ou
ou
ou
la source
essayez cette commande:
sudo useradd vivek
Cela créera un utilisateur sans créer votre dossier personnel à
/home/vivek
la source
/home/vivek
sera automatiquement créé.