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

Linux Discussion :

probleme pour ajouter des utilisateurs


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 35
    Points
    35
    Par défaut probleme pour ajouter des utilisateurs
    bonjour j ai un petit problème sur le script que je n arrive pas a resoudre
    quand je viens a exécuter le script il me dit
    line 26: syntaxe error: unexpected end of file
    voici le code source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    cat persons | while true
    do
    read ligne
    if [ "$ligne" == "" ]
    then
        echo "fin du fichier"
        break
    fi
    set -- $ligne
    login=$1
    pass=$2
     
    if [ -d "/home/$1" ]
    then
        echo "le compte $1 existe déjà"
    else
        echo "création du compte $login"
        useradd -m $login -G $1 -s /bin/bash
        echo $login:$pass | chpasswd
        (echo $pass ; echo $pass) | smbpasswd -s -a $login
        chown $login:$groupe /home/$login
        chmod 711 /home/$login
        chown -R $login:$login /home/$login
     
    done
    echo "fin du script"
    merci de votre aide à tous

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par zyriuse Voir le message
    bonjour j ai un petit problème sur le script que je n arrive pas a resoudre
    quand je viens a exécuter le script il me dit


    voici le code source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    cat persons | while true
    do
    read ligne
    if [ "$ligne" == "" ]
    then
        echo "fin du fichier"
        break
    fi
    set -- $ligne
    login=$1
    pass=$2
    
    if [ -d "/home/$1" ]
    then
        echo "le compte $1 existe déjà"
    else
        echo "création du compte $login"
        useradd -m $login -G $1 -s /bin/bash
        echo $login:$pass | chpasswd
        (echo $pass ; echo $pass) | smbpasswd -s -a $login
        chown $login:$groupe /home/$login
        chmod 711 /home/$login
        chown -R $login:$login /home/$login
    fi 
    
    done
    echo "fin du script"
    merci de votre aide à tous
    No comment

    Autre chose: moi j'essaye d'éviter le set autant que possible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set -- $ligne
    login=$1
    pass=$2
    peut se remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    login=`echo $ligne |cut -f1 -d' '`
    pass=`echo $ligne |cut -f2 -d' '`
    ce qui évite de prouter $1 et $2 qui peuvent être utiles à d'autres choses...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 35
    Points
    35
    Par défaut
    bonjour

    j ai un dernier petit problème que je n'arrive pas à résoudre. J'essaie de faire fonctionner le script mais quand je viens à l'appeler ça me dit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    creation du compte olivier
    useradd: option invalide -- a
    Usage: useradd [options] LOGIN
     
    Options:
      -b, --base-dir BASE_DIR       base directory for the new user account
                                    home directory
      -c, --comment COMMENT         set the GECOS field for the new user account
      -d, --home-dir HOME_DIR       home directory for the new user account
      -D, --defaults                print or save modified default useradd
                                    configuration
      -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
      -f, --inactive INACTIVE       set password inactive after expiration
                                    to INACTIVE
      -g, --gid GROUP               force use GROUP for the new user account
      -G, --groups GROUPS           list of supplementary groups for the new
                                    user account
      -h, --help                    display this help message and exit
      -k, --skel SKEL_DIR           specify an alternative skel directory
      -K, --key KEY=VALUE           overrides /etc/login.defs defaults
      -m, --create-home             create home directory for the new user
                                    account
      -o, --non-unique              allow create user with duplicate
                                    (non-unique) UID
      -p, --password PASSWORD       use encrypted password for the new user
                                    account
      -r, --system                  create a system account
      -s, --shell SHELL             the login shell for the new user account
      -u, --uid UID                 force use the UID for the new user account
     
    chpasswd : ligne 1 : utilisateur olivier inconnu
    chpasswd : erreur détectée ; modifications ignorées
    New SMB password:

    le corps du script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #!/bin/sh
    cat persons | while true
    do
    read ligne
    if [ "$ligne" == "" ]
    then
        echo "fin du fichier"
        break
    fi
    set -- $ligne
    login=$1
    pass=$2
     
    if [ -d "/etc/samba/$1" ];then
     
        echo "le compte $1 exisetdeja"
    else
     
     
        echo "creation du compte $login"
        useradd -a  $login -G $1 -s /etc/samba
        echo $login:$pass | chpasswd
        (echo $pass ; echo $pass) | smbpasswd  -a $login
        chown $login:$groupe /etc/samba/smbpasswd
         chmod 711 /etc/samba/smbpasswd
        chown -R $login:$login /etc/samba/smbpasswd
     
    fi
     
    done
    echo "fin du script"
    merci de votre aide à tous !!!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    useradd -a $login -G $1 -s /etc/samba
    L'option -a n'existe pas
    L'option -s demande un shell en argument (/bin/bash, ... /dev/null pour interdire un shell à cet utilisateur) .

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tamiel Voir le message
    L'option -s demande un shell en argument
    Eh bien non (même si c'est ce que dit le man). Il n'est pas forcément nécessaire d'affecter un shell à l'utilisateur. On peut très bien lui affecter un programme quelconque qui aura la charge de répondre aux demandes de l'utilisateur selon ses possibilités (par exemple un menu qui offre des choix réduits et l'utilisateur ne peut que choisir dans le menu). Donc ici le choix est d'affecter /etc/samba à l'utilisateur. /etc/samba est-il un programme ??? Là est la vraie question !!!

    Citation Envoyé par tamiel Voir le message
    ... /dev/null pour interdire un shell à cet utilisateur) .
    Il est courant d'affecter dans ce cas là le programme "/bin/false" (quoiqu'on voit aussi parfois "/sbin/nologin"). Mais c'est toujours un programme et non un périphérique !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Oui /bin/false je me suis trompé

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 94
    Points : 35
    Points
    35
    Par défaut
    il me reste un dernier problème

    voici le problème qu'il me reste il ne veut pas ajouter l'utilisateur jean dans le fichier utilisateur
    ./salut
    creation du compte jean
    useradd : groupe jean inconnu
    New SMB password:
    Retype new SMB password:
    Failed to modify password entry for user jean
    fin du fichier
    fin du script

    samba se trouve installer dans /etc/samba à l'intérieur du répertoire samba il y a un fichier utilisateur où il y a marquer tous les utilisateurs
    voici le code source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    cat persons | while true
    do
    read ligne
    if [ "$ligne" == "" ]
    then
        echo "fin du fichier"
        break
    fi
     
    set -- $ligne
     
    login=$1
    pass=$2
     
    if [ -d "/etc/samba/$1" ];then
    #if [ $1 == "/etc/samba/" ];then
     
        echo "le compte $1 exise deja"
    else
     
        echo " "
        echo "creation du compte $login"
        useradd -g $login -G $1 -s /dev/null
    #   (echo $login:$pass) | smbpasswd
       (echo $pass ; echo $pass) | smbpasswd -a $login
     
    fi
     
    done
    echo "fin du script"

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/03/2012, 10h26
  2. [SP-2007] [WSS3] "Ajouter des utilisateurs" invisible pour un admin
    Par linati dans le forum SharePoint
    Réponses: 0
    Dernier message: 04/03/2011, 10h57
  3. ajouter des utilisateurs pour partage
    Par docfm78 dans le forum Bubuntu
    Réponses: 0
    Dernier message: 26/02/2009, 20h14
  4. script pour ajouter des utilisateurs postgres
    Par xopos dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 16/08/2004, 10h49
  5. l'ajout des utilisateurs
    Par frome dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/03/2004, 13h09

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