Vous êtes sur la page 1sur 5

Droits dans un systme Debian

Les commandes que cette page vous prsente permettent de manipuler les utilisateurs et les groupes du systme d'exploitation. Ces deux notions sont trs fortement lies la gestion des droits dans le systme d'exploitation. C'est pour cela que nous commenons par vous expliquer ce point. Sous GNU/Linux (comme sous beaucoup d'autres Unix), les droits sont grs au travers d'utilisateurs et de groupe. Chaque utilisateur appartient un ou plusieurs groupe(s) (s'il appartient plusieurs groupes l'un d'entre eux sera son principal groupe). Pour chaque fichier (que ce soit un fichier, un dossier, un excutable, un priphrique ou quoi que ce soit d'autre), il est dfini son propritaire et son groupe. Ces deux attributs peuvent changer au cours du temps (les commandes ci-dessous vous indique comment faire). Ces deux attributs n'ont pas de liens entre eux ; le propritaire d'un fichier ne doit pas ncessairement appartenir au groupe de celuici. Ensuite l'ide consiste dfinir des droits pour chaque fichier. Les droits sont diffrents pour le propritaire, pour le groupe ou pour les autres utilisateurs du systme. Ces droits s'expriment avec 3 attributs chacun, le droit en lecture, en criture et en excution. Nous allons prendre un exemple : Imaginons le fichier fic.txt, son propritaire est l'utilisateur jean et son groupe est famille. On peut vouloir que l'utilisateur jean puisse lire et crire dans ce fichier, que les utilisateurs du groupe famille puissent uniquement lire le fichier et les autres ne puissent ni lire ni crire dedans. Les commandes d'utilisateurs et de groupes [modifier]adduser Ajouter un utilisateur. Ajouter l'utilisateur toto au systme. Un mot de passe sera demand pour ce nouvel utilisateur ainsi que quelques informations # adduser toto Ajouter l'utilisateur toto au groupe "audio" # adduser toto audio [modifier]chgrp Change l'appartenance d'un fichier un groupe. On ne peut donner l'appartenance de groupe un fichier qu' un groupe dont on est membre... L'administrateur peut, lui, affecter un fichier n'importe quel groupe. Donner le groupe "audio" au fichier "fichier" $ chgrp audio fichier Changer rcursivement l'appartenance un groupe. Le dossier et les fichiers contenus dans ce dossier changerons de groupe.

$ chgrp -R audio /home/toto/dossier [modifier]chmod Changement des bits de comportement d'un ou de plusieurs fichiers; Il est utilis pour changer les droits sur un fichier. Donner le droit en lecture/criture au propritaire et lecture au groupe : $ chmod 640 fichier chmod peut s'utiliser avec des chiffres ou des lettres

Droit Valeur alphanumrique octale aucun droit --0 excution seulement --x 1 criture seulement -w2 criture et excution -wx 3 lecture seulement r-4 lecture et excution r-x 5 lecture et criture rw6 tous les droits (lecture, criture et excution) rwx

Valeur

Exemple de chmod plus complexe: La commande ci-dessous fera un chmod 664 rcursif sur les fichiers (et uniquement sur les fichiers) dans le rpertoire /home/rep/ $ find /home/rep/ -type f -exec chmod 664 {} \; Faites trs attention avec la commande chmod qui peut tre trs dangereuse pour votre systme si elle est utilise mauvais escient... (vous ne serez pas toujours capable de retrouver les droits d'origine sur vos fichiers en cas de mauvaise manipulation) [modifier]chown Changer le propritaire et/ou le groupe d'un fichier Changer le propritaire d'un fichier $ chown toto fichier

Changer le groupe d'un fichier (quivalent chgrp) $ chown :toto fichier Changer le propritaire et le groupe d'un fichier $ chown toto:audio fichier Comme d'habitude l'option -R permet de traiter rcursivement la commande. Changer l'appartenance d'un dossier et de tous les fichiers qu'il contient : $ chown -R toto:audio /home/toto/repertoire Remarquer le R majuscule [modifier]deluser Supprimer un utilisateur, ou retirer un utilisateur d'un groupe. Supprimer l'utilisateur toto (son rpertoire n'est pas supprim) # deluser toto # del user toto audio [modifier]gpasswd gpasswd est utilis pour administrer le fichier /etc/group ainsi que le fichier /etc/gshadow. Chaque groupe peut avoir un administrateur, des membres et un mot de passe. Les administrateurs systmes possdent les droits d'administrateur de groupe et de membre, il peuvent utiliser l'option -A pour dfinir le(s) administrateur(s) de groupe et l'option -M pour en dfinir les membres Un administrateur de groupe peut ajouter ou supprimer des utilisateurs en utilisant respectivement les options -a et -d . Les administrateurs peuvent utiliser l'option -r pour supprimer le mot de passe d'un groupe. Ajouter un administrateur un groupe : # gpasswd -a utilisateur groupe

Enlever le mot de passe d'un groupe : # gpasswd -r groupe [modifier]groupadd Cration de groupe avec les options de la commande plus celles par dfaut du systme. # grouppadd toto

[modifier]groupdel Supprimer un groupe # groupdel toto [modifier]groupmod Modification des proprits d'un groupe du systme. Les options sont modification de l'ID, du mot de passe, du nom du groupe. Modification du GID du groupe scanner # groupmod -g 4713 scanner Modification du nom du groupe1 pour groupe2 # groupmod groupe2 groupe1 [modifier]id Permet de savoir quel numro - uid (comme user id) et quel numro de groupe sont associs utilisateur. Exemple $ id toto uid=1000(toto) gid=1000(toto) groupes=1000(toto),20(dialout),24(cdrom),25(floppy),29(audio),44(video),46( plugdev),110(netdev) [modifier]passwd La commande passwd permet de changer son mot de passe. Ou, en root, changer le mot de passe d'un utilisateur (l'ancien mot de passe est alors demand) Elle demande : 1. le mot de passe actuel (Current), 2. le nouveau (New), 3. puis la confirmation du nouveau (New again), afin d'viter les erreurs. Remarque: Un mot de passe n'est jamais affich et ne doit jamais l'tre. $ passwd # passwd toto [modifier]useradd Crer un nouvel utilisateur ou mettre jour l'information par dfaut sur un nouvel utilisateur .

Le rsultat est le mme que pour la commande adduser, mais la syntaxe est diffrente. adduser est une commande interactive : elle pose des questions, il faut y rpondre. useradd est une commande non interactive, il est possible de s'en servir pas exemple dans un script. Ajouter un nouvel utilisateur (Attention, le mot de passe doit tre crypt) # useradd -m -p MotDePasse login [modifier]userdel Effacer un compte utilisateur et les fichiers associs. La commande userdel modifie les fichiers des comptes du systme, en supprimant toutes les entres qui se rfrent login. L'utilisateur nomm doit exister. L'utilisateur ne doit pas tre connect... Option : -r Les fichiers prsents dans le rpertoire personnel de l'utilisateur seront supprims en mme temps que le rpertoire lui-mme. Les fichiers situs dans d'autres systmes de fichiers devront tre recherchs et limins manuellement. Effacer l'utilisateur "toto" et ses fichiers dans /home/toto # userdel -r toto [modifier]usermod La commande usermod modifie les fichiers dadministration des comptes du systme selon les modifications qui ont t indiques sur la ligne de commande. Ajouter l'utilisateur toto au groupe audio sans supprimer toto de son groupe originel. # usermod -aG audio toto Renommer le rpertoire (dossier) utilisateur et changer son nom. Pratique lorsque le pc change de mains. (Changer l'utilisateur toto en titi et changer son /home/toto en /home/titi) # usermod -d /home/titi -m -l titi toto