CHMOD |
Change le mode |
---|---|
PHP 3+ |
Syntaxe
function chmod($filename,$mode); |
Paramètres
Nom | Description | |
---|---|---|
$filename | Ce paramètre permet d'indiquer le chemin d'accès | |
$mode | Ce paramètre permet d'indiquer le mode d'accès : | |
Valeur | Description | |
0001 | Cette valeur permet d'indiquer le mode d'accès en exécution globale | |
0002 | Cette valeur permet d'indiquer le mode d'accès en écriture globale | |
0004 | Cette valeur permet d'indiquer le mode d'accès en lecture globale | |
0010 | Cette valeur permet d'indiquer le mode d'accès en exécution du groupe | |
0020 | Cette valeur permet d'indiquer le mode d'accès en écriture du groupe | |
0040 | Cette valeur permet d'indiquer le mode d'accès en lecture du groupe | |
0100 | Cette valeur permet d'indiquer le mode d'accès en exécution du propriétaire | |
0200 | Cette valeur permet d'indiquer le mode d'accès en écriture du propriétaire | |
0400 | Cette valeur permet d'indiquer le mode d'accès en lecture du propriétaire |
Retour
Valeur | Description |
---|---|
TRUE | Cette valeur indique que l'opération s'est bien passé. |
FALSE | Cette valeur indique qu'une erreur est survenue. |
Description
Cette fonction permet de changer les droits d'accès des répertoires et des fichiers.
Remarques
- Objectif principal : La fonction chmod() en PHP permet de modifier les permissions d'un fichier ou d'un répertoire. Cela inclut la possibilité de spécifier des permissions en lecture, écriture et exécution pour le propriétaire du fichier, le groupe et les autres utilisateurs. Cette fonction est couramment utilisée pour garantir que seuls certains utilisateurs ou groupes peuvent accéder ou modifier un fichier.
- Paramètres de la fonction : chmod() prend deux paramètres : le chemin du fichier ou du répertoire à modifier, et le mode de permissions à appliquer. Le mode peut être spécifié soit en notation octale (par exemple, 0755), soit en utilisant des chaînes symboliques comme 'rwxr-xr-x'. Ces notations déterminent quelles permissions sont accordées aux différents utilisateurs.
- Notation octale : En notation octale, les permissions sont spécifiées à l'aide de trois chiffres, représentant les permissions pour le propriétaire, le groupe et les autres utilisateurs. Chaque chiffre peut être une combinaison des valeurs suivantes : 4 pour la lecture (r), 2 pour l'écriture (w), et 1 pour l'exécution (x). Par exemple, 0755 signifie que le propriétaire a toutes les permissions (lecture, écriture, exécution), et que le groupe et les autres utilisateurs ont des permissions en lecture et en exécution.
- Notation symbolique : En notation symbolique, les permissions sont spécifiées à l'aide de lettres pour les actions (r pour lecture, w pour écriture, x pour exécution) et les entités (u pour l'utilisateur, g pour le groupe, o pour les autres, et a pour tous). Par exemple, chmod("file.txt", "u+x") ajoute la permission d'exécution pour le propriétaire du fichier.
- Valeur de retour : La fonction retourne TRUE si les permissions ont été modifiées avec succès, et FALSE si une erreur est survenue. Les erreurs peuvent être dues à un fichier inexistant, des permissions insuffisantes pour l'utilisateur exécutant le script, ou un mode de permission mal spécifié.
- Prérequis de permission : Pour pouvoir utiliser chmod(), l'utilisateur exécutant le script PHP doit avoir les droits nécessaires pour modifier les permissions du fichier ou répertoire cible. Cela signifie que l'utilisateur doit être le propriétaire du fichier, appartenir au groupe ayant accès au fichier, ou avoir des privilèges d'administrateur (root) sur le système.
- Compatibilité avec les systèmes de fichiers : chmod() fonctionne sur les systèmes de fichiers compatibles avec les permissions UNIX (comme ext4 sur Linux ou HFS+ sur macOS). Sur Windows, chmod() n'a pas d'effet direct, car Windows utilise un autre modèle de gestion des permissions basé sur des ACL (Listes de contrôle d'accès), mais certains serveurs PHP peuvent émuler un comportement similaire.
- Sécurité et risques : L'utilisation de chmod() comporte des risques en matière de sécurité. Si les permissions sont mal définies, un fichier sensible pourrait devenir accessible à des utilisateurs non autorisés. Par exemple, accorder des permissions en lecture et écriture à tous les utilisateurs (mode 0777) peut exposer des fichiers à des risques d'altération ou de fuite de données. Il est important de limiter les permissions aux besoins réels du fichier ou du répertoire pour éviter des failles de sécurité.
Voir également
Langage de programmation - PHP - Référence de procédures et fonctions - chown
Langage de programmation - PHP - Référence de procédures et fonctions - chgrp
Langage de programmation - PHP - Référence de procédures et fonctions - fileperms
Langage de programmation - PHP - Référence de procédures et fonctions - stat
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 376
Dernière mise à jour : Mercredi, le 25 mars 2015