IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

useradd : syntaxe pour passer des paramètres


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut useradd : syntaxe pour passer des paramètres
    Bonsoir,

    J'essaie de me servire de la fonction "useradd". J'ai lu le man, fais de recherche mais je ne trouve pas la syntaxe pour passé des paramètres à cette fonction.

    J'aimerai faire :

    création d'un environnement de travail : répertoire de base, interpréteur de commande utilisé.

    Les paramètres sont (je me trompe peut etre) :

    -d rép_perso
    -g groupe_initial (utilisateur standard)
    -p mot_de_passe (ca fonctionne comment ? il faut une string scripté ?)
    -s shell

    Comment écrivez vous cette commande avec ces paramètres ? j'ai fais des essaies, mais rien marche

    Merci d'avance

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Heu, j'ai pas d'accès root sur une machine Linux juste là, mais comme ça je dirai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    USER_LOGIN="pouet"
    USER_PASSWORD="secret"
     
    # Le groupe de l'utilisateur doit exister ...
    groupadd "${USER_LOGIN}"
    # ... avant de créer le compte correspondant.
    useradd -d "/home/${USER_LOGIN}" -m -g "${USER_LOGIN}" -G "users" -s /usr/bin/powershell "${USER_LOGIN}"
    # Mettre le mot de passe sans coder quoi que ce soit...
    echo "${USER_LOGIN}" "${USER_PASSWORD}" | chpasswd
    A tester

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    ok je vais tester, une question, pourquoi tu écris tes variables de cette manière : ${USER_LOGIN} ?

    merci encore de ton aide !

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    ok ca fonctionne bien, sauf ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "${USER_LOGIN}" "${USER_PASSWORD}" | chpasswd
    il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "${USER_LOGIN}":"${USER_PASSWORD}" | chpasswd
    voila,

    merci encore !!!!

  5. #5
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Citation Envoyé par arnaudperfect
    pourquoi tu écris tes variables de cette manière : ${USER_LOGIN} ?
    C'est une syntaxe moins ambigue que $variable... Indispensable si tu fais de la concaténation de chaines :
    Citation Envoyé par arnaudperfect
    ok ca fonctionne bien, sauf ceci :

    echo "${USER_LOGIN}" "${USER_PASSWORD}" | chpasswd

    il faut écrire :

    echo "${USER_LOGIN}":"${USER_PASSWORD}" | chpasswd
    Flagrant déli de non-lecture de page de man

  6. #6
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut
    ok, merci !

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut script mentionné avant ... trop compliqué !!!
    Bonjour,

    Le script affiché dans une réponse précédente est ... simplifiable !
    Avec Linux, par exemple, si on crée un utilisateur standard, il n'y a pas besoin de créer le groupe privé de l'utilisateur ... idem pour le répertoire personnel etc...
    Le script simplifié :

    # cat script.user.simple.sh
    USER_LOGIN="testinvite"
    USER_PASSWORD="motdepasse"

    # creation du compte.
    useradd "${USER_LOGIN}"
    # activer le mot de passe
    echo "${USER_LOGIN}":"${USER_PASSWORD}" | chpasswd

    Exemple d'exécution

    # bash -x script.user.simple.sh
    + USER_LOGIN=testinvite
    + USER_PASSWORD=motdepasse
    + useradd testinvite
    + echo testinvite:motdepasse
    + chpasswd

    # grep test /etc/passwd
    testinvite:506:506::/home/testinvite:/bin/bash

    # grep test /etc/group
    testinvite:506:

    # grep test /etc/shadow
    testinvite:9ht5ptmak/nFc:13790:0:99999:7:::

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/02/2015, 23h08
  2. Réponses: 7
    Dernier message: 16/10/2014, 00h25
  3. Réponses: 2
    Dernier message: 17/04/2007, 10h56
  4. Réponses: 1
    Dernier message: 06/09/2006, 18h11
  5. Réponses: 1
    Dernier message: 21/03/2006, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo