![]()
|
||
|
dernière mise à jour le
27/08/2006 |
Les droits UnixIntroductionNotion d'utilisateur (user)Toute entité (personne physique ou programme particulier) devant interagir avec un système Unix est authentifié sur cette machine par un utilisateur ou user. Ceci permet d'identifier un acteur sur un système Unix. Un utilisateur est reconnu par un nom unique et un numéro unique (la correspondance nom/numéro est stockée dans le fichier /etc/passwd). Tous les utilisateurs Unix n'ont pas les mêmêes droits sur la machine (ils ne peuvent pas tous faire la même chose), et ceci simplement pour des raisons de sécurité et d'administration. Typiquement, pour éviter tout problème sur Internet, l'utilisateur qui gère le serveur web ne peut pas exécuter des commandes localement. Certains utilisateurs ne peuvent en effet pas s'authentifier sur la machine et accéder à un interpréteur de commande (shell). Typiquement, l'utilisateur bin ne peut pas le faire ; cela ne veut toutefois pas dire qu'ils ne peuvent rien faire sur la machine : il leur est possible de lire ou écrire des fichiers mais cela se passe nécessite que le super utilisateur (voir plus bas) démarre un programme pour cet utilisateur. Ce mécanisme est généralement utilisé pour les démons : le super utilisateur démarre le démon et pour éviter que ce dernier puisse faire tout et n'importe quoi sur la machine, il est par exemple attribué à l'utilisateur bin. Sur tout système Unix, il y a un super utilisateur (ou super user) généralement appelé "root". Cet utilisateur peut absolument tout faire sur la machine et à la place de n'importe quel autre utilisateur. Sur des serveurs de production (serveurs web), seul une personne bien précise, l'administrateur, possède le mot de passe de root. Sur une machine Unix, le ou les super utilisateurs sont identifiés par le numéro 0. Notion de groupeTout utilisateur Unix porte certes un nom, mais il appartient à un ou plusieurs groupes. Un groupe n'est qu'un "container" d'utilisateurs : il ne sert qu'à rassembler des utilisateurs afin de leur attribuer des droits communs. Par exemple, tous les utilisateurs du groupe ftp sont des utilisateurs qui ne peuvent accéder à la machine que par FTP. Notion de propriétéTout fichier Unix possède un propriétaire. Au départ, c'est l'utilisateur qui a créé le fichier mais il possible de le "donner" à un autre utilisateur. Seul le propriétaire du fichier et le super utilisateur (root) peuvent changer les droits et l'appartenance de ce fichier. Attention ! Seul root peut s'attribuer un fichier, mais un utilisateur ordinaire x peut donner un de ses fichiers à un autre utilisateur ordinaire y sans problème. Un fichier Unix appartient aussi à un groupe. Ceci donne pleinement sont sens à la notion de groupe. On définit ainsi les actions du groupe sur ce fichier. Ce groupe et souvent le groupe d'appartenance du propriétaire, mais ce n'est pas obligatoire. Tout dépend en fait de ce qu'on veut faire. On peut imaginer un scénario de délégation d'administration : le super utilisateur est propriétaire d'un fichier de configuration, mais autorise tous les utilisateurs du groupe admin (les administrateurs) à modifier ce fichier. Le fichier en question aura donc root comme propriétaire et appartiendra au groupe admin. Rappelons que les répertoires sous Unix sont des aussi fichiers. Les droits sur les répertoires (mais aussi les devices de /dev, etc) fonctionnent exactement de la même façon que sur des fichiers ordinaires. Notion de droitsTout fichier sur un système Unix possède des droits. C'est en fait des règles simples qui permettent de dire quels utilisateurs peuvent faire quoi sur ce fichier. FonctionnementLes différents droitsLes droits sur un fichier Unix s'attribuent sur 3 "actions" différentes possibles : la lecture (r), l'écriture (w) et l'exécution (x). Pour les répertoires, x correspond à l'accès au répertoire. On appelle parfois r, w et x des "flags" ou "drapeaux". Sur un fichier donné, ces 3 flags doivent être définis pour son propriétaire, son groupe, mais aussi les autres utilisateurs (différents du propriétaires et n'appartenant pas au groupe). Il est inutile d'avoir le droit en écriture sur un fichier pour changer ses droits : seuls root et le propriétaire peuvent les changer sans restriction particulière. Représentation des droitsCet ensemble de 3 droits sur 3 entités se représente généralement de la façon suivante : on écrit côte à côte les droits r, w puis x respectivement pour le propriétaire (u), le groupe (g) et les autres utilisateurs (o). Les codes u, g et o sont utilisés par les commandes Unix qui permettent d'attribuer les droits et l'appartenance des fichiers. Lorsqu'un flag est attribué à une entité, on écrit ce flag (r, w ou x), et lorsqu'il n'est pas attribué, on écrit un '-'. Exemple : ![]() signifie que le propriétaire peut lire, écrire et exécuter le fichier, mais que les utilisateurs du groupe attribué au fichier ne peuvent que le lire et l'exécuter, et enfin que les autres utilisateurs ne peuvent que lire le fichier. Une autre manière de représenter ces droits est sous forme binaire : on considère chaque groupe de droits (triplet r, w et x) comme étant un mot binaire de 3 bits : ![]() Ainsi, UtilisationPour voir quels droits sont attribués à un fichier, il suffit de taper ls -l nom_du_fichier : # ls -l toto
-rwxr-xr-- 1 user group 12345 Nov 15 09:19 totoceci signifie que le fichier toto (de taille 12345) appartient à "user", qu'on lui a attribué le groupe "group", et que
les droits sont Le changement de droits s'effectue avec la commande chmod et le changement de propriétaire/groupe s'effectue par la commande chown. Changer de propriétaire et de groupe, c'est relativement simple. Il suffit d'exécuter : chown utilisateur:groupe nom_du_fichier
Changer les droits s'effectuer également simplement à partir du nombre à 3 chiffres calculé comme
précédemment. Ainsi, pour attribuer les droits chmod 555 nom_du_fichier
Pour plus de précisions sur la façon d'utiliser chown et chmod, veuillez consulter les manuels ou lire les pages HTML de ce site correspondantes. Références
|
|
|
Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL. |
||