CHOWN |
Change le propriétaire |
|---|---|
Perl |
POSIX |
Syntaxe
| sub POSIX::chown($userid, $groupid, $list); |
Paramètres
| Nom | Description |
|---|---|
| $userid | Ce paramètre permet d'indiquer l'identificateur d'utilisateur |
| $groupid | Ce paramètre permet d'indiquer l'identificateur de groupe |
| $list | Ce paramètre permet d'indiquer la liste à affecter |
Description
Cette fonction permet de changer les propriétaires et les groupes de propriétaire (GID) des fichiers.
Remarques
- Permet de modifier l'utilisateur et le groupe propriétaire d'un fichier : La fonction POSIX::chown($userid, $groupid, $list) sert à changer le propriétaire (UID) et le groupe (GID) d'un ou plusieurs fichiers. Cela est utile pour transférer la responsabilité ou le contrôle d'un fichier à un autre utilisateur ou groupe.
- Nécessite des privilèges élevés pour fonctionner correctement : Seul l'utilisateur root (superutilisateur) peut changer arbitrairement les propriétaires de fichiers. Si le script est exécuté sans privilèges suffisants, l'appel à chown échouera silencieusement ou partiellement, retournant zéro fichier modifié.
- Le paramètre $list peut contenir plusieurs fichiers : Le troisième paramètre peut être une liste de chemins de fichiers, permettant de changer les droits de plusieurs fichiers à la fois. Cela rend l'usage plus efficace, mais exige de bien gérer la structure de données passée (souvent un tableau Perl).
- Retourne le nombre de fichiers modifiés avec succès : La fonction retourne un entier représentant le nombre de fichiers pour lesquels le changement de propriétaire a réussi. Il est donc recommandé de comparer ce retour à la taille de la liste pour détecter les éventuelles erreurs partielles.
- Les valeurs -1 laissent intact le champ correspondant : Passer -1 pour le paramètre $userid ou $groupid permet de ne pas modifier ce champ. Par exemple, chown(-1, 1000, $file) ne changera que le groupe. C'est un comportement hérité du langage C et des systèmes POSIX.
- Les UID et GID doivent être numériques : Contrairement à certaines commandes d'interpréteur de commande (chown alice:dev fichier.txt), POSIX::chown attend des identifiants numériques et non des noms d'utilisateur ou de groupe. Il faut donc résoudre les noms avec getpwnam() ou getgrnam() si nécessaire.
- Peut être combinée avec d'autres fonctions de gestion de fichiers : Dans les scripts d'installation, de déploiement ou de maintenance, chown est souvent combinée à des fonctions comme chmod, mkdir, ou utime, pour configurer précisément les fichiers créés (droits, propriétaire, date,...).
- Alternative : fonction native Perl chown plus simple à utiliser : Perl fournit une version native de , sans avoir besoin de charger le module POSIX. Dans la majorité des cas, la version native est préférable car elle est mieux intégrée à Perl, plus concise et plus souple dans l'utilisation des listes.
Voir également
Langage de programmation - Perl - Référence de procédures et fonctions - chown
Langage de programmation - Fonction C pour Linux - chown
Dernière mise à jour : Dimanche, le 18 octobre 2015