Scrip Shell

gabytech Messages postés 97 Statut Membre -  
jivef Messages postés 1024 Statut Membre -
Bonjour,

Je voudrais savoir exactement ce que fait ce scrip:

# By default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 027
else
umask 022
fi

Si quelqu'un a une idée merci d'avance
Configuration: Linux Fedora
Firefox 3.5

5 réponses

  1. Pierrecastor Messages postés 10830 Date d'inscription   Statut Modérateur Dernière intervention   4 215
     
    Salut

    Ces doc devrait t'aider a y voire claire :

    http://www.commentcamarche.net/contents/unix/unix-users.php3
    http://www.loligrub.be/contrib/tlepoint/BASE/node143.html

    En très gros, ça vérifie ton groupe d'utilisateur, et ça change les permissions de base quand tu crée un fichier selon ce groupe.

    Enfin un truc comme ça, je ne m'y connais pas suffisamment pour tout décoder.
    0
  2. gabytech Messages postés 97 Statut Membre 7
     
    Merci Pierrecastor, mais ça ne resoud pas vraiment mon pb
    0
  3. Pierrecastor Messages postés 10830 Date d'inscription   Statut Modérateur Dernière intervention   4 215
     
    Ben quel est ton probleme ?
    0
  4. jivef Messages postés 1024 Statut Membre 306
     
    Bonjour,

    Peux-tu nous dire dans quel contexte poses-tu cette question ?

    Si tu veux en savoir plus, il faut tout nous dire car visiblement il en manque un morceau...

    Le shell script n'est pas le C, mais il faut tout de même définir les variables... Et la définition peut donner des indications à la compréhension de ce script...

    Pour info, lorsqu'après la commande "if" tu trouves des crochets, ces crochets sont " l'équivalent de la commande "test."

    l'option -gt de la commande test signifie greater than : plus grand que.
    Par contre, -gn, je ne vois pas.

    Donc si tu fais "man test" dans une console, tu auras déjà quelques infos.

    quand au "&&", c'est un opérateur logique. (ET LOGIQUE).

    Donc tu as deux tests qui se suivent et si toutes les conditions sont réunies, alors il effectue la commande prévue, (umask=027) sinon... c'est l'autre commande : umask=022

    Mais à quoi ca sert ? Me demanderas-tu ...
    Début de réponse :
    Un "umask" comment ça marche ?
    Et bien c'est un masque que l'on position sur un dossier pour la création des fichiers, il faut soustraire le masque pour avoir la réalité du droit.

    022 signifie que le owner aura le droit 7-0=7, le groupe 7-2=5 et les autres 7-2=5
    Donc 755

    027 signifie que owner aura le droit 7-0=7, le groupe aura le droit 7-2=5 et les autres 7-7=0 donc aucun accès.
    Donc 750

    Mais comme il en manque des morceaux, je ne peux pas t'en dire plus.

    Cordialement.
    Jonas.
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Salut,

      Excellente explication.

      Par contre, -gn, je ne vois pas.
      Ça ne concerne pas le test, mais c'est les options de "id", extrait du "man id" :

         OPTIONS
             -a     Ignoré, pour compatibilité.
      
             -g, --group
                    Afficher uniquement le Group-ID.
      
             -G, --groups
                    Afficher uniquement les groupes supplémentaires.
      
             --help Afficher un message d'aide sur la sortie standard et se terminer
                    normalement.
      
             -n, --name
                    Afficher  les  noms  de  groupe  ou  d'utilisateur à la place du
                    numéro d'ID.  Nécessite -u, -g, ou -G.
      

      ;-))
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jivef Messages postés 1024 Statut Membre 306
     
    Bonjour,
    En effet, j'ai mal lu et je n'avais pas vu "id" avant.
    Désolé...

    Mais alors là, comme d'habitude, tu as été épatant...

    A plus.
    0