Useradd et adduser

Résolu
Michel33_7 Messages postés 2 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

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

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     

    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
  2. filou
     

    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