web-dev-qa-db-fra.com

Comment ajouter un utilisateur sans / home?

Je souhaite créer un nouvel utilisateur pour exécuter un service sur le système, mais je ne souhaite pas avoir /home et d'autres fichiers de configuration correspondants. Comme il y a un utilisateur pour postgres mais il ne possède pas de répertoire /home.

76
Owais Lone

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 shell inexistant afin que personne ne puisse se connecter à ce compte (sous ssh par exemple):

Sudo useradd -r -s /bin/false USERNAME

Vous pouvez voir toutes les options avec man useradd et man groupadd si vous souhaitez également créer un groupe pour l'utilisateur.

99
sergio91pt

Essayez adduser --system --no-create-home USERNAME ou regardez simplement le man adduser qui prétend être un " frontal plus convivial pour les outils de bas niveau comme useradd ... ".

50
Clausi

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. Cela peut ensuite être vérifié à l'aide de groups USERNAME ou de la commande id USERNAME.

14
daoperator

Pour ajouter un utilisateur sans répertoire de base, les commandes sont,

useradd -M username

ou

useradd --no-create-home username

ou

adduser -M username

ou

adduser --no-create-home username
2
user477778

essayez cette commande:

Sudo useradd vivek

Cela créera un utilisateur sans créer votre dossier personnel à /home/vivek

1
Vivekananda T