Accueil>Tutoriels>Le système Aciah-Linux > Permissions, chown, chmod, chattr
Article vu : 201 foisPermissions, chown, chmod, chattr
Vous avez préparé un formidable script qui va commander à l’ordinateur de faire juste ce dont vous avez besoin. Mais hélas il ne fonctionne pas et l’ordinateur vous dit que vous n’avez pas les autorisations nécessaires.... Permission denied ! De qui s’agit-il ? Que faire ?
Dans Linux et Unix, tout est fichier. Les répertoires sont des fichiers, les fichiers sont des fichiers et les périphériques sont des fichiers.
Tous les fichiers d’un système ont des permissions qui autorisent ou empêchent les autres utilisateurs de les voir, de les modifier ou de les exécuter. Le super utilisateur "root" a la possibilité, lui, d’accéder à tous les fichiers du système.
Pour modifier ou éditer des fichiers qui appartiennent à root, sudo doit être utilisé - Lorsqu’on écrit sudo, dans un terminal, on indique à l’ordinateur qu’on est super-utilisateur, du moins provisoirement.
Il y a trois types de permissions, désignées par une lettre :
- lire le fichier, read en anglais, donc lettre r
- écrire sur le fichier, writer en anglais, donc lettre w
- exécuter le fichier, donc lettre x
Et il y a trois types d’utilisateurs :
- le propriétaire : owner
- le groupe : group
- les autres : other
Changer de propriétaire
La commande pour le propriétaire est : chown
Exemple, j’ai un super-script.sh qui se trouve dans le dossier /usr/bin. Et moi je suis nicolas, mon dossier personnel s’appelle : nicolas.
Si j’écris : sudo chown nicolas /usr/bin/super-script.sh je dis à l’ordinateur que nicolas est le propriétaire du super-script.
et si j’écris : sudo chown papou /usr/bin/super-script.sh je dis à l’ordinateur que papou est le propriétaire du super-script.
Et le propriétaire, qu’a-t-il le droit de faire ?
Permissions
La commande pour les permissions est : chmod
Si on écrit : chmod +x /usr/bin/super-script.sh on indique à l’ordinateur que tout le monde a les permissions sur le super-script : lire, modifier, exécuter. On peut écrire aussi : chmod 0755 /usr/bin/super-script.sh
si on utilise : chmod 0700 /usr/bin/super-script.sh alors il n’y a que le propriétaire qui a les permissions.
Récursivité
Si on a un dossier X12 dans /usr/bin et si ce dossier contient de nombreux fichiers, on peut vouloir changer les permissions .
Si on écrit : chmod +x /usr/bin/X12
alors on change seulement les permissions du dossier.
Mais si on écrit : chmod +x -R /usr/bin/X12
alors on change les permissions du dossier et de tous les fichiers qu’il contient.
La commande chattr
La commande chattr sous Linux permet de modifier des attributs spécifiques des fichiers et répertoires, offrant un contrôle plus fin que les droits classiques (chmod/chown),
par exemple la commande : chattr +i fichier.txt
rend le fichier immuable (ne peut pas être modifié, supprimé ou renommé, même par root).
Nous avons utilisé cette commande pour mettre, sur le bureau, une icône "Dossier personnel" qui ne peut être supprimée.
Pour plus de détails, consulter la page de manuel : man chattr.
Notes et consignes
- Retour à la page-accueil du siteAttention, certains logiciels et certains raccourcis-clavier sont spécifiques : ils ne fonctionnent qu'avec Aciah-Linux. ils sont destinés à simplifier le fonctionnement global mais n'empêchent pas le fonctionnement classique.
- - Obtenir ACIAH-Linux et consulter le mode d'emploi.
- - Consignes, informations importantes.
- - Outils d'accessibilité.
- - Index alphabétique, un vrai livre de "cuisine informatique".
- Si quelque chose ne fonctionne pas, écrivez-nous - Contact












