Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


C'est quoi le chmod ?
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 : fr Tutoriel UNIX de Hugo Etiévant : Droits d'accès aux fichiers

Comment se calcule un chmod ?
auteur : Eric Berger
Principe
Le chmod se calcule de la manière suivante :
PropriétaireGroupeTout le mondeChmod
Lecture444444
Ecriture222222
Execution111111
Chmod777777

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étaireGroupeTout le mondeChmod
Lecture444444
Ecriture200200
Execution100100
Chmod744744


Comment convertir les bits de permissions au format numérique Unix ?
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);     // donne 33206 
?>
L'argument %o de la fonction sprintf() convertit ces mêmes bits en base octale :
<?php
$octal_perms = sprintf("%o", $dec_perms);   // donne 10066
$unix_perms = (substr($octal_perms, 3));    // retourne la chaîne à partir du quatrième caractère
echo $unix_perms;
?>
retourne : 666.


Comment convertir les bits de permissions au format symbolique Unix ?
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)     // FIFO pipe
        $sP = 'p';
    elseif($in_Perms & 0x2000) // Character special
        $sP = 'c';
    elseif($in_Perms & 0x4000) // Directory
        $sP = 'd';
    elseif($in_Perms & 0x6000) // Block special
        $sP = 'b';
    elseif($in_Perms & 0x8000) // Regular
        $sP = '&';
    elseif($in_Perms & 0xA000) // Symbolic Link
        $sP = 'l';
    elseif($in_Perms & 0xC000) // Socket
        $sP = 's';
    else  // UNKNOWN
        $sP = 'u';// owner
    
    $sP .= (($in_Perms & 0x0100) ? 'r' : '&') . (($in_Perms & 0x0080) ? 'w' : '&');
    $sP .= (($in_Perms & 0x0040) ? (($in_Perms & 0x0800) ? 's' : 'x' ) : (($in_Perms & 0x0800) ? 'S' : '&'));// group
    $sP .= (($in_Perms & 0x0020) ? 'r' : '&') . (($in_Perms & 0x0010) ? 'w' : '&');
    $sP .= (($in_Perms & 0x0008) ? (($in_Perms & 0x0400) ? 's' : 'x' ) : ($in_Perms & 0x0400) ? 'S' : '&'));// world
    $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 :
drwxr-xr-x

precedent    sommaire    suivant   

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.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com