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 :

Script ajout d'utilisateurs


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 11
    Par défaut Script ajout d'utilisateurs
    Voici un exercice linux que j'ai pu faire mais j'ai des erreurs que je comprends pas trop. Aidez-moi svp.

    ÉNONCE :

    Créez un script réalisant les tâches suivantes à partir d’un fichier texte contenant des logins, groupes
    et passwords séparés par des « ; » :
    1. Sans options, le script affiche une aide donnant les options possibles.
    2. L’option -f permet de préciser l’emplacement du fichier. Si l’option n’est pas utilisée, alors le
    script utilise par défaut le fichier « listing.txt » se trouvant dans le même répertoire que le
    script.
    3. L’option -d permet de choisir un séparateur autre que le « ; ».
    4. L’option -a permet d’ajouter de nouveaux logins/groupes/passwords dans le fichier. Ceux-ci
    sont demandés à l’utilisateur et ajoutés en fin de fichier.
    1. De plus, le script vérifie que les utilisateurs proposés ne soient pas déjà présents dans le
    fichier. Auquel cas, il demande un autre nom d’utilisateur.
    5. Avec l’option -e, le script crée les utilisateurs
    1. avec comme groupe principal et comme mot de passe, ceux précisés dans le fichier
    fourni.
    6. Lorsque le script rencontre une erreur, la valeur de retour est 1. Sinon, elle vaut 0.

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    #!/bin/bash
     
    fichier="/root/listusers.txt"
    sep=";"
    recommencer=1
     
    function adduser(){
        while [ $recommencer -eq 1 ]; do
            read -p "Entrez votre utilisteur comme suit : user,pass,groupe : " user 
            nom=$(echo $user | cut -d$sep -f1)
            recommencer=0
            while read line
            do
                verifnom=$(echo $line | cut -d$sep -f1)
                echo "Nom à vérifier : $verifnom"
                echo "Nom passé en paramètre : $nom"
                if [ "$verifnom" = "$nom" ]
                then
                    recommencer=1
                    echo "Erreur l'user est déjà dans la liste !"
                    break
                fi
            done < $fichier
            if [ $recommencer -eq 0 ]; then
                echo "$user" >> $fichier
            fi
        done
    }
     
    function creerusers (){
        while read line
        do
            name=$(echo $line | cut -d$sep -f1)
            pass=$(echo $line | cut -d$sep -f2)
            group=$(echo $line | cut -d$sep -f3)
            sudo groupadd $group
            sudo useradd $name -p "$pass" -g "$group"
            id $name
        done < $fichier
    }
     
    function aide (){
        echo "Texte d'aide ici..."
    }
     
    if [ $# -ne 0 ]; then
        if [ -e "$fichier" ]; then
            while getopts "s:f:ac" options
            do
                case $options in
                    s)
                        sep=$OPTARG;;
                    f)
                        echo "Test"
                        echo $OPTARG
                        if [ -f $OPTARG ]; then
                            fichier=$OPTARG
                        else
                            echo "Le fichier spécifié n'existe pas !"
                            exit -1
                        fi;;
                    a)
                        adduser;;
                    c)
                        creerusers;;
                    *)
                        echo "Option $* inconnue !"
                esac
            done
            exit 0
        else
            echo "Le fichier des users n'existe pas !"
            exit -1
        fi
    else
        echo "Veuillez entrer au moins un argument !"
        aide
        exit -1
    fi

    Un grand MERCI d'avance

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    j'ai des erreurs que je comprends pas trop
    et, il faut qu'on devine quelles sont les erreurs ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 11
    Par défaut
    Nom : linuxerrors.PNG
Affichages : 3085
Taille : 7,7 Ko

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    tu as écrit ton script sur Windows ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 11
    Par défaut
    Non. Sur linux (Debian)

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    avec une interface graphique ?
    entièrement sur Linux ? tu n'y as pas fait de modifications sur Windows ?

    tu peux nous montrer une capture de cat -A ./linux.sh, stp ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. créer un script d'ajout d'utilisateur
    Par Sfaxiano dans le forum MySQL
    Réponses: 5
    Dernier message: 14/04/2010, 15h37
  2. scripts d'ajout d'utilisateur
    Par samsoft78 dans le forum Linux
    Réponses: 5
    Dernier message: 05/11/2007, 11h45
  3. script pour ajouter des utilisateurs postgres
    Par xopos dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 16/08/2004, 10h49

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