Useradd et adduser

Résolu/Fermé
Michel33_7 Messages postés 2 Date d'inscription dimanche 21 août 2022 Statut Membre Dernière intervention 6 octobre 2022 - Modifié le 14 oct. 2022 à 12:48
mamiemando Messages postés 33140 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 juin 2024 - 14 oct. 2022 à 12:48

Bonjour à tous,

J'ai installé Debian 10.12.0  sur ma machine, mais les commandes adduser et useradd sont introuvables.

Merci par avance !

2 réponses

mamiemando Messages postés 33140 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 juin 2024 7 756
Modifié le 14 oct. 2022 à 13:16

Bonjour,

J'ai installé Debian 10.12.0  sur ma machine, mais les commandes adduser et useradd sont introuvables.

Réponse courte

C'est probablement parce que tu n'es pas root.

Réponse détaillée

apt-file

Lorsqu'il semble te manquer une commande, tu peux chercher quel paquet la fournit avec apt-file. puis vérifier s'il est installé avec dpkg -l.

Installation d'apt-file :

apt update
apt install apt-file
sudo apt-file update

Exemples :

apt-file search useradd | grep bin/useradd
passwd: /usr/sbin/useradd
apt-file search adduser | grep bin/adduser
adduser: /usr/sbin/adduser

Interprétation :

Il faut donc que les paquets passwd et adduser soient installés (et au besoin les installer avec apt install). En réalité, ces deux paquets sont déjà installés, comme te le montreras la commande :

dpkg -l | egrep "passwd|adduer"

La variable d'environnement PATH

L'étape suivante, c'est s'assurer que les dossiers qui les contiennent (en l'ocurrence /usr/sbin) soit dans ton PATH, sans quoi il faut taper le chemin absolu de la commande (e.g., /usr/bin/adduser) pour pouvoir l'exécuter. Pour voir la valeur actuelle de PATH, il suffit de lancer :

Exemple :

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Ici, on voit /usr/sbin n'est pas dans le PATH. C'est normal, c'est vu qu'on n'est pas root (et la FHS stipule que /sbin et /usr/sbin contiennent les exécutables pour administrer la machine). On pourrait tout à fait lancer /usr/bin/adduser toto mais cela plantera, car comme toute commande qui impacte la manière dont est administré le système, il faut des droits root.

Lancer une commande en tant que root

Pour passer root, lance :

su -

Tu peux vérifier que dès lors /usr/sbin est bien dans ton PATH :

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin

... et donc tu pourras lancer :

adduser toto

PATH et sudo

sudo est une commande qui permet de lancer une commande administrateur depuis un profil utilisateur. Elle est installée par défaut sous Ubuntu et peut l'être sous Debian.

Si sudo est installé et que tu l'utilise avec un utilisateur autorisé à le faire (typiquement, appartenant au groupe utilisateur sudo), le PATH est implicitement corrigé de sorte à ce qu'il coïncide avec le PATH de root. Tu peux donc appeler la commande adduser sans avoir à préciser son chemin absolu.

sudo adduser toto

Bonne chance

2

Bonjour

Regarde ce tuto pour bricoler un dépanage.

sont un peu radins ils ont pas du mettre adduser. Et useradd faut le taper à la main au clavier.

https://debian-facile.org/doc:systeme:useradd

0