Gestion des utilisateurs et des groupes d'utilisateurs Révision 2 Objectifs Sav

Gestion des utilisateurs et des groupes d'utilisateurs Révision 2 Objectifs Savoir créer des utilisateurs; Savoir gérer les groupes et la participation des utilisateurs dans différents groupes; Connaître les fichiers de configuration Modifier les comptes des utilisateurs et la configuration par défaut Points importants Le système de gestion des utilisateurs sous Linux est simple mais efficace ... Expliquer ses limitations (e.g. Problèmes d'appartenance à deux groupes et gestion de fichiers) 1.1 Les utilisateurs Pour la création d'un utilisateur, on utilise la commande /usr/sbin/useradd (ou son alias / usr/sbin/adduser qui est un lien symbolique vers la commande précédente pour des raisons de compatibilité). /usr/sbin/useradd [options] nom-utilisateur Quelques options utiles -c commentaire -g groupe -s shell Ajout d'un utilisateur 'mejdi' dans le groupe 'chefs' avec le shell 'tcsh' /usr/sbin/adduser -c 'Mejdi le chef' -g 'chefs' -s '/bin/tcsh' mejdi Les options par défaut se trouvent dans le fichier /etc/default/useradd (ou sont listées par l'option -D de la commande useradd ) # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel Page 1/8 Chaque utilisateur possède un numéro (UID) généré compris entre 500 et 60000 Pour activer le compte, l'administrateur doit définir un mot de passe pour le compte par la commande /usr/bin/passwd /usr/bin/passwd nom-utilisateur /usr/bin/passwd mejdi Cette commande permet également à l'utilisateur de changer son mot de passe. 1.2 Les groupes Un utilisateur appartient toujours au moins à un groupe dit groupe initial (primary group). Si le groupe n'est pas spécifié au moment de la création du compte deux stratégies générales sont employées pour assigner un groupe par défaut : – .le groupe par défaut est le même pour tous. Il s'appelle 'users' et a comme GID 100. C'est le cas pour les distributions Debian, Suse etc ... – la distribution RedHat a introduit la notion de groupe privé par utilisateur (UPG User Private Group). Le nom du groupe est semblable à celui du login et le GID est généré et est compris entre 500 et 60000 (comme ceux des utilisateurs). Cette stratégie est également employée par la distribution Mandrake. Suivant la stratégie employée le masque par défaut (umask) de création est initialisé à 022 dans le premier cas (classique) et à 002 dans le deuxième cas (UPG). Un utilisateur peut appartenir potentiellement à plusieurs groupes. Cependant, il n'appartient qu'à un seul groupe à un moment donné que l'on appelle le 'groupe effectif'. C'est le groupe avec lequel sera créé un fichier par exemple. Pour connaître la liste des groupes que l'on peut joindre, on utilise la commande id id uid=1421(moi) gid=1664(normal) groupes=1664(normal),2010 (compta),2008(chefs) Ici, le groupe effectif est 'normal' et l'on peut joindre les groupes 'compta' et 'chefs' Pour rejoindre un autre groupe, on utilise la commande newgrp newgrp chefs Page 2/8 La commande id donne alors id uid=1421(moi) gid=2008(chefs) groupes=1664(normal),2010(compta), 2008(chefs) Pour connaître la liste des groupes disponibles, on utilise la commande groups groups normal compta chefs Pour ajouter un groupe, on utilise la commande groupadd groupadd forcats Cette commande met à jour le fichier /etc/group Pour gérer les utilisateur dans un groupe, on utilise la commande gpasswd Les options sont les suivantes : -a ajout d'un utilisateur -d retrait d'un utilisateur -A affectation d'un administrateur du groupe gpasswd -a nicolas forcats La commande est prévue à l'origine pour ajouter un mot de passe commun au groupe et permettre à des utilisateur du même groupe de se connecter avec le même mot de passe, ce qui explique le nom de la commande. Cette possibilité n'existe plus pour des raisons de sécurité évidentes. 1.3 Les fichiers de configuration Gestion des utilisateurs Le fichier /etc/passwd contient les informations des utilisateurs structurées en sept champs sur une ligne séparés par le caractère ':'. 1 login 2 UID 3 GID Page 3/8 4 mot de passe ou 'x' s'il existe un fichier /etc/shadow 5 Description de l'utilisateur 6 répertoire par défaut de l'utilisateur 7 shell Ligne de fichier /etc/passwd avec utilisation d'un fichier ./etc/shadow nicolas:x:502:502:Nicolas L:/home/nicolas:/bin/tcsh En général, Linux utilise un fichier /etc/shadow pour stocker les mots de passe : la sécurité est bien meilleure car il est protégé en lecture. Le fichier /etc/passwd est lisible par toutes les applications. Pour créer un fichier '/etc/shadow' à partir d'un fichier '/etc/passwd' on utilise la commande /usr/sbin/pwconv Pour revenir à la configuration précédente (i.e. stockage des mots de passe dans le fichier /etc/passwd) /usr/sbin/pwunconv Attention à fixer correctement les droits sur ces fichiers : 600 ou même 400 pour '/etc/shadow et 644 pour /etc/passwd. Ne pas oublier de vérifier, lors de l'utilisation 'pwunconv' de remettre les mêmes droits sur /etc/passwd. Gestion des groupes Le fichier /etc/group contient les informations des groupes structurées en quatre champs sur une ligne séparés par le caractère ':'. 1 Nom du groupe 2 mot de passe du groupe ou 'x' s'il existe un fichier /etc/gshadow 3 GID 5 Liste des utilisateurs du groupe Ligne de fichier /etc/group avec utilisation d'un fichier ./etc/gshadow normal:x:555:niry,andrei,kader,nicolas De même que pour le fichier de mot de passe, pour créer un fichier '/etc/gshadow' à partir d'un fichier '/etc/group' on utilise la commande Page 4/8 /usr/sbin/grpconv Pour revenir à la configuration précédente (i.e. stockage des mots de passe dans le fichier /etc/group et destruction de /etc/gshadow) /usr/sbin/grpunconv Fichiers de configuration par défaut Le fichier '/etc/login.defs' contient les informations par défaut suivantes : – MAIL_DIR répertoire mail par défaut (e.g. /var/spool/mail) – PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MIN_LEN, PASS_WARN_AGE informations concernant la validité du mot de passe – UID_MIN, UID_MAX plage des numéros identifiant d'utilisateurs (UID) lors de l'utilisation de 'useradd' – GID_MIN, GID_MAX plage des numéros identifiant des groupes (GID) lors de l'utilisation de 'groupadd' – CREATE_HOME création automatique du répertoire 'home' lors de l'utilisation de 'useradd' Le répertoire /etc/skel contient les fichiers qui seront recopiés automatiquement dans le répertoire des utilisateurs lors de sa création (e.g. .bashrc, .tcshrc ...) PASS_MAX_DAYS : Nombre de jours maximum d'utilisation d'un mot de passe PASS_MIN_DAYS : Nombre de jours minimum entre deux changements de mot de passe PASS_MIN_LEN : taille minimum d'un mot de passe PASS_WARN_AGE : Nombre de jours d'envoi d'un avertissement avant que le mot de passe n'expire 1.4 Quelques options des commandes Options de la commande useradd -c commentaire -g groupe (il doit exister au préalable) -s shell -d chemin du répertoire 'home' -u identifiant utilisateur (UID) -n désactivation du schéma UPG -p mot de passe à entrer en format md5 -k chemin vers le répertoire 'squelette' skel -e informations d'expiration du compte Options de la commande groupadd -g identifiant du groupe (GID) Page 5/8 1.5 Gestion des comptes et des options de création par défaut Les options de configuration d'un compte peuvent être modifiées par la commande 'usermod' -l nouveau nom d'utilisateur -c commentaire -g groupe (il doit exister au préalable) -s shell -d chemin du répertoire 'home' -u identifiant utilisateur (UID) -p mot de passe à entrer en format md5 -e informations d'expiration du compte Les options sont à peu près semblables à celles de la commande 'useradd' Les options de configuration d'un groupe peuvent être modifiées par la commande 'groupmod' -n nouveau nom du groupe -g identifiant du groupe (GID) Bloquer un compte Un moyen simple et de faire précéder le mot de passe par un '!' dans les fichiers de configuration. Lors de l'utilisation d'un fichier /etc/shadow, on peut remplacer également le 'x' dans le fichier /etc/passwd par un '*' Une autre méthode consiste à utiliser les commandes 'passwd' et 'usermod'. passwd -l usermod -L Pour débloquer le compte en utilisant les mêmes commandes passwd -u usermod -U On peut aussi détruire le mot de passe par la commande passwd -d Enfin, on peut affecter le shell par défaut '/bin/false' ce qui empêche l'utilisateur de se Page 6/8 connecter. Gestion des informations d'expiration du compte Pour modifier les informations mises par défaut (/etc/login.defs) et les informations d'expiration, on utilise la commande /usr/bin/chage chage [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ] [ -I inactive ] [ -E expire ] [ -d last_day ] user L'option '-l' donne les valeurs actuelles du compte. L'option '-E' permet de fixer une date d'expiration sous la forme Unix standard ou sous la forme YYYY/MM/DD. L'option -M permet de changer la valeur de PASS_MAX_DAYS contenue dans le fichier / etc/login.defs L'option -m permet de changer la valeur de PASS_MIN_DAYS contenue dans le fichier / etc/login.defs L'option -w permet de changer la valeur de PASS_WARN_AGE contenue dans le fichier / etc/login.defs L'option -d permet de changer la date de dernier changement de mot de passe sous la forme Unix standard ou sous la forme YYYY/MM/DD. Destruction d'un compte On utilise la commande /usr/sbin/userdel. L'option '-r' permet de détruire également le contenu du répertoire 'home ' Page 7/8 Expiration du compte -E -M Nombre de jour(s) de validité du mot de passe Désactivation du mot de passe Expiration du mot de passe Dernier changement du mot de passe -d -I Intervalle de validité après expiration du mot de passe -W Nombre de jour(s) d'avertissement avant expiration du mot de passe /usr/sbin/userdel -r mejdi 1.6 Exercices Mots clefs Utilisateurs uploads/Industriel/ 11-1-utilisateurs-102-rev3.pdf

  • 36
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager