« Commandes utilisateurs et groupes » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
Balises : Modification par mobile Modification par le web mobile
 
(28 versions intermédiaires par 7 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{sid}}
__TOC__
 
== 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.
 
{{Ébauche|La gestion des fichiers}}


== Droits dans un système Debian ==
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).
Les commandes que cette page vous présente permet de manipuler les utilisateurs et les groupes du système d'exploitation. Ces deux notions sont très fortement lié à 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érer au travers d'utilisateurs et de groupe. Chaque utilisateur appartient à un ou plusieurs groupe(s) (s'il appartient à plusieurs groupe l'un d'entre eux seras 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.


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éfinit 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.
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.


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 lecteur, en écriture ou en exécution. Nous allons prendre un exemple :
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 puisse uniquement lire le fichier et les autres ne puissent pas ni lire ni écrire dedans.
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
Ligne 27 : Ligne 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 ==


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 donc affecter un fichier à n'importe quel groupe.
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"
Donner le groupe "audio" au fichier "fichier"
  $ 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 ==


Changement des bits de comportement d'un (ou plusieurs fichiers); Il est utilisé pour changer les droits sur un fichier.
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 :
Donner le droit en lecture/écriture au propriétaire et lecture au groupe :
Ligne 47 : Ligne 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
Ligne 65 : Ligne 68 :


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...
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 serrez pas toujours capable de retrouver les droits d'origine sur vos fichiers en cas de mauvaise manipulation)
(vous ne serez pas toujours capable de retrouver les droits d'origine sur vos fichiers en cas de mauvaise manipulation)


== chown ==
== chown ==
Ligne 77 : Ligne 80 :
  $ chown :toto fichier
  $ chown :toto fichier


Changer le propriétaire et le goupe d'un fichier
Changer le propriétaire et le groupe d'un fichier
  $ 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 ==
Ligne 93 : Ligne 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 ==
Ligne 103 : Ligne 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 :
Ligne 112 : Ligne 126 :
Création de groupe avec les options de la commande plus celles par défaut du système.
Création de groupe avec les options de la commande plus celles par défaut du système.


  # grouppadd toto
  # groupadd toto


== groupdel ==
== groupdel ==
Ligne 126 : Ligne 140 :


Modification du GID du groupe scanner
Modification du GID du groupe scanner
  # groupmode -g 4713 scanner
  # groupmod -g 4713 scanner


Modification du nom du groupe1 pour groupe2
Modification du nom du groupe1 pour groupe2
  # groupmode groupe2 groupe1
  # groupmod groupe2 groupe1


== 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
Ligne 156 : Ligne 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 ==
Ligne 177 : Ligne 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]]

Dernière version du 9 février 2024 à 04:31

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.

# groupadd 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