Table des matières

Niveau : Admin Junior Numéro de la Leçon Dernière Modification
2/4 <progrecss 3/12 style=inline /> 2020/01/30 03:28

Gestion des Droits

Préparation

Dans votre répertoire personnel, créez un fichier tux.jpg grâce à la commande touch:

$ touch tux.jpg [Entrée]
trainee@opensuse:~> pwd
/home/trainee
trainee@opensuse:~> touch tux.jpg
trainee@opensuse:~> ls -l | grep tux.jpg
-rw-r--r-- 1 trainee users    0 17 oct.  18:29 tux.jpg

<note important> Notez que le fichier créé est un fichier texte. En effet, Linux ne tient pas compte de l'extension .jpg </note>

Les Droits Unix Simples

Les autorisations ou droits d’accès en Linux sont communiqués comme suit :

;#;fenestros_essentiels_img_9.jpg;#;

ou r = lecture, w = écriture et x = exécutable

Dans chaque inode est stocké le numéro de l’utilisateur à qui appartient le fichier concerné ainsi que le numéro du groupe. Quand le fichier est ouvert le système compare le numéro de l’utilisateur (UID) avec le numéro de l’utilisateur stocké dans l’inode ( Utilisateur de Référence ). Si ces deux numéros sont identiques, l’utilisateur obtient les droits du propriétaire du fichier. Si les numéros diffèrent, le système vérifie si l’utilisateur est dans le groupe référencé dans l’inode. Si oui, l’utilisateur aura les droits spécifiés pour le groupe. Si aucune condition n’est remplie, l’utilisateur se voit attribuer les droits des «autres».

Les droits pour les répertoires sont légèrement différents :

r Les éléments du répertoire sont accessible en lecture ( lister )
w Les éléments du répertoire sont modifiables ( création et suppression ).
x Le nom du répertoire peut apparaître dans un chemin d'accès.

La Modification des Droits

La Commande chmod

Les options de cette commande sont :

trainee@opensuse:~> chmod --help
Utilisation : chmod [OPTION]... MODE[,MODE]... FILE...
         ou : chmod [OPTION]... OCTAL-MODE FILE
         ou : chmod [OPTION]... --reference=RFILE FILE
Change le mode de chaque FILE en MODE.

  -c, --changes           comme « verbose » mais affiche seulements les
                          changements réalisés
      --no-preserve-root  ne traite pas « / » de manière spéciale (par défaut)
      --preserve-root     bloque le traitement récursif sur « / »
  -f, --silent, --quiet   supprime la plupart des messages d'erreur
  -v, --verbose           produit un diagnostic pour chaque fichier traité
      --reference=RFILE   utilise le mode RFILE au lieu des valeurs MODE
  -R, --recursive         modifie récursivement les fichiers et les répertoires
      --help     affiche l'aide et quitte
      --version  affiche des informations de version et quitte

Chaque MODE est de la forme « [ugoa]*([-+=]([rwxXst]*|[ugo]))+ ».

Signalez les anomalies de « chmod » à <bug-coreutils@gnu.org>
Page d'accueil de « GNU coreutils » : <http://www.gnu.org/software/coreutils/>
Aide générale sur les logiciels GNU : <http://www.gnu.org/gethelp/>
Traduction de « chmod » à <http://translationproject.org/team/fr.html>
Pour une documentation complète, lancer « info coreutils 'chmod invocation' »
Mode Symbolique

Afin de modifier les droits d’accès aux fichiers, on utilise la commande chmod dont le syntaxe est le suivant :

chmod [ -R ] catégorie opérateur permissions nom_du_fichier

ou

chmod [ -R ] ugoa +-= rwxXst nom_du_fichier

u user
g group
o other
a all
+ autorise un accès
- interdit un accès
= autorise exclusivement l’accès indiqué
r read
w write
x execute
X exécution si la cible est un répertoire ou si c'est un
fichier est déjà exécutable pour une des catégories (ugo)
s SUID/SGID bit
t sticky bit

par exemple :

$ chmod o+w tux.jpg [Entrée]

donnera aux autres l’accès en écriture sur le fichier tux.jpg :

trainee@opensuse:~> chmod o+w tux.jpg
trainee@opensuse:~> ls -l | grep tux.jpg
-rw-r--rw- 1 trainee users    0 17 oct.  18:29 tux.jpg

<note> Tapez la commande et vérifiez que vous obtenez un résultat similaire à celui démontré ci-dessus. </note>

Tandis que :

$ chmod ug-w tux.jpg [Entrée]

ôtera les droit d’accès en écriture pour l’utilisateur et le groupe :

trainee@opensuse:~> chmod ug-w tux.jpg
trainee@opensuse:~> ls -l | grep tux.jpg
-r--r--rw- 1 trainee users    0 17 oct.  18:29 tux.jpg

<note> Tapez la commande et vérifiez que vous obtenez un résultat similaire à celui démontré ci-dessus. </note>

<note tip> Seul le propriétaire du fichier ou root peuvent modifier les permissions. </note>

Mode Octal

La commande chmod peut également être utilisée avec une représentation octale ( base de 8 ). Les valeurs octales des droits d’accès sont :

;#;fenestros_essentiels_img_12.jpg;#;

<note important> Ainsi les droits rwx rwx rwx correspondent à un chiffre de 777. </note>

La commande chmod prend donc la forme suivante:

chmod [ -R ] mode_octal nom_fichier

La commande suivante :

$ chmod 644 tux.jpg [Entrée]

Correspond donc à l’attribution des droits : rw- r– r–

trainee@opensuse:~> chmod 644 tux.jpg
trainee@opensuse:~> ls -l | grep tux.jpg
-rw-r--r-- 1 trainee users    0 17 oct.  18:29 tux.jpg

<note> Tapez la commande et vérifiez que vous obtenez un résultat similaire à celui démontré ci-dessus. </note>

<note important> Les droits d’accès par défaut lors de la création d’un objet sont :

Répertoires rwx rwx rwx 777
Fichier normal rw– rw– rw- 666

</note>

La Commande umask

L’utilisateur peut changer ces droits d’accès par défaut lors de la création d’objets en utilisant la commande umask. Les options de la commande sont détaillées ci-après :

trainee@opensuse:~> help umask
umask: umask [-p] [-S] [mode]
    Display or set file mode mask.
    
    Sets the user file-creation mask to MODE.  If MODE is omitted, prints
    the current value of the mask.
    
    If MODE begins with a digit, it is interpreted as an octal number;
    otherwise it is a symbolic mode string like that accepted by chmod(1).
    
    Options:
      -p	if MODE is omitted, output in a form that may be reused as input
      -S	makes the output symbolic; otherwise an octal number is output
    
    Exit Status:
    Returns success unless MODE is invalid or an invalid option is given.

La valeur par défaut de l'umask sous openSUSE est identique pour un utilisateur normal et pour root :

trainee@opensuse:~> umask
0022
trainee@opensuse:~> su -
Mot de passe : fenestros
opensuse:~ # umask
0022
opensuse:~ # exit
logout

Par exemple dans le cas où l’utilisateur souhaite que les fichiers créés dans le futur comportent des droits d’écriture et de lecture pour l’utilisateur mais uniquement des droits de lecture pour le groupe et pour les autres, il utiliserait la commande :

$ umask 022 [Entrée]

avant de créer son fichier.

<note tip> En fait umask sert à enlever des droits des droits maximaux :

Masque maximum lors de la création d’un fichier rw- rw- rw- 666
Droits à retirer — -w- -w- 022
Résultat rw- r– r– 644

</note>

Dans l'exemple qui suit, on utilise la commande touch pour créer un fichier vide ayant les nouveaux droits par défaut :

trainee@opensuse:~> umask 044
trainee@opensuse:~> touch tux1.jpg
trainee@opensuse:~> ls -l | grep tux1.jpg
-rw--w--w- 1 trainee users    0 17 oct.  18:34 tux1.jpg
trainee@opensuse:~> umask 022
trainee@opensuse:~> umask
0022

Modifier le propriétaire ou le groupe

Le changement de propriétaire d’un fichier se fait uniquement par l'administrateur système - root.

La Commande chown

Les options de cette commande sont détaillées ci-après :

trainee@opensuse:~> chown --help
Utilisation : chown [OPTION]... [OWNER][:GROUP] FILE...
         ou : chown [OPTION]... --reference=RFILE FILE...
Change le propriétaire et/ou le groupe de chaque FILE à OWNER et/ou à GROUP.
Avec --reference, change le propriétaire et le groupe de chaque FILE à ceux de 
RFILE.

  -c, --changes           comme verbeux mais rapporte seulement les
                          modifications réalisées
      --dereference       affecte le référent de chaque lien symbolique (par
                          défaut), plutôt que le lien symbolique lui-même
  -h, --no-dereference   affecte les liens symboliques au lieu des fichiers
                         référencés (utile seulement sur les systèmes permettant
                         de changer le propriétaire d'un lien symbolique)
      --from=CURRENT_OWNER:CURRENT_GROUP
                         change le propriétaire et/ou le groupe de chaque
                         fichier seulement si le propriétaire et/ou le groupe
                         actuel concordent avec ceux spécifiés. S'ils sont omis,
                         la concordance n'est pas requise pour l'argument non
                         spécifié.
      --no-preserve-root  ne traite pas « / » de manière spéciale (par défaut)
      --preserve-root     bloque le traitement récursif sur « / »
  -f, --silent, --quiet  supprime la plupart des messages d'erreur
      --reference=RFILE  utilise le propriétaire et le groupe RFILE au lieu de
                         valeurs explicites OWNER:GROUP
  -R, --recursive        agit récursivement sur les fichiers et les répertoires
  -v, --verbose          affiche un diagnostique pour chaque fichier traité

Les options suivantes modifient la façon dont la hiérarchie est traversée
lorsque l'option -R est aussi spécifiée. Si plusieurs options sont indiquées,
seule la dernière sera prise en compte.

  -H                     si l'argument en ligne de commande est un lien 
                         symbolique vers un répertoire alors le parcourir
  -L                     parcourt tous les liens symboliques menant à un 
                         répertoire
  -P                     ne parcourt aucun lien symbolique (par défaut)

      --help     affiche l'aide et quitte
      --version  affiche des informations de version et quitte

Le propriétaire n'est pas modifié si manquant. Le groupe n'est pas modifié si 
manquant, mais changé en groupe de connexion si un « : » suit un symbolique
OWNER (propriétaire).
Le OWNER et le GROUP peuvent être numériques ou symboliques.

Exemples :
  chown root /u        change le propriétaire de /u en « root ».
  chown root:staff /u  idem mais change aussi son groupe en « staff ».
  chown -hR root /u    change le propriétaire de /u et des sous-fichiers en 
                    « root ».

Signalez les anomalies de « chown » à <bug-coreutils@gnu.org>
Page d'accueil de « GNU coreutils » : <http://www.gnu.org/software/coreutils/>
Aide générale sur les logiciels GNU : <http://www.gnu.org/gethelp/>
Traduction de « chown » à <http://translationproject.org/team/fr.html>
Pour une documentation complète, lancer « info coreutils 'chown invocation' »

Dans le cas du fichier tux.jpg appartenant à trainee, root peut changer le propriétaire de trainee à root avec la commande suivante :

# chown root tux.jpg [Entrée]
trainee@opensuse:~> su
Mot de passe : fenestros
opensuse:/home/trainee # chown root tux.jpg
opensuse:/home/trainee # ls -l | grep tux.jpg
-rw-r--r--. 1 root    users      0 16 oct.  15:02 tux.jpg

<note> Tapez la commande et vérifiez que vous obtenez un résultat similaire à celui démontré ci-dessus. </note>

La Commande chrgp

Les options de cette commande sont détaillées ci-après :

opensuse:/home/trainee # chgrp --help
Usage: chgrp [OPTION]... GROUP FILE...
  or:  chgrp [OPTION]... --reference=RFILE FILE...
Change the group of each FILE to GROUP.
With --reference, change the group of each FILE to that of RFILE.

  -c, --changes          like verbose but report only when a change is made
      --dereference      affect the referent of each symbolic link (this is
                         the default), rather than the symbolic link itself
  -h, --no-dereference   affect each symbolic link instead of any referenced
                         file (useful only on systems that can change the
                         ownership of a symlink)
      --no-preserve-root  do not treat `/' specially (the default)
      --preserve-root    fail to operate recursively on `/'
  -f, --silent, --quiet  suppress most error messages
      --reference=RFILE  use RFILE's group rather than specifying a
                         GROUP value
  -R, --recursive        operate on files and directories recursively
  -v, --verbose          output a diagnostic for every file processed

The following options modify how a hierarchy is traversed when the -R
option is also specified.  If more than one is specified, only the final
one takes effect.

  -H                     if a command line argument is a symbolic link
                         to a directory, traverse it
  -L                     traverse every symbolic link to a directory
                         encountered
  -P                     do not traverse any symbolic links (default)

      --help     display this help and exit
      --version  output version information and exit

Examples:
  chgrp staff /u      Change the group of /u to "staff".
  chgrp -hR staff /u  Change the group of /u and subfiles to "staff".

Report chgrp bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report chgrp translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'chgrp invocation'

Le même cas de figure s’applique au groupe :

# chgrp root tux.jpg [Entrée]

affectera le fichier au groupe root :

opensuse:/home/trainee # chgrp root tux.jpg
opensuse:/home/trainee # ls -l | grep tux.jpg
ls: cannot access .gvfs: Permission denied
-rw-r--r--  1 root    root       0 Oct 17 18:29 tux.jpg

<note> Tapez la commande et vérifiez que vous obtenez un résultat similaire à celui démontré ci-dessus. </note>

<note important> Seul root peut changer le propriétaire d'un fichier. </note>

<note important> Le droit de supprimer un fichier dépend des droits sur le répertoire dans lequel le fichier est stocké et non des droits du fichier lui-même. </note>

Les Droits Unix Etendus

SUID/SGID bit

Malgré ce que vous venez de voir, dans la première des deux fenêtres ci-dessous, vous noterez que le fichier passwd se trouvant dans le répertoire /etc possède les permissions rw- r– r– et qu'il appartient à root. Autrement dit seul root peut écrire dans ce fichier. Or, quand un utilisateur normal change son mot de passe, il écrit dans ce fichier. Ceci semble donc être une contradiction.

opensuse:/home/trainee # ls -l /etc/passwd /usr/bin/passwd
-rw-r--r-- 1 root root    1372 Jul 28 11:04 /etc/passwd
-rwsr-xr-x 1 root shadow 80268 Feb 18  2011 /usr/bin/passwd

Pour remédier à cette apparente contradiction, Linux dispose de deux droits d’accès étendus :

Quand le SUID bit est placé sur un programme, l’utilisateur qui lance ce programme se voit affecté le numéro d’utilisateur du propriétaire de ce programme et ce pour la durée de son exécution.

Dans le cas du changement de mot de passe, chaque utilisateur qui lance le programme /usr/bin/passwd se trouve temporairement avec le numéro d’utilisateur du propriétaire du programme /usr/bin/passwd, c’est à dire root. De cette façon, l’utilisateur peut intervenir sur le fichier /etc/passwd. Ce droit est indiqué par la lettre s à la place de la lettre x.

La même fonction existe pour le groupe à l’aide du SGID bit.

Pour assigner les droits, vous utiliserez la commande chmod :

En base huit les valeurs sont les suivants :

Inheritance Flag

Le SGID bit peut également être affecté à un répertoire. De cette façon, les fichiers et répertoires créés à l'intérieur auront comme groupe le groupe du répertoire parent. Ce droit s'appelle donc l'Inheritance Flag ou le Drapeau d'Héritage.

Par exemple :

opensuse:/home/trainee # cd /tmp
opensuse:/tmp # mkdir inherit
opensuse:/tmp # chown root:users inherit
opensuse:/tmp # chmod g+s inherit
opensuse:/tmp # touch inherit/test.txt
opensuse:/tmp # mkdir inherit/testrep
opensuse:/tmp # cd inherit; ls -l
total 4
-rw-r--r-- 1 root users    0 Oct 17 19:00 test.txt
drwxr-sr-x 2 root users 4096 Oct 17 19:00 testrep

Sticky bit

Il existe un dernier cas qui s’appelle le sticky bit. Le sticky bit est utilisé pour des répertoires ou tout le monde a tous les droits. Dans ce cas, tout le monde peut supprimer des fichiers dans le répertoire. En ajoutant le sticky bit, uniquement le propriétaire du fichier peut le supprimer.

# chmod o+t /répertoire 

ou

# chmod 1777 /répertoire

Par exemple la ligne de commande:

# mkdir /tmp/repertoire_public; cd /tmp; chmod o+t repertoire_public [Entrée]

ou

# mkdir /tmp/repertoire_public; cd /tmp; chmod 1777 repertoire_public [Entrée]

créera un répertoire repertoire_public dans /tmp avec les droits suivants :

opensuse:/tmp/inherit # mkdir /tmp/repertoire_public; cd /tmp; chmod o+t repertoire_public
opensuse:/tmp # ls -l | grep repertoire_public
drwxr-xr-t 2 root    root   4096 Oct 17 19:02 repertoire_public

Les Droits Unix Avancés

Les ACL

Au delà des droits étendus d'Unix, Linux utilise un système d'ACL pour permettre une meilleure gestion des droits sur des fichiers.

Pour connaître les ACL positionnés sur un fichier, il convient d'utiliser la commande getfacl :

# getfacl /home/trainee/tux.jpg [Entrée]

Les options de la commande getfacl sont :

opensuse:/tmp # getfacl --help
getfacl 2.2.48 -- get file access control lists
Usage: getfacl [-aceEsRLPtpndvh] file ...
  -a,  --access           display the file access control list only
  -d, --default           display the default access control list only
  -c, --omit-header       do not display the comment header
  -e, --all-effective     print all effective rights
  -E, --no-effective      print no effective rights
  -s, --skip-base         skip files that only have the base entries
  -R, --recursive         recurse into subdirectories
  -L, --logical           logical walk, follow symbolic links
  -P, --physical          physical walk, do not follow symbolic links
  -t, --tabular           use tabular output format
  -n, --numeric           print numeric user/group identifiers
  -p, --absolute-names    don't strip leading '/' in pathnames
  -v, --version           print version and exit
  -h, --help              this help text

En utilisant cette commande, vous obtiendrez un résultat similaire à celui-ci :

opensuse:/tmp # getfacl /home/trainee/tux.jpg
getfacl: Removing leading '/' from absolute path names
# file: home/trainee/tux.jpg
# owner: root
# group: root
user::rw-
group::r--
other::r--

Pour positionner des ACL sur un fichier, il convient d'utiliser la commande setfacl :

# setfacl --set u::rwx,g::rx,o::-,u:trainee:rw /home/trainee/tux.jpg [Entrée]

Les options de la commande setfacl sont :

opensuse:/tmp # setfacl --help
setfacl 2.2.48 -- set file access control lists
Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
  -m, --modify=acl        modify the current ACL(s) of file(s)
  -M, --modify-file=file  read ACL entries to modify from file
  -x, --remove=acl        remove entries from the ACL(s) of file(s)
  -X, --remove-file=file  read ACL entries to remove from file
  -b, --remove-all        remove all extended ACL entries
  -k, --remove-default    remove the default ACL
      --set=acl           set the ACL of file(s), replacing the current ACL
      --set-file=file     read ACL entries to set from file
      --mask              do recalculate the effective rights mask
  -n, --no-mask           don't recalculate the effective rights mask
  -d, --default           operations apply to the default ACL
  -R, --recursive         recurse into subdirectories
  -L, --logical           logical walk, follow symbolic links
  -P, --physical          physical walk, do not follow symbolic links
      --restore=file      restore ACLs (inverse of `getfacl -R')
      --test              test mode (ACLs are not modified)
  -v, --version           print version and exit
  -h, --help              this help text

Utilisez la commande getfacl pour visualiser le résultat :

# getfacl /home/trainee/tux.jpg [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

opensuse:/tmp # setfacl --set u::rwx,g::rx,o::-,u:trainee:rw /home/trainee/tux.jpg
opensuse:/tmp # getfacl /home/trainee/tux.jpggetfacl: Removing leading '/' from absolute path names
# file: home/trainee/tux.jpg
# owner: root
# group: root
user::rwx
user:trainee:rw-
group::r-x
mask::rwx
other::---

En effet, tous les utilisateurs ont les permissions rwx sauf trainee.

Regardez maintenant l'effet des ACL sur un répertoire. Créez le répertoire /home/trainee/rep1 :

# mkdir /home/trainee/rep1 [Entrée]

Positionnez des ACL le répertoire avec la commande setfacl :

# setfacl --set d:u::r,d:g::-,d:o::- /home/trainee/rep1 [Entrée]

Notez l'utilisation de la lettre d pour indiquer une permission par défaut.

Créez maintenant un fichier appelé fichier1 dans /home/trainee/rep1 :

# touch /home/trainee/rep1/fichier1 [Entrée]

Utilisez la commande getfacl pour visualiser le résultat :

# getfacl /home/trainee/rep1 [Entrée]
# getfacl home/trainee/rep1/fichier1 [Entrée]

Vous obtiendrez un résultat similaire à celui-ci :

opensuse:/tmp # mkdir /home/trainee/rep1
opensuse:/tmp # setfacl --set d:u::r,d:g::-,d:o::- /home/trainee/rep1
opensuse:/tmp # touch /home/trainee/rep1/fichier1
opensuse:/tmp # getfacl /home/trainee/rep1
getfacl: Removing leading '/' from absolute path names
# file: home/trainee/rep1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::r--
default:group::---
default:other::---

opensuse:/tmp # getfacl /home/trainee/rep1/fichier1 
getfacl: Removing leading '/' from absolute path names
# file: home/trainee/rep1/fichier1
# owner: root
# group: root
user::r--
group::---
other::---

Notez que le fichier créé possède les ACL positionnés sur le répertoire rep1.

Dernièrement, les systèmes de sauvegarde classiques sous Linux ne peuvent pas sauvegarder les ACL, sauf l'outil star. Si vous n'utilisez pas star, il convient donc de sauvegarder les ACL dans un fichier grâce à la commande suivante :

# getfacl -R --skip-base . > backup.acl [Entrée]

La restauration des ACL se fait avec la commande setfacl :

# setfacl --restore=backup.acl [Entrée]

<note warning>

         mask    A mask ACL entry specifies the maximum access which can be
                 granted by any ACL entry except the user entry for the file owner
                 and the other entry (entry tag type ACL_MASK).

</note>

Les Attributs Ext2/Ext3/Ext4

Les attributs s'ajoutent aux caractéristiques classiques d'un fichier dasn un système de fichiers Ext2/Ext3 et ReiserFS.

Les principaux attributs sont :

Attribut Description
a Fichier journal - uniquement l'ajout de données au fichier est permis. Le fichier ne peut pas détruit
i Le fichier ne peut ni être modifié, ni être détruit, ni être déplacé. Le placement d'un lien sur le fichier n'est pas permis
s Le fichier sera physiquement détruit lors de sa suppression
D Répertoire synchrone
S Fichier synchrone
A La date et l'heure de dernier accès ne seront pas mises à jour

<note tip> Un fichier synchrone et un répertoire synchrone impliquent que les modifications seront immédiatement inscrites sur disque. </note>

Les commandes associées avec les attributs sont :

Commande description
chattr Modifie les attributs
lsattr Visualise les attributs

Les options de la commande chattr sont :

opensuse:/tmp # chattr --help
Usage: chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...

Les options de la commande lsattr sont :

opensuse:/tmp # lsattr --help
lsattr: invalid option -- '-'
Usage: lsattr [-RVadlv] [files...]

Pour mieux comprendre, créez le répertoire /tmp/attributs/rep :

opensuse:/tmp # mkdir -p attributs/rep

Créez ensuite les fichier fichier et rep/fichier1 :

opensuse:/tmp # touch attributs/fichier
opensuse:/tmp # touch attributs/rep fichier1

Modifiez les attributs d'une manière récursive sur le répertoire attributs :

[root@centos tmp]# chattr +i -R attributs/

Visualisez les attributs de l'arborescence attributs :

opensuse:/tmp # lsattr -R attributs
----i---------- attributs/fichier
----i---------- attributs/rep

attributs/rep:

Essayez maintenant de déplacer le fichier fichier. Vous obtiendrez un résultat similaire à celui-ci :

opensuse:/tmp # cd attributs; mv /tmp/attributs/fichier /tmp/attributs/rep/fichier
mv: cannot move `/tmp/attributs/fichier' to `/tmp/attributs/rep/fichier': Permission denied

~~DISCUSSION:off~~

Donner votre Avis

{(rater>id=opensuse_11_l108|name=cette page|type=rate|trace=user|tracedetails=1)}