|
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]'

|