| 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 |
Ecriture | 2 | 2 | 2 | 222 |
Execution | 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 |
Ecriture | 2 | 0 | 0 | 200 |
Execution | 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's
Les sources présentés sur cette pages sont libre 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. Tout 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érets.
Cette page est déposée à la SACD.
|