Gestion des comptes utilisateurs sous DEBIAN TP Partie 1 fichier autorisation utilisateur groupe description /etc/passwd -rw-r--r-- root root informations des comptes utilisateurs (assainie) /etc/shadow -rw-r----- root shadow informations sécurisées des comptes utilisateurs /etc/group -rw-r--r-- root root informations des groupes Le fichier /etc/group Le fichier /etc/group contient la liste des utilisateurs appartenant aux différents groupes. En effet, lorsque de nombreux utilisateurs peuvent avoir accès au système, ceux-ci sont fréquemment rassemblés en différents groupes ayant chacun leurs propres droits d'accès aux fichiers et aux répertoires. Il se compose de différents champs séparés par ":" : nom_de_groupe : champ_special : numero_de_groupe : membre1, membre2 Le champ spécial est fréquemment vide et renseigné par un «x». Le numéro de groupe (unique) est le numéro qui fait le lien entre les fichiers /etc/group et /etc/passwd Création des groupes «lpgsr» et «lpgsr_grp1» : nano /etc/group Emery Olivier 1
Le fichier /etc/passwd Le fichier /etc/passwd contient toutes les informations relatives aux utilisateurs (login, mots de passe,...). Seul le super-utilisateur (root) doit pouvoir le modifier. Il faut donc modifier les droits de ce fichier de façon à ce qu'il soit en lecture seule pour les autres utilisateurs. Ce fichier possède un format spécial permettant de repérer chaque utilisateur, chacune de ses lignes possède le format suivant: nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe : commentaire : répertoire : programme_de_demarrage Sept champs sont explicités séparés par le caractère ":" : le nom du compte de l'utilisateur le mot de passe de l'utilisateur (codé bien sûr) l'entier qui identifie l'utilisateur pour le système d'exploitation (UID=User ID, identifiant utilisateur) l'entier qui identifie le groupe de l'utilisateur (GID=Group ID, identifiant de groupe) le commentaire dans lequel on peut retrouver des informations sur l'utilisateur ou simplement son nom réel le répertoire de connexion qui est celui dans lequel il se trouve après s'être connecté au système la commande est celle exécutée après connexion au système (c'est fréquemment un interpréteur de commandes) Il est important de savoir que les mots de passe situés dans ce fichier sont chiffrés. Il est donc inutile de l'éditer et de remplacer le champ mot_de_passe en tapant directement le mot de passe, cela conduirait uniquement au blocage du compte. Lorsqu'un utilisateur se connecte, le programme login compare le mot de passe tapé par l'utilisateur (après l'avoir chiffré) à celui qui est dans le fichier passwd. S ils sont différents, la connexion ne peut être établie. Pour interdire l'utilisation, il suffit de remplacer le mot de passe chiffré par une étoile : "*". Emery Olivier 2
Le fichier /etc/shadow Les différentes entrées de ce fichier, séparées par des «:» ont les significations suivantes : - Nom : Tintin - Mot de passe crypté : «!» = non renseigné ou «*» = compte bloqué/désactivé ou «::» va signifier qu il n y a pas besoin de mot de passe, «$6$» est le type de cryptage. - Nombre de jours (depuis le 1er Janvier 1970) depuis le dernier changement du mot de passe: 15976 - Nombre de jours avant que le mot de passe ne puisse être changé : «0» indique qu'il peut être changé à n'importe quel moment - Nombre de jours après lesquels le mot de passe doit être changé : «99999» indique que l'utilisateur peut garder son mot de passe inchangé pendant beaucoup, beaucoup d'années - Le nombre de jours pour avertir l'utilisateur qu'un mot de passe ne va plus être valable : «7» pour une semaine entière) - Le nombre de jours avant de désactiver le compte après expiration du mot de passe : «non renseigné» - Le nombre de jours depuis le 1er Janvier 1970 pendant lesquels un compte a été désactivé : «non renseigné» - Un champ réservé pour une utilisation future possible : «non renseigné» En ce qui concerne le nombre 15976, il correspond approximativement à 43 x 365 + 281, c est à dire à 43 ans écoulés depuis 1970 plus 281 jours. A ce stade, si vous fermez la session actuelle, l utilisateur n apparait pas dans la liste et vous ne pourrez pas vous logger. Il faut donc renseigner un mot de passe pour notre fameux Tintin! Emery Olivier 3
Attribution d un mot de passe En mode rootl : Nous disposons maintenant de notre second utilisateur disponible à l ouverture de session : Mais petit problème, nous avons ce message : Pourquoi? Eh bien en fait il n y a pas d autorité sur ce répertoire qui plus est n existe même pas!! Emery Olivier 4
En effet si nous regardons de plus près dans notre répertoire Home, le répertoire Tintin n existe pas Créons-le!! Cette commande devrait faire l affaire : MKDIR tintin Vérifions avec la commande suivante «ls l», on peut voir que les droits sont au créateur du dossier soit ROOT, ça devrait poser problème je vais quand même tester en tentant d ouvrir une session avec Tintin RATÉ!! Il nous faut donc changer les droits sur notre dossier avec la commande CHOWN, on renseigne ensuite l utilisateur puis le dossier concerné : Et voilà le travail!!! Nous sommes maintenant connectés avec notre Tintin! Emery Olivier 5
Quelques commandes de base et leurs rôles : useradd : créer un nouvel utilisateurs ou modifier les infos par défaut appliquées aux nouveaux utilisateurs adduser : ajouter un utilisateur ou un groupe au système usermod : modifier un compte utilisateur userdel, : supprime un compte utilisateur et les fichiers associés groupadd : créer un nouveau groupe groupmod : modifier la définition d'un groupe groupdel : supprimer un groupe pwck : vérifier l'intégralité des fichiers de mot de passe grpck : vérifier l'intégralité des fichiers d administration des groupes finger : Programme de recherche d'informations d'utilisateur chfn : modifier le nom complet et les informations associées à un utilisateur chsh : changer l'interpréteur de commandes initial passwd : modifier le mot de passe d'un utilisateur su : changer d'identifiant d'utilisateur ou devenir super utilisateur id : afficher les identifiants utilisateur et de groupe effectifs et réels groups : afficher les groupes auxquels appartient un utilisateur vipw : éditer les fichiers passwd, group, shadow ou gshadow vigr : éditer les fichiers passwd, group, shadow ou gshadow Différence entre les deux commandes useradd et adduser. Quand elle est invoquée sans l'option -D, la commande useradd crée un nouveau compte utilisateur qui utilise les valeurs indiquées sur la ligne de commande et les valeurs par défaut du système. En fonction des options de la ligne de commande, la commande useradd fera la mise à jour des fichiers du système, elle pourra créer le répertoire personnel et copier les fichiers initiaux. adduser et addgroup ajoutent des utilisateurs ou des groupes au système en fonction des options fournies en ligne de commande et des informations contenues dans le fichier de configuration /etc/adduser.conf. Ce sont des interfaces plus conviviales que les programmes useradd et groupadd. Elles permettent de choisir par défaut des UID ou des GID conformes à la charte Debian, de créer un répertoire personnel configuré suivant un modèle (squelette), d'utiliser un script sur mesure, et d'autres fonctionnalités encore. Avons-nous un utilisateur Bin? Je rappelle que les utilisateurs sont listés dans le fichier /etc/group et on peut voir qu il est bien présent. Je vais lister quelques informations sur BIN, et je me mets en mode ROOT (pas le choix ) Emery Olivier 6
On peut voir ici que nous sommes avec BIN ROOT est un super utilisateur et dispose de tous les droits, il n existe donc pas d autres utilisateurs par défaut jouissant de ses faveurs Création avec useradd l utilisateur «pierre», on va voir les infos dans /etc/group : Dans /etc/passwd Dans /etc/shadow On ne voit pas de «pierre» et pourtant il existe bien, je peux me logger sans mot de passe puisque dans le fichier «shadow» il est renseigné par «!» qui signifie qu il n y en a pas. Je peux voir avec la commande ID ses informations IUD, GID et GROUPES Encore plus simple avec un outil graphique du nom de KUSER qui peut s installer avec un «apt-get install kuser». Compter 300MO environ Du coup pour notre petit «pierre», on a son shell, le répertoire de travail et son groupe dans un autre onglet. Emery Olivier 7
Ou encore plus simple avec FINGER mais on n a pas son groupe Créer un nouveau groupe : groupadd staff Ajouter pierre dans ce groupe : usermod a G staff pierre Vérifier avec la commande «id pierre» : Pour se connecter à «pierre», il y a deux façons : A l ouverture de session, mais le compte est invisible, il faut lui mettre un mot de passe et créer son répertoire dans /home pour se connecter en mode classique. Et avec la terminaison SU (Switch User) qui nous enverra directement en log $, on peut revenir en arrière avec la commande «exit» Emery Olivier 8
Changer le champ commentaire de pierre en «Pierre Henry Tours» Pour verrouiller le compte pierre, on va dans le fichier shadow et on remplace le mot de passe crypté par une *. A l ouverture de session il aura une erreur d authentification Attention cela signifie qu il faudra réattribuer un mot de passe pour qu il puisse se reconnecter! (passwd pierre) Création d un utilisateur admin qui aura les mêmes droits que root avec kuser Emery Olivier 9