Scrip Shell

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. Modérateur
    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.
    1. Merci Pierrecastor, mais ça ne resoud pas vraiment mon pb
      1. 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.
        1. Modérateur
          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.
          

          ;-))
      2. 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.