| auteur : Eric Berger |
Le chmod est le droit d'accès à un fichier ou à un dossier. Il s'exprime par une série de trois chiffres (précédés d'un zéro).
Il définit le genre d'accès :
- lecture
- écriture
- exécution
pour chaque genre d'utilisateurs :
- propriétaire
- membres du groupe
- tout le monde
A chaque combinaison genre d'accès / utilisateur correspond un n° chmod.
|
lien : Tutoriel UNIX de Hugo Etiévant : Droits d'accès aux fichiers
|
| auteur : Eric Berger |
Principe
Le chmod se calcule de la manière suivante :
|
Propriétaire |
Groupe |
Tout le monde |
chmod |
Lecture |
4 |
4 |
4 |
444 |
Écriture |
2 |
2 |
2 |
222 |
Exécution |
1 |
1 |
1 |
111 |
chmod |
7 |
7 |
7 |
777 |
Exemple
Si on souhaite donner tous les droits au propriétaire et seulement l'accès en lecture au groupe et à tous les utilisateurs, le chmod se construira de la façon suivante :
|
Propriétaire |
Groupe |
Tout le monde |
chmod |
Lecture |
4 |
4 |
4 |
444 |
Écriture |
2 |
0 |
0 |
200 |
Exécution |
1 |
0 |
0 |
100 |
chmod |
7 |
4 |
4 |
744 |
|
| auteur : Armatatuxa |
La fonction fileperms() retourne les bits de permissions, au format décimal, d'un répertoire ou d'un fichier :
<?php
$ fichier = " mon_fichier . txt " ;
$ dec_perms = fileperms($ fichier );
?>
|
L'argument %o de la fonction sprintf() convertit ces mêmes bits en base octale :
<?php
$ octal_perms = sprintf(" % o " , $ dec_perms );
$ unix_perms = (substr($ octal_perms , 3 ));
echo $ unix_perms ;
?>
|
retourne : 666.
|
| auteur : Cyberzoide |
La fonction suivante permet de traduire les bits de permissions au format symbolique. Script de
vbwebprofi at gmx dot de
.
function mfunGetPerms($ in_Perms ) {
$ sP ;
if ($ in_Perms & 0x1000)
$ sP = ' p ' ;
elseif ($ in_Perms & 0x2000)
$ sP = ' c ' ;
elseif ($ in_Perms & 0x4000)
$ sP = ' d ' ;
elseif ($ in_Perms & 0x6000)
$ sP = ' b ' ;
elseif ($ in_Perms & 0x8000)
$ sP = ' & ' ;
elseif ($ in_Perms & 0xA000)
$ sP = ' l ' ;
elseif ($ in_Perms & 0xC000)
$ sP = ' s ' ;
else
$ sP = ' u ' ;
$ sP . = (($ in_Perms & 0x0100) ? ' r ' : ' & ' ) . (($ in_Perms & 0x0080) ? ' w ' : ' & ' );
$ sP . = (($ in_Perms & 0x0040) ? (($ in_Perms & 0x0800) ? ' s ' : ' x ' ) : (($ in_Perms & 0x0800) ? ' S ' : ' & ' ));
$ sP . = (($ in_Perms & 0x0020) ? ' r ' : ' & ' ) . (($ in_Perms & 0x0010) ? ' w ' : ' & ' );
$ sP . = (($ in_Perms & 0x0008) ? (($ in_Perms & 0x0400) ? ' s ' : ' x ' ) : ($ in_Perms & 0x0400) ? ' S ' : ' & ' ));
$ sP . = (($ in_Perms & 0x0004) ? ' r ' : ' & ' ) . (($ in_Perms & 0x0002) ? ' w ' : ' & ' );
$ sP . = (($ in_Perms & 0x0001) ? (($ in_Perms & 0x0200) ? ' t ' : ' x ' ) : (($ in_Perms & 0x0200) ? ' T ' : ' & ' ));
return $ sP ;
}
echo mfunGetPerms(fileperms(' monfichier.jpg ' ));
|
Exemple :
|
Consultez les autres F.A.Q.
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|