Scrip Shell

gabytech Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   -  
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

5 réponses

Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
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
gabytech Messages postés 92 Date d'inscription   Statut Membre Dernière intervention   7
 
Merci Pierrecastor, mais ça ne resoud pas vraiment mon pb
0
Pierrecastor Messages postés 41491 Date d'inscription   Statut Modérateur Dernière intervention   4 149
 
Ben quel est ton probleme ?
0
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   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