Chapitre 7
Chapitre 7
Chapitre 7
Administration
Système
Commandes
de gestion des utilisateurs
Ajouter un utilisateur:
Syntaxe:
# useradd options login
Options:
-c commentaire
– Le champ de commentaire du fichier de mots de passe du
nouvel utilisateur.
-d rép_perso
– Le nouvel utilisateur sera créé en utilisant rép_perso comme
valeur du dossier personnel de l'utilisateur.
Commandes
de gestion des utilisateurs
-e date_expiration
– La date à laquelle le compte de l'utilisateur sera désactivé. La
date est spécifiée dans le format AAAA-MM-JJ.
-f jours_inactifs
– Le nombre de jours suivant l'expiration d'un mot de passe après
lequel le compte est définitivement désactivé. Une valeur de 0
désactive le compte dès que le mot de passe a expiré, et une
valeur de -1 désactive cette fonctionnalité. La valeur par défaut
est de -1.
-g groupe_initial
– Le nom ou le numéro du groupe de connexion initial de
l'utilisateur.
Commandes
de gestion des utilisateurs
-G groupe,[...]
– Une liste de groupes supplémentaires auxquels fait également
partie l'utilisateur. Chaque groupe est séparé du suivant par une
virgule, sans espace entre les deux. Le comportement par défaut
pour l'utilisateur est de n'appartenir qu'au groupe initial.
-m
– Le répertoire personnel de l'utilisateur sera créé s'il n'existe pas
déjà. Les fichiers contenus dans rép_squelette seront copiés
dans le répertoire personnel si l'option -k est employée ; sinon,
les fichiers contenus dans /etc/skel seront utilisés à la place.
Tous les répertoires contenus dans rép_squelette ou dans
/etc/skel seront également créés dans le répertoire personnel de
l'utilisateur.
Commandes
de gestion des utilisateurs
-M
– Le répertoire personnel de l'utilisateur ne sera pas créé, même si
les réglages globaux au système présents dans /etc/login.defs
consistent en la création de répertoires personnels.
-n
– Un groupe de même nom que l'utilisateur ajouté au système
sera créé par défaut. Cette option désactivera ce comportement
spécifique à Red Hat Linux.
-r
– Cette option est utilisée pour créer un compte système, c.-à-d.
un utilisateur avec un UID plus petit que la valeur de UID_MIN
définie dans /etc/login.defs. Notez que useradd ne créera pas de
répertoire personnel pour un tel utilisateur, et ce quel que soit le
réglage par défaut présent dans /etc/login.defs. Vous devez
spécifier l'option -m si vous désirez la création d'un répertoire
personnel pour un tel utilisateur. C'est une option ajoutée par
Red Hat.
Commandes
de gestion des utilisateurs
-p mot_de_passe
– Le mot de passe chiffré
-s shell
– Le nom du shell de connexion de l'utilisateur. Le comportement
par défaut est de laisser ce compte vide, ce qui fait sélectionner
au système le shell de connexion par défaut.
-u uid
– La valeur numérique de l'ID de l'utilisateur. La valeur doit être
non négative. Le comportement par défaut est d'utiliser la plus
petite valeur d'ID plus grande que 99, et plus grande que celle
de n'importe quel autre utilisateur. Les valeurs comprises entre 0
et 99 sont typiquement réservées aux comptes systèmes.
Commandes
de gestion des utilisateurs
Exemple :
vous voulez créer l'utilisateur toto et :
• inclure le commentaire : utilisateur toto.
• définir son shell : /bin/zsh.
• définir son répertoire personnel : /home/toto.
• recopier le contenu de /etc/skel dans son répertoire.
• faire en sorte qu'il appartienne aux groupes dev et audio.
• faire en sorte que le compte soit désactivé immédiatement après
expiration du mot de passe.
Vous taperez :
# useradd -c "utilisateur toto" -f 0 -G dev,audio -m -k /etc/skel -s
/bin/zsh toto
Commandes
de gestion des utilisateurs
• créer l'utilisateur toto appartenant au groupe video (qui doit exister),
dont le répertoire personnel /home/toto.
Syntaxe :
# userdel options login
Exemple:
# userdel -r user1
Vous pouvez utilisez les mêmes options que celles utilisées avec la
commande useradd. En plus de quelques options spécifiques.
1er Exemple :
# usermod -d /home/toto -m tutu
change le répertoire personnel de tutu en /home/toto.
Commandes
de gestion des utilisateurs
2ème exemple :
# usermod -l toto tutu
change le nom de l'utilisateur tutu en toto.
Pour que ça fonctionne, tutu ne doit pas être connecté à la machine au
moment où l'on tape la commande.
Note:
Pour que les modifications soient effectives, l'utilisateur concerné par
les modifications doit se déloguer puis se reloguer.
Commandes
de gestion des utilisateurs
La commande « chage »
Permet de changer les informations relatives à l'expiration des mots de
Passe.
Syntaxe:
# chage [-l] [-m mindays] [-M maxdays] [-d lastday] [-I inactivedays]➦
[-E expiredate] [-W warndays] username
Options:
-l, --list
Afficher les informations sur l’âge des comptes.
Exemple: # chage -l user1
Commandes
de gestion des utilisateurs
-m, --mindays JOURS_MIN
Définit le nombre minimum de jours entre chaque changement de mot
de passe à MIN_DAYS. Une valeur de zéro pour ce champ indique
que l'utilisateur peut changer son mot de passe quand il le souhaite.
Exemple :
# passwd toto
Syntaxe :
# groupadd option groupe
Exemple :
# groupadd modem
Options :
f : Permet de ne pas afficher le message d’erreur lorsque le groupe ou le
GID du nouveau groupe existe déjà.
g: Permet de choisir la valeur numérique du GID du nouveau groupe. Cet
identifiant doit être unique.
r: Permet d'ajouter un groupe système dont le GID est inférieur à 500.
Commandes
de gestion des groupes
Supprimer un groupe:
Syntaxe :
# groupdel groupe
ou bien
# groupdel GID
Remarque:
On ne peut pas supprimer un groupe si c'est le groupe principal d'un
utilisateur.
Commandes
de gestion des groupes
Modifier les informations d’un groupe:
# groups user1
=> les groupes auxquels appartient un utilisateur.
# groups
=> les groupes de l'utilisateur courant.
Commandes
de gestion des groupes
Lister les membres d'un groupe:
Cette ligne vous indiquera qui sont les utilisateurs du groupe grp1.
Le fichier /etc/passwd
Le fichier /etc/passwd contient les informations relatives à tous les
utilisateurs du système.
Exemple :
login:mot-de-passe:UID:GID:info-utilisateur:répertoire-principal:shell
Le fichier /etc/passwd
• login: l'identifiant que doit entrer l'utilisateur pour s'authentifier.
• mot-de-passe: le mot de passe crypté en md5. Ce champ peut
prendre plusieurs valeurs :
– !! : le compte est désactivé.
– x ou ! : le mot de passe est dans un fichier shadow.
– champ vide : il n'y a pas de mot de passe pour ce compte.
• UID : identifiant unique de l'utilisateur, sous forme de valeur numérique.
L'utilisateur root possède l'UID 0.
Les UID inférieurs à 100 sont réservés aux comptes système.
• GID : identifiant du groupe principal de l'utilisateur.
• info-utilisateur : nom complet et autres informations telles que le
numéro de poste... Chaque information est séparée par une virgule.
• répertoire-principal : répertoire dans lequel sont stockés les fichiers
appartenant à l'utilisateur. En général de la forme /home/toto.
• shell : indique quel interpréteur de commandes sera lancé après
l'authentification.
Le fichier /etc/passwd
Le fichier /etc/passwd est accessible à tout le monde car certaines
commandes ont besoin de connaitre la liste des utilisateurs ou la
correspondance login/UID.
Le fichier /etc/shadow
Exemple:
nabil:$1$7m/dHPgS$AUT9o4BTdkZ/jiMC.Of8D.:13532:0:99999:7:::
groupname:password:gid:logname1,logname2,logname3,...
Structure:
groupname:password:administrators:members
Syslogd:
est un démon permettant de rediriger vers des fichiers ou des terminaux les
messages envoyés par d’autres services ou par le noyau Linux.
Exemple:
les messages d’informations ou d’erreurs émis par le système de messagerie
(ex : Postfix), sont enregistrés grâce à syslogd dans le fichier
« /var/log/mail.info ».
Gestion des logs sous Linux
Configuration:
Le fichier « /etc/[r]syslog.conf » est le principal fichier de configuration du
démon « syslogd ».
Syntaxe générale:
Chaque ligne de ce fichier indique le type du message (appelé Service
ou Facility en anglais), le niveau de gravité (appelé Priorité) et sa destination
(fichier, terminal,...).
Service.Priorité Destination
Exemple:
La ligne suivante permet d’envoyer les messages d’information des
programmes de messagerie dans le fichier « mail.info » :
mail.info /var/log/mail.info
mail,news.info /var/log/mail_news
mail.=err /var/log/mail.err
Gestion des logs sous Linux
• Le signe « * » pour traiter toutes les « Services »
La commande suivante permet d’envoyer les messages d’erreurs de
toutes les « Services » dans le fichier « error »
*.error /var/log/error
Exemple :
mail.* /var/log/mail
Gestion des logs sous Linux
Envoyer les logs dans une console
La ligne suivante permet d’envoyer tous les logs dans la console
« tty8 » (CTRL+ALT+F8) :
*.* /dev/tty8
Les lignes suivantes permettent d’envoyer les logs des mails dans le
fichier « mail » et en même temps sur la console « tty8 »
mail.* /var/log/mail
mail.* /dev/tty8
*.* @pgdebian
Gestion des logs sous Linux
Logger:
est un utilitaire fourni avec syslog, qui vous permet d'envoyer des
messages directement à syslog.
Exemple:
logger -p ftp.info "Message pour voir".
Exemple:
# logger -t Test "Voici le message"
Gestion des logs sous Linux
Logrotate:
# vi /etc/logrotate.conf :
# cd /var/log
# ls –l
Remarque: Les dates de modification de messages.*
Gestion des logs sous Linux
Quelques commandes pour consulter les logs:
L’architecture NTP:
Le serveur de temps NTP
Configuration des clients NTP:
Attention:
Il faut penser à bloquer les requêtes NTP en provenance d’autres
postes clients: ajouter «restrict default ignore » dans le fichier ntp.conf
Le serveur de temps NTP
Configuration d'un serveur NTP:
Format du fichier:
Minute Heure Num_jour_dans_le_mois Num_du_mois
Num_du_jour_dans_la_semaine commande_à_automatiser
• Le caractère étoile signifie que le champ est toujours vérifié. S’il est
placé sur le mois par exemple, la commande sera exécutée quelque
soit le mois.
# crontab -l
liste la crontab active
# crontab -e
édite par vi et modifie la crontab active, on ne doit pas passer
directement par vi
# crontab -r
supprime la crontab active
Programmation des tâches
Exemples:
0 9-17 * * 1-5 /etc/init.d/httpd restart
0 12 * * 5 sh /home/olivier/exemple.sh
il nécessite d'être lancé par des scripts de démarrage, par des tâches
cron (on utilise bien souvent une tâche cron.hourly), ou encore d'être
lancé manuellement.
Ce qui correspond à :
- periode : fréquence (en jours) utilisée pour l'exécution de la commande ;
- delai : temps d'attente en minutes ;
- tâche : description de la tâche ;
- commande : commande à exécuter.
Pour chaque tâche, Anacron vérifie si elle a été lancée dans les n derniers
jours, n étant la périodicité définie pour cette tâche. Sinon, Anacron lance la
commande relative à la tâche, après avoir attendu pendant le nombre de
minutes défini comme paramètre de délai.
Programmation des tâches
# at 20:00 10/21/05
Une fois que vous entrez cette commande, un prompt apparait :
at> firefox
at>
Pour sortir du prompt appuyez sur CTRL+D.
# atq
4 2005-10-23 00:00 a nadir
5 2005-10-21 21:52 a nadir
# atrm 5
# atq
4 2005-10-23 00:00 a nadir
Fin