Flux rss
Bookmark Ajouter aux favoris / Partager
Linux - Gestione degli utenti Linux - Gestão dos utilizadores Linux - Verwaltung der Benutzer Linux: Gestión de usuarios Linux - User management

Premier pas de l'administrateur

Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus.

Les fichiers importants à connaître sont :

  • le fichier /etc/passwd
  • le fichier /etc/group

Le fichier /etc/passwd

Le fichier /etc/passwd contient toutes les informations relatives aux utilisateurs (login, mots de passe, ...). Seul le superutilisateur (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)

Voici un exemple de fichier passwd :

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
cquoi:x:500:100:Cool......:/home/cquoi:/bin/bash

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. Si 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 : "*".

Les accès à un compte peuvent éventuellement être ouverts en laissant le champ mot_de_passe vide. Toute personne voulant se connecter avec ce compte pourra alors le faire.
Pour pouvoir modifier le mot de passe d'un compte grâce à la commande passwd, il faut être soit administrateur systême, soit propriétaire du compte (le système demandera alors à l'utilisateur d'entrer l'ancien mot de passe avant de lui demander d'enter 2 fois son nouveau mot de passe).

UID : identifiant (unique) de chaque compte utilisateur. Les nombres de 0 à 99 sont fréquemment réservés à des comptes propres à la machine. Les valeurs supérieures à 100 sont elles réservées aux comptes utilisateurs.

GID : identifiant de groupe. Le groupe par défaut (nommé group) porte le numéro 50. Cet identifiant est utilisé en relation avec les droits d'accès aux fichiers. Cette question ne vous préoccupera que si votre système comporte plus d'un seul groupe d'utilisateurs. (Il faudra alors se préoccuper du fichier /etc/group.

Il est possible à partir du Shell de modifier l'interpréteur de commandes. Pour ceci, il faut utiliser la commande chsh ou alors passwd -s. Linux cherche alors dans le fichier /etc/shells le programme que vous avez spécifié. Seules les commandes présentes dans ce fichier seront acceptées et remplaceront la valeur actuelle du champ programme_de_demarrage. Ces restrictions ne s'appliquent pas au compte du superutilisateur.
Assurez-vous que les droits d'accès du fichier /etc/shells sont les mêmes que pour le fichier /etc/passwd
Le superutilisateur ne se nomme pas obligatoirement root. Pour le changer, il suffit de remplacer le nom du compte root par celui désiré.
Un compte privilégié est un compte dont l'identifiant (UID, User ID) vaut zéro.

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.
Le numéro de groupe est le numéro qui fait le lien entre les fichiers /etc/group et /etc/passwd

Voici un exemple de fichier /etc/group :

root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
tty:x:5:
disk:x:6:
lp:x:7:
wwwadmin:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:cyrus
news:x:13:news
  • Lorsque l'on utilise la commande ls avec l'option -l, le numéro de groupe est affiché avec le numéro de l'utilisateur à qui appartient le fichier (ou le répertoire). Ce numéro unique correspond à un nom de groupe unique (souvent 8 caractères max.).
  • Un même utilisateur peut apparaître dans plusieurs groupes. Lorsqu'il se connecte au système, il appartient au groupe spécifié dans le fichier /etc/passwd (le champ GID). Il peut en changer à l'aide de la commande newgrp. Des droits d'accès aux fichiers sont alors définis.
  • Les protections du fichier doivent empêcher sa modification par les utilisateurs non privilégiés.
  • Pour ajouter un groupe, l'administrateur peut modifier le fichier /etc/group à l'aide d'un éditeur de texte. Il peut également utiliser la commande addgroup ou groupadd (pas toujours présentes). Dans le premier cas, il aura uniquement la ou les lignes correspondant aux groupes, à ajouter. Par exemple, la ligne :
    admin : : 56 : ccm
  • Pour ajouter un utilisateur à un groupe, il suffit d'éditer le fichier /etc/group et de rajouter ce nom au bout de la ligne en séparant le nom des membres par une virgule.
  • Pour supprimer un groupe, il suffit d'éditer le fichier /etc/group et d'effacer la ligne correspondante. Mais attention, il ne faut pas oublier de changer dans le fichier /etc/passwd les numéros (GID) du groupe supprimé, si des utilisateurs y appartenaient. Il est également essentiel de chercher les fichiers et répertoires de ce groupe pour le changer (dans le cas contraire les fichiers et répertoires riquent d'être inaccessibles).

La personnalisation du shell

Le fichier /etc/profile permet de configurer le Shell. Il concerne tous les utilisateurs.

On y trouve tout d'abord les variables du Shell telles que OPENWINHOME, PATH, ...
Ensuite, le type de terminal et la variable TERM sont définis en conséquence.
Une partie est consacrée au prompt du Shell, enfin une dernière permet la définition des couleurs de la commande ls.

Au démarrage de Linux, il est agréable d'avoir le pavé numérique allumé, ce qui n'est pas le cas par défaut.
Il y a donc quelques lignes à rajouter au fichier /etc/profile qui sont:

INITTY=/dev/tty[1-7]
for tty in $INITTY;
do setleds -D +num < $tty
done


Lors de la connexion au Shell, la première chose qui apparaît est le prompt, celui-ci peut être configuré au gré de l'utilisateur.
Si l'administrateur veut avoir un prompt qui se nomme : "Bonjour#", il lui suffit alors d'éditer le fichier /etc/profile. Celui-ci contient une variable appelée PS1. Toutes les lignes concernant cette variable doivent alors être précédées d'un dièze: #. Il s'agit alors d'ajouter la ligne PS1='Bonjour#'.

Il ne reste plus qu'à sauvegarder et se relogger. On peut alors apercevoir quelques changements.
Astuce: laisser un blanc après le prompt pour une meilleure lisibilité.

Il est également possible d'utiliser des variables dans le prompt (pour afficher par exemple l'heure ou le nom de la machine...) :

\d pour ajouter la date (format anglais)
\t pour ajouter l'heure (HH:MM:SS)
\u pour ajouter le nom de l'utilisateur
\r pour un retour à la ligne
\w pour ajouter le chemin complet du répertoire courant
\W pour ajouter le répertoire courant
\h pour ajouter le nom de la machine

La couleur peut également être changée. Pour ceci, il faut utiliser la variable PS1 comme ceci:

PS1='\[\033[num_couleurm]prompt_voulu\033[0m]'

Le numéro de la couleur sera pris dans la liste suivante :

Noir 0;30
Rouge 0;31
Vert 0;32
Brun 0;33
Bleu 0;34
Violet 0;35
Cyan 0;36
Gris Clair 0;37
Gris 1;30
Rose 1;31
Vert Clair 1;32
Brun Clair 1;33
Bleu Clair 1;34
Violet Clair 1;35
Cyan Clair 1;36
Blanc 1;37

Voici un exemple qui indique l'heure suivie du nom de l'utilisateur en rouge :

PS1='\t \[\033[0;31m]\u\033[0m]'


Dernière modification le mardi 14 octobre 2008 à 17:40:32.Ce document intitulé « Linux - Gestion des utilisateurs » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Linux - Gestion des utilisateurs Premier pas de l'administrateur Lorsque diverses personnes ont accès à un système, il est nécessaire que l'administrateur système gère les utilisateurs. Pour ceci, les commandes usuelles et les fichiers à configurer doivent être connus. Les... www.commentcamarche.net/contents/unix/unix-users.php3
Ajout d'utilisateur sur ftp vsftpd Hello voila 'jai installe , configurer correctement un serveur vsftpd (du moin je l'esprere) mais j'aimerai savoir comment on rajoute des utilisateur avec leur mode de passe pour que ceux-ci puissent se depose ou reprendre des fichiers sur le serveur!... www.commentcamarche.net/forum/affich-790858-ajout-d-utilisateur-sur-ftp-vsftpd
Gestionnaire de tâches sous Linux Bonjour, Il serait intéressant de visionner les processus lancés sous Linux et d'arrêter certains. J'utilise Kubuntu et quelquefois Knoppix mais je n'ai pas encore trouvé où faire cela En fait, je cherche l'équivalent du taskmgr de Windows dans... www.commentcamarche.net/forum/affich-7013429-gestionnaire-de-taches-sous-linux
[Linux] Utiliser la commande 'su'Préambule Se connecter sous un autre ID utilisateur avec "su" Démarrer un nouveau shell de connexion avec "su -" Revenir au shell précédent Suspendre le shell du compte root Notes Préambule La commande "su" (Switch User, appelée plus... www.commentcamarche.net/faq/sujet-156-linux-utiliser-la-commande-su
Gestion du profil sous Mozilla ThunderbirdGestion du profil sous ThunderBird Localiser le profil Le profil utilisateur de Mozilla Thunderbird est stocké dans un répertoire utilisateur par défaut dont l'emplacement dépend du système d'exploitation : Sous Windows XP/2000, le chemin est... www.commentcamarche.net/faq/sujet-4588-gestion-du-profil-sous-mozilla-thunderbird
Gestionnaires de fenêtres X11Gestionnaires de fenêtres AfterStep Blackbox FluxBox FVWM IceWM (Ice Window Manager) Metacity OpenBox Window Maker Sur le réseau Contrairement à certaines solutions propriétaires (Windows et Mac), GNU/Linux offre... www.commentcamarche.net/faq/sujet-5522-gestionnaires-de-fenetres-x11
Est-ce que ca existe?[Gestion de Projet sous LinuxBonjour a tous ! Je suis étudiante et j'effectue une étude sur les logiciels de gestion de projet sous forme de planning, mais comme je débute dans ce domaine j'ai beaucoup de mal à trouver des application de ce type qui fonctionnent sous linux... et... www.commentcamarche.net/forum/affich-119944-est-ce-que-ca-existe-gestion-de-projet-sous-linux
Calcul de mémoire totale utilisée (Résolu)Bonjour, J'essaie de déterminer le total de mémoire utilisée par ma distribution Linux. Et je trouve une différence nette entre le montant affiché par "top" et par mon propre programme. Mon programme est très simple : ps axeo"%z" | grep -v "VSZ" |... www.commentcamarche.net/forum/affich-4095952-calcul-de-memoire-totale-utilisee
Gestion des sessions utilisateurs avec php (Résolu)Salut à tous! Je developpe un site dont l'accès necessite une identification del'utilisateur. Mon problême est qu'apres la deconnexion de l'utilisateur en cours. Un click sur le bouton retour du navigateur permet encore de retrouver la page précédente... www.commentcamarche.net/forum/affich-879076-gestion-des-sessions-utilisateurs-avec-php
UML - Cas d'utilisation (Use cases)Cas d'utilisation Un cas d'utilisation (en anglais use case) permet de mettre en évidence les relations fonctionnelles entre les acteurs et le système étudié. Le format de représentation d'un cas d'utilisation est complètement libre mais UML... www.commentcamarche.net/contents/uml/uml-use-cases.php3
Commandes LinuxTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau... www.commentcamarche.net/contents/linux/lincomm.php3
La gestion des utilisateurs sous Windows NTLa notion d'utilisateur WindowsNT est un système d'exploitation permettant de gérer des sessions, c'est-à-dire qu'au démarrage du système il est nécessaire de se connecter au système (le terme se logger provenant de l'anglais est... www.commentcamarche.net/contents/winnt/ntusers.php3