Difference between revisions of "Commandes utilisateurs et groupes"

From Le Wiki de debian-fr.xyz
Jump to navigation Jump to search
[checked revision][checked revision]
m (Révocation des modifications de Zer00CooL (discussion) vers la dernière version de MicP)
Tag: Rollback
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
__TOC__
 
== Droits dans un système Debian ==
 
== Droits dans un système Debian ==
 
Les commandes que cette page vous présente permettent de manipuler les utilisateurs et les groupes du système d'exploitation. Ces deux notions sont très fortement liées à la gestion des droits dans le système d'exploitation. C'est pour cela que nous commençons par vous expliquer ce point.
 
Les commandes que cette page vous présente permettent de manipuler les utilisateurs et les groupes du système d'exploitation. Ces deux notions sont très fortement liées à la gestion des droits dans le système d'exploitation. C'est pour cela que nous commençons par vous expliquer ce point.
Line 4: Line 5:
 
Sous GNU/Linux (comme sous beaucoup d'autres Unix), les droits sont gérés 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).
 
Sous GNU/Linux (comme sous beaucoup d'autres Unix), les droits sont gérés 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 exécutable, un périphérique ou quoi que ce soit d'autre), il est défini son propriétaire 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 propriétaire d'un fichier ne doit pas nécessairement appartenir au groupe de celui-ci.
+
Pour chaque fichier (que ce soit un fichier, un répertoire, un exécutable, un périphérique ou quoi que ce soit d'autre), il est défini son propriétaire et son groupe. Ces deux attributs peuvent changer au cours du temps (les commandes ci-dessous vous indiquent comment faire). Ces deux attributs n'ont pas de liens entre eux ; le propriétaire d'un fichier ne doit pas nécessairement appartenir au groupe de celui-ci.
  
Ensuite l'idée consiste à définir des droits pour chaque fichier. Les droits sont différents pour le propriétaire, pour le groupe ou pour les autres utilisateurs du système. Ces droits s'expriment avec 3 attributs chacun, le droit en lecture, en écriture et en exécution. Nous allons prendre un exemple :
+
Ensuite l'idée consiste à définir des droits pour chaque fichier. Les droits sont différents pour le propriétaire, pour le groupe ou pour les autres utilisateurs du système.
  
Imaginons le fichier ''fic.txt'', son propriétaire 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 pas ni lire ni écrire dedans.
+
Ces droits s'expriment avec 3 attributs chacun :<br />
 +
le droit en
 +
* Lecture
 +
* Écriture
 +
* Exécution
 +
<br />
 +
Nous allons prendre un exemple :
 +
 
 +
Imaginons le fichier ''fic.txt'', son propriétaire 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
 
Les commandes d'utilisateurs et de groupes
Line 21: Line 30:
 
Ajouter l'utilisateur toto au groupe "audio"
 
Ajouter l'utilisateur toto au groupe "audio"
 
  # adduser toto audio
 
  # adduser toto audio
 +
 +
<u>NOTE :</u> /usr/sbin/adduser est un script perl interactif invoquant la commande /usr/sbin/useradd
  
 
== chgrp ==
 
== chgrp ==
Line 29: Line 40:
 
  $ chgrp audio fichier
 
  $ chgrp audio fichier
  
Changer récursivement l'appartenance à un groupe. Le dossier et les fichiers contenus dans ce dossier changerons de groupe.
+
Changer récursivement l'appartenance à un groupe. Le répertoire et les fichiers contenus dans ce répertoire changeront de groupe.
  $ chgrp -R audio /home/toto/dossier
+
  $ chgrp -R audio /home/toto/répertoire
  
 
== chmod ==
 
== chmod ==
Line 40: Line 51:
  
 
chmod peut s'utiliser avec des chiffres ou des lettres
 
chmod peut s'utiliser avec des chiffres ou des lettres
 
  
 
  Droit                                     Valeur alphanumérique  Valeur octale
 
  Droit                                     Valeur alphanumérique  Valeur octale
Line 73: Line 83:
 
  $ chown toto:audio fichier
 
  $ chown toto:audio fichier
  
Comme d'habitude l'option -R permet de traiter récursivement la commande. Changer l'appartenance d'un dossier et de tous les fichiers qu'il contient :
+
Comme d'habitude l'option -R permet de traiter récursivement la commande.<br />
 +
Changer l'appartenance d'un répertoire et de tous les fichiers qu'il contient :
  
 
  $ chown -R toto:audio /home/toto/repertoire
 
  $ chown -R toto:audio /home/toto/repertoire
  
Remarquer le R majuscule
+
Remarquez le R majuscule
  
 
== deluser ==
 
== deluser ==
Line 86: Line 97:
 
  # deluser toto
 
  # deluser toto
  
  # del user toto audio
+
  # deluser toto audio
 +
 
 +
<u>NOTE :</u> deluser est un script interactif perl faisant utilisant la commande userdel
 +
 
 +
== delgroup ==
 +
 
 +
Supprimer le groupe audio
 +
 
 +
# delgroup audio
 +
 
 +
<u>NOTE :</u> delgroup est un lien vers le script deluser faisant utilisant la commande groupdel
  
 
== gpasswd ==
 
== gpasswd ==
Line 96: Line 117:
  
 
Ajouter un administrateur à un groupe :
 
Ajouter un administrateur à un groupe :
  # gpasswd -a utilisateur groupe
+
  # gpasswd -a utilisateur groupe
  
 
Enlever le mot de passe d'un groupe :
 
Enlever le mot de passe d'un groupe :
Line 125: Line 146:
  
 
== id ==
 
== id ==
Permet de savoir quel numéro - uid (comme user id) et quel numéro de groupe sont associés à utilisateur. Exemple
+
Permet de faire afficher le numéro - uid (comme user id) de l'utilisateur, son groupe principal - gid, et de quels autres groupes l'utilisateur fait aussi partie.<br />
 +
Exemple :
  
 
  $ id toto
 
  $ id toto
Line 149: Line 171:
 
Créer un nouvel utilisateur ou mettre à jour l'information par défaut sur un nouvel utilisateur .
 
Créer un nouvel utilisateur ou mettre à jour l'information par défaut sur un nouvel utilisateur .
  
Le résultat est le même que pour la commande adduser, mais la syntaxe est différente. adduser est une commande interactive : elle pose des questions, il faut y répondre. useradd est une commande non interactive, il est possible de s'en servir pas exemple dans un script.
+
Le résultat est le même que pour la commande adduser, mais la syntaxe est différente. adduser est une commande interactive : elle pose des questions, il faut y répondre. useradd est une commande non interactive, il est possible de s'en servir pas exemple dans un script. Le script adduser en est d'ailleurs un exemple puisqu'il utilise la commande useradd.
  
 
Ajouter un nouvel utilisateur (Attention, le mot de passe doit être crypté)
 
Ajouter un nouvel utilisateur (Attention, le mot de passe doit être crypté)
 
  # useradd -m -p MotDePasse login
 
  # useradd -m -p MotDePasse login
 +
 +
<u>NOTE :</u> /usr/sbin/adduser est un script perl interactif invoquant la commande /usr/sbin/useradd
  
 
== userdel ==
 
== userdel ==
Line 170: Line 194:
 
  # usermod -aG audio toto
 
  # usermod -aG audio toto
  
Renommer le répertoire (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)
+
Renommer le répertoire 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
 
  # usermod -d /home/titi -m -l titi toto
  
[[Catégorie:Commandes de base]]
+
[[Catégorie:Commandes]]
 +
[[Niveau de difficulté::Débutant]]

Latest revision as of 11:14, 5 May 2020

Droits dans un système Debian

Les commandes que cette page vous présente permettent de manipuler les utilisateurs et les groupes du système d'exploitation. Ces deux notions sont très fortement liées à la gestion des droits dans le système d'exploitation. C'est pour cela que nous commençons par vous expliquer ce point.

Sous GNU/Linux (comme sous beaucoup d'autres Unix), les droits sont gérés 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 répertoire, un exécutable, un périphérique ou quoi que ce soit d'autre), il est défini son propriétaire et son groupe. Ces deux attributs peuvent changer au cours du temps (les commandes ci-dessous vous indiquent comment faire). Ces deux attributs n'ont pas de liens entre eux ; le propriétaire d'un fichier ne doit pas nécessairement appartenir au groupe de celui-ci.

Ensuite l'idée consiste à définir des droits pour chaque fichier. Les droits sont différents pour le propriétaire, pour le groupe ou pour les autres utilisateurs du système.

Ces droits s'expriment avec 3 attributs chacun :
le droit en

  • Lecture
  • Écriture
  • Exécution


Nous allons prendre un exemple :

Imaginons le fichier fic.txt, son propriétaire 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

adduser

Ajouter un utilisateur.

Ajouter l'utilisateur toto au système. 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

NOTE : /usr/sbin/adduser est un script perl interactif invoquant la commande /usr/sbin/useradd

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 récursivement l'appartenance à un groupe. Le répertoire et les fichiers contenus dans ce répertoire changeront de groupe.

$ chgrp -R audio /home/toto/répertoire

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 propriétaire et lecture au groupe :

$ chmod 640 fichier

chmod peut s'utiliser avec des chiffres ou des lettres

Droit 	                                    Valeur alphanumérique  Valeur octale
aucun droit 	                                   --- 	                0
exécution seulement 	                           --x 	                1
écriture seulement 	                           -w- 	                2
écriture et exécution 	                           -wx 	                3
lecture seulement 	                           r-- 	                4
lecture et exécution 	                           r-x 	                5
lecture et écriture 	                           rw- 	                6
tous les droits (lecture, écriture et exécution)   rwx          	7

Exemple de chmod plus complexe: La commande ci-dessous fera un chmod 664 récursif sur les fichiers (et uniquement sur les fichiers) dans le répertoire /home/rep/

$ find /home/rep/ -type f -exec chmod 664 {} \;

Faites très attention avec la commande chmod qui peut être très dangereuse pour votre système si elle est utilisée à mauvais escient... (vous ne serez pas toujours capable de retrouver les droits d'origine sur vos fichiers en cas de mauvaise manipulation)

chown

Changer le propriétaire et/ou le groupe d'un fichier

Changer le propriétaire d'un fichier

$ chown toto fichier

Changer le groupe d'un fichier (équivalent à chgrp)

$ chown :toto fichier

Changer le propriétaire et le groupe d'un fichier

$ chown toto:audio fichier

Comme d'habitude l'option -R permet de traiter récursivement la commande.
Changer l'appartenance d'un répertoire et de tous les fichiers qu'il contient :

$ chown -R toto:audio /home/toto/repertoire

Remarquez le R majuscule

deluser

Supprimer un utilisateur, ou retirer un utilisateur d'un groupe.

Supprimer l'utilisateur toto (son répertoire n'est pas supprimé)

# deluser toto
# deluser toto audio

NOTE : deluser est un script interactif perl faisant utilisant la commande userdel

delgroup

Supprimer le groupe audio

# delgroup audio

NOTE : delgroup est un lien vers le script deluser faisant utilisant la commande groupdel

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 systèmes possèdent les droits d'administrateur de groupe et de membre, il peuvent utiliser l'option -A pour définir le(s) administrateur(s) de groupe et l'option -M pour en définir 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

groupadd

Création de groupe avec les options de la commande plus celles par défaut du système.

# grouppadd toto

groupdel

Supprimer un groupe

# groupdel toto

groupmod

Modification des propriétés d'un groupe du système. 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

id

Permet de faire afficher le numéro - uid (comme user id) de l'utilisateur, son groupe principal - gid, et de quels autres groupes l'utilisateur fait aussi partie.
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)

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

useradd

Créer un nouvel utilisateur ou mettre à jour l'information par défaut sur un nouvel utilisateur .

Le résultat est le même que pour la commande adduser, mais la syntaxe est différente. adduser est une commande interactive : elle pose des questions, il faut y répondre. useradd est une commande non interactive, il est possible de s'en servir pas exemple dans un script. Le script adduser en est d'ailleurs un exemple puisqu'il utilise la commande useradd.

Ajouter un nouvel utilisateur (Attention, le mot de passe doit être crypté)

# useradd -m -p MotDePasse login

NOTE : /usr/sbin/adduser est un script perl interactif invoquant la commande /usr/sbin/useradd

userdel

Effacer un compte utilisateur et les fichiers associés. La commande userdel modifie les fichiers des comptes du système, en supprimant toutes les entrées qui se réfèrent à login. L'utilisateur nommé doit exister. L'utilisateur ne doit pas être connecté...

Option : -r Les fichiers présents dans le répertoire personnel de l'utilisateur seront supprimés en même temps que le répertoire lui-même. Les fichiers situés dans d'autres systèmes de fichiers devront être recherchés et éliminés manuellement.

Effacer l'utilisateur "toto" et ses fichiers dans /home/toto

# userdel -r toto

usermod

La commande usermod modifie les fichiers d’administration des comptes du système selon les modifications qui ont été indiquées 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 répertoire 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

Débutant