Useradd et adduser
Résolu/Fermémamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 - 14 oct. 2022 à 12:48
- Adduser commande introuvable
- Bash: adduser : commande introuvable - Meilleures réponses
- Useradd commande introuvable - Meilleures réponses
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Commande en attente d'acceptation fnac ✓ - Forum Consommation & Internet
- Msvcr110.dll est introuvable ✓ - Forum Windows 10
2 réponses
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