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 :

Gestion des utilisateurs en bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut Gestion des utilisateurs en bash
    bonjour

    je suis un débutant en bash . j'aimerais faire un script qui insère les utilisateurs sur la station Linux d'un liste.txt . le format de cette liste est numéro utilisateur ,prénom ,nom , poste . Tout est séparé par des virgules. Le numéro d'employé servira de nom pour le compte et le poste occupé servira de groupe.le prénom et le nom de la personne doivent servir de commentaire pour le compte , dans le fichier /etc/passwd . L'interrupteur de commande sera Bash pour tout les utilisateurs . Le répertoire de chaque utilisateur sera placé dans la partition nommée /users . Le nom du répertoire est le même que le nom du compte . le mot de passe des utilisateurs doit être vide et ceux-ci devront le changer lors de leur première connexion .


    est ce que vous pouvez m'aider a faire ce script .. merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Oui on peut t'aider mais on ne va pas faire le travail à ta place.

    Commence donc par fournir une ébauche de ton script.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Citation Envoyé par Mygale1978 Voir le message
    Salut,

    Oui on peut t'aider mais on ne va pas faire le travail à ta place.
    Je n'y vois pas d'inconvénient ;-) Je connais une bonne société de facturation.

  4. #4
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Vous etes pas sympas !

    Tu peux commencer par regarder ici, .
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut aide et critique
    Je n'ai jamais dit de me faire un script Mygale1978 ,je suis capable de le faire , j'ai simplement demandé du l'aide par ou commencer .

    avec ce script je vais chercher les paramètres d'un fichier séparé par un espace ligne par ligne . Mais comment aller chercher les paramètres si il sont séparé par un ( ,)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    tu peux utiliser la commande cut ou la commande awk (cfr liens fourni par lavazavio)

    Exemple simpliste avec cut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ligne="dupont,marc,IT"
     
    echo $ligne | cut -d, -f2 #extrait le prénom
     
    echo $ligne | cut -d, -f2,3 #extrait le prénom et le groupe

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    Salut,

    Le plus simple pour extraire des donnees d'un fichier (selon moi) c'est d'utiliser awk.
    C'est un langage incroyablement puissant et tres tres simple d'utilisation, on peut vraimment en apprendre suffisament en quelques heures. Et c'est beaucoup plus simple que la programmations shell pure.

    Par exemple avec le fichier suivant (fich) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    stephane,26,andr386
    marc,25,speedy
    anthony,35,biggybop
    florence,24,angelhearth
    Defini comme prealablement (nom,age,login)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat fich | awk ' BEGIN {FS=","} NF==3 { print "Nom : "$1", Age="$2", Login="$3 } '
    Affichera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Nom : stephane, Age=26, Login=andr386
    Nom : marc, Age=25, Login=speedy
    Nom : anthony, Age=35, Login=biggybop
    Nom : florence, Age=24, Login=angelhearth
    BEGIN indique quelque chose qui se passe avant la boucle sur le fichier. Ici on dit que FS (Field separator) est la , (c'est l'espace par defaut).

    Ensuite tu mets entre {} le code qui s'execute a chaque ligne.
    $0 = toute la ligne
    $1 = premier champs
    $2 = 2e champs
    ...
    Si tu mets une condition devant {} alors on n'execute le code que lorsque cette condition
    est remplie. NF veut dire le nombre de field, ici on n'affiche que lorsque le nombre de fields (==champs) est egal a 3. C'est pour ca que la ligne vide n'est pas affichee.

    tu peux aussi mettre /regex/ {} et le code n'est execute que quand la ligne correspond a l'expresssion reguliere.

    tu peux tapper print $0 >> fichier1 et cela redirigera ce que tu affiche dans fichier1

    Si tu dois ecrire dans plusieurs fichier tu peux definir des variables a chaque niveaux. BEGIN {FS=","; nomfich1 = "/etc/passwd" ; nomfich2="/etc/bidule" ; }

    Bref pour faire le script qui te concernes c'est surement le langage le plus simple et le plus approprie.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut bash
    salut

    ok mais comment faire que le nom se retrouve dans la variable login ,pass dans variable passwd ...etc j'ai essayé avec un ligne | tr /','/' ' mais ça ne marche pas

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Par défaut
    ok mais comment faire que le nom se retrouve dans la variable login ,pass dans variable passwd
    1. STP Lis les explications :
    C'est frustrant, on dirait que tu ne lis pas les messages qu'on te laisse.
    Avec toutes les explications que je t'ai donnée tu devrais pouvoir mettre
    le nom dans n'importe quel variable si ça te fait plaisir.

    2. Donne la structure de tes données ou un example reel et clair (qques ligne du fichier) !

    Une fois le fichier "users.txt" est compose comme ceci
    - utilisateur ,prénom ,nom , poste
    une autre fois comme ceci :
    - nom,age,login
    et dans ton dernier message tu parles d'un mot de passe !????

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/05/2005, 18h18
  2. [Oracle]probleme de gestion des utilisateurs
    Par gentarik dans le forum Oracle
    Réponses: 5
    Dernier message: 09/03/2005, 12h58
  3. [Gestion des utilisateurs] Changer l'interface simplifiée
    Par sekiryou dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/01/2005, 05h42
  4. Administration MySQL gestion des utilisateurs
    Par MaxiMax dans le forum Administration
    Réponses: 2
    Dernier message: 01/07/2004, 13h56
  5. Gestion des Utilisateurs depuis une application
    Par LLaurent dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/03/2003, 16h29

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