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 :

Un script qui renseigne sur les droits


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 25
    Par défaut Un script qui renseigne sur les droits
    Alors voila...

    je prend par exemple un fichier ici lab.rar et le but de mon bash serai que l'utilisateur puisse lire en français les différents droits de ce fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    element="lab.rar"
    droit=`ls -la $element | cut -d " " -f1`
    echo "Droits : "$droit
    pour l'instant ce code donne (avec echo) quelque chose du style: -rwxr-x-r-- par exemple. "il s'agit de la première partie du listing ls -la"

    j'aimerai pouvoir lire 'droit' lettre par lettre et a l'aide d'un if analiser les différents droits.

    le script me retournerai un truc du style:

    $ -rwxr-x-r--
    $ droits utilisateur: lecture ecriture execution
    $ droits groupe: lecture execution
    $ droits autres: lecture

    merci de me répondre et de me donner un coup de main.

  2. #2
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Par défaut
    Faut que tu te mettes au ksh alors pour développer ton script et retravailler la chaine de caractère
    http://marcg.developpez.com/ksh est très bien pour t'y aider

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 25
    Par défaut re
    ba en fait c un sujet de tp et je n'est le droit qu'au shell.

    voila.

    merci de me répondre.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Citation Envoyé par kenny_badboy
    ba en fait c un sujet de tp et je n'est le droit qu'au shell.
    J'imagine que le but de ton tp est d'apprendre à faire un script en bash. Te donner la solution toute faite n'est pas vraiment t'aider dans ton apprentissage. Sauf si tu essayes de comprendre (ce qui me semble un minumum si tu dois l'expliquer à ton prof.)

    Voici donc, sans commentaires pour t'inviter à chercher et comprendre ce qu'il fait:

    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
    element="ton.fichier"
    ls=$(ls -la $element | cut -d " " -f1)
     
    function traducDroits(){
        case $1 in
            ---) droitFr='aucun';;
            --x) droitFr='exécution';;
            -wx) droitFr='écriture exécution';;
            rwx) droitFr='lecture écriture exécution';;
            r--) droitFr='lecture';;
            rw-) droitFr='lecture écriture';;
            r-x) droitFr='lecture exécution';;
            -w-) droitFr='écriture';;
        esac
        echo $droitFr
        return
    }
     
    echo $ls
    echo "Utilisateur:" $(traducDroits ${ls:1:3})
    echo "Groupe     :" $(traducDroits ${ls:4:3})
    echo "Autres     :" $(traducDroits ${ls:7:3})
    Lien pour comprendre:
    http://www.tldp.org/LDP/abs/html/testbranch.html#EX29
    http://www.tldp.org/LDP/abs/html/par...stitution.html

  5. #5
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour,

    ripat: le code que tu as placé ci-dessus fonctionne uniquement avec Bash ? Je pose la question car chez moi, il ne fonctionne pas du tout

    ++

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Citation Envoyé par Larkine
    Bonjour,

    ripat: le code que tu as placé ci-dessus fonctionne uniquement avec Bash ? Je pose la question car chez moi, il ne fonctionne pas du tout

    ++
    Je ne l'ai testé qu'en bash 2.05b.0(1). Quelle ligne pose problème?

  7. #7
    Membre averti
    Inscrit en
    Février 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 25
    Par défaut merci
    merci a tous pour vos réponses

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 10/11/2005, 11h14
  2. Question sur les droits utilisateurs??
    Par chaser_T dans le forum Outils
    Réponses: 3
    Dernier message: 01/09/2005, 19h38
  3. Question sur les droits utilisateurs
    Par gibet_b dans le forum Administration système
    Réponses: 5
    Dernier message: 14/06/2005, 15h24
  4. Utilisateurs qui ont tous les droits.
    Par seal3 dans le forum Shell et commandes GNU
    Réponses: 14
    Dernier message: 15/02/2005, 20h41

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