LOL faut s’accrocher… Bon, pour les dossier ou les fichiers : ls -l, en effet. Tu peux faire un grep, si tu veux. ls -l vincent donnerait la liste (ls) des droits (-l) sur un fichier ou un répertoire nommé “vincent”. Les droits sont attribués à un fichier ou un réperoire, pas directement à un utilisateur, pas comme tu l’entends, du moins.
Prenons un exemple.
Le dossier “toto” situé dans le répertoire /home. Il se situe donc dans /home/toto, autrement dit, au niveau de la racine /, tu auras un certain nombres de dossiers et, eventuellement, de fichiers. Si tu fais ls -l / tu auras la liste et les droits de tout ce petit beau monde, situé dans /.
Pour toto, il faudra, suivant la même logique, que tu te places dans /home et que tu fasses ls -l. La liste entière des fichiers et répertoires t’apparaitras, y compris toto, avec leurs droits, sous la forme (par exemple) drwxr-x-wx (ce qui pourait donc se traduire par des droits sur le répertoire (d) 753, soit 7 (1+2+4 = 7), 5 (1+4= 5) et 3 (1+2 = 3). 1, c’est le droit d’exécution (soit “x”), 2, le droit de lecture (“w” comme write) et 4 le droit de lecture (“r” comme read).
Pour des droits attribués toto de 753, cela voudrait dire que l’owner (propriétaire créateur du répertoire) a tous les droits sur le répertoire (droit “7” ou rwx). Le groupe a le droit d’exécution et de lecture (droit 5, en seconde position, donc, soit r-x). Le droit “x”, d’éxecution, dans le cas d’un répertoire, permet de se balader dedans (le droit x est nécessaire pour ça. Sans ce droit, le groupe ne peux pas entrer dans le répertoire… Je précise que je me suis retrouvé comme un c… la première fois que j’ai monté mon Samba parce que justement j’ignorais alors ce détail). Quand aux “autres” (n’appartenant ni à la première ni à la seconde catégorie, donc), en troisième position, bénéficient des droits “3” (droits d’exécution et droits d’écriture, soit -wx). Ils n’auraient alors pas le droit de lecture.
Un droit d’exécution est donc indispensable si on veut laisser la possibilité à un user d’entrer dans le répertoire. Le même droit permet à un “exécutable” (si j’ose dire, car il n’y a pas de .exe sous linux, ce dernier, comme dans tout Unix étant “tout est fichier”) d’être lancé. S’il s’agit d’un fichier normal, qu’importe. Ce point est utile à savoir si on utilise les “umask” qui ne calcule avec “un point de moins”, dans le cas des fichiers (pas de droits 7, que des droits 6 dans le cas des umasks… peu importe, ici ce n’est pas le sujet - c’est juste utile de le savoir, simplement).
quand tu fais ls -l, tu vois donc les drois, mais à côté apparaissent successivement le propriétaire et le groupe. Souvent, par défaut, ce sont les mêmes. Ici, par défaut, ce serait un “toto” et le groupe “toto”.
autrement dit : toto aurait tout les droits, tandis que le groupe “toto” (de base, y a juste toto dedans lol), n’aurait que les droits de lecture et d’exécution. Et c’est à ce niveau que tout se joue. Soit tu change l’owner (propriétaire créateur) en utilisant “chown”, soit tu accordes des droits en gardant le même owner mais en changeant le groupe (chgrp pour “change groupe”), soit tu ajoutes des utilisateurs dans le groupes en passant par /etc/group (pas de commandes spéciales ormis de passer par l’éditeur vim ou autre) et en ajoutant la personne à la ligne correspondant au groupe.
tu peux aussi être amené à modifier le groupe de connexion, en te positionnant sur le user (su user, évidemment) et en utilisant newgrp “untel” pour un groupe de connexion “untel” (lol). Encore un truc que j’ai eu un peu de mal à comprendre… même pour moi, ce n’est pas bien clair, encore.
Enfin, pour savoir si ton user appartient à tel ou tel groupe, tu fais “id user” (commande très utile, celle-là). Tu verras alors l’uid, le gid et les groupes auxquels appartient le user. Ca peut aider.
J’espère que ça va un peu t’aider… En fait ce n’est pas très compliqué, une fois qu’on a pigé le truc.
Rgs,
Chris