TP 1: Installation d`un serveur GNU/Linux Administration Linux de

Transcription

TP 1: Installation d`un serveur GNU/Linux Administration Linux de
TP 1: Installation d'un serveur GNU/Linux
Administration Linux de base
Nom :
Prénom :
Date :
Numéro :
Objectifs :
–
–
–
–
Installer un PC serveur GNU/Linux (installation réseau FTP/NFS/HTTP par CD bootable spécial, ou
n'utilisant que le premier CD de la distribution,).
Visiter les principaux fichiers de configuration utiles à l'administration d'un serveur Linux.
Réaliser des opérations élémentaires d'administration « à la main » :
– utiliser des commandes de base d'administration (mount, mkfs, df , ...)
– gérer les comptes utilisateurs, ...
– installer des serveurs usuels (ssh, ftp).
Utiliser le shell (commandes, redirections, filtres) en interactif, et comme langage de programmation
(scripts d'administration).
☞ 99% des commandes et des fichiers de configuration sont documentés dans le « Manuel Unix »,
accessible par la commande man. La recherche d'une expression dans les pages affichées fait « à la
vi » (/expression return, puis touche « N » pour chercher plus loin (Next) ou « SHIFT+N » pour
chercher en arrière.
On peut aussi obtenir des infos sur une commande en l'invoquant avec comme seul argument ­h (ou
- -help).
☞ une grande partie de la formation d'un administrateur système Unix vient de l'auto-formation grâce au
manuel !
1 Installation réseau GNU/Linux pour un serveur
☞ L'adresse IP du serveur utilisé pour l'installation (PC zeus) sera précisée en séance.
☞ Le « path » d'installation mentionné doit décrire le chemin d'accès au répertoire « media» sur le
serveur FTP /NFS/HTTP , qui contient l'arborescence (main, main2, main3, main4, main5 etc ...)
correspondant aux CD de la distribution.
Ce « path» site-dépendant sera précisé en séance.
a - Installation personnalisée de « Mandriva 2006 » (lire avant d'installer)
☞ Langue : Europe – Français / Clavier : Français / Niveau de sécurité : standard
☞ Partitionnement personnalisé, planifié comme suit :
● si le PC possède une installation Windows, la conserver ;
● si le PC possède une installation antérieure de GNU/Linux, la supprimer ;
● établir le partitionnement de la distribution à installer selon la grille suivante :
swap
Partition ext3
montée sur /
~ 512 Mo
●
~512 Mo
Partition ext3 Partition ext3
Partition ext3
Partition vfat
montée sur /usr
montée sur /var
montée sur /home
pas montée
~3 à 4 Go
~1 à 3 Go
~512 Mo
~0.5 à 1Go
Toutes les partitions seront formatées à l'installation, sauf la partition vfat.
Administration Unix v1.1
page 1/9
b - booter le PC sur le CD
Installation par le CD1 de la distribution publique :
☞ booter sur le premier CD de la distribution Mandriva.
☞ ne mentionner que le « CD 1 » comme disponible de façon à forcer l'installation à utiliser le service
FTP/NFS/HTTP (selon la configuration disponible) à la place des autres CD.
Installation par le CD spécial :
☞ booter sur le CD spécial (CD bootable contenant l'image /install/images/boot.iso du CD
Mandriva 2006)
☞ Finir l'installation avec le protocole FTP/NFS/HTTP selon la configuration de la salle de TP.
Suite de l'installation :
☞ Mot de pase root : «azerty*».
☞ Ne pas créer d'utilisateurs.
☞ Ne pas activer le démarrage d'une session automatique pour un utilisateur (comportement à la
Windows98)
☞ Créer le programme de démarrage (bootloader lilo) en MBR.
☞ Arrivé au résumé de l'installation, passer au paragraphe suivant.
c - Résumé de l'installation et fin
☞ Configurer l'interface graphique : ne pas lancer automatiquement l'interface graphique au démarrage.
☞ Configurer le réseau : vérifier le choix DHCP et les autres paramètres. Le nom FQDN des PC sera
choisi en séance.
☞ Configurer lilo :
- activer l'acpi,
- pour les PC comportant une partitions Windows, ajouter la possibilité de booter windows.
☞ Finir l'installation : ne pas télécharger de mises à jour ;
☞ re-démarrer le PC sous GNU/Linux.
d - Post installation, information sur le matériel, fichiers de configuration
Se connecter sous le compte root.
Informations sur le boot et les périphériques reconnus au boot
☞ Visualiser les messages de boot avec la commande dmesg.
☞ Comment faire défiler la sortie de dmesg page par page ?
:
☞ Analyser les informations de dmesg.
☞ Comment écrire la sortie de dmesg dans un fichier mess.txt
:
☞ Éditer le fichier mes.txt avec l'éditeur vi :
- Fichier spécial associé au lecteur de disquette ? :
/dev/fd0
- Fichier spécial associé au lecteur CD/DVD ?
:
/dev/hdc
☞ Comment filtrer la sortie de dmesg pour afficher la
fréquence bus IDE ?
:
- Quel est la fréquence du bus IDE ?
:
33 MHz
tail ­f /var/log/message
dmesg > mess.txt
Fichier /etc/lilo.conf
☞ Éditer le fichier /etc/lilo.conf sous vi:
- modifier l'entrée linux pour ajouter l'option « idebus=66 », sauvegarder le fichier.
- valider la modification en tapant la commande lilo.
- rebooter et vérifier le changement de fréquence du bus IDE.
Administration Unix v1.1
page 2/9
Informations sur le matériel du PC : pseudo filesystem /proc
☞ Lister le contenu du répertoire /proc.
À quoi correspondent les répertoires dont le nom est un numéro: numéros des processus (PID)
☞ Visualiser les informations sur le CPU : cat /proc/cpuinfo
Type du processeur ?
:
Fréquence d'horloge du processeur ?
:
Taille du cache ?
:
☞ Visualiser les informations sur la mémoire : cat /proc/meminfo
Total de la RAM en kB ?
:
Capacité du swap ?
:
Informations sur le matériel du PC : bus PCI
☞ Visualiser les informations sur le BUS PCI avec le commande lspci [­v]
Type de la carte graphique ?
:
Taille de la mémoire de la carte graphique :
Traces de l'activité du système : syslog
Syslog est un service de log (enregistrement) des événements systèmes : les démons klogd et
syslogd centralisent les demandes d'écriture de messages provenant du noyau, des modules du noyau,
des autres démons et de façon générale de tout processus s'exécutant dans la machine. Les écritures se
font dans des fichiers situés dans le répertoire /var/log.
Syslog assure également un service de compression et de rotation périodique (à la semaine) des différents
fichiers de log.
☞ La consultation régulière du contenu (et de la taille) des fichiers log est une nécessité pour un
administrateur système!!
☞ Vérifier le statut du service syslog
:
☞ Visualiser le fichier /var/log/message ☞ Visualiser le fichier /var/log/syslog
☞ Se connecter root dans la cinquième console (ALT + F5)
☞ Visualiser en continu /var/log/message :
☞ Revenir dans la première console (root) (ALT + F1)
/etc/init.d/syslog status
tail ­f /var/log/message
Partitions et fichier /etc/fstab
Quelques commandes sont indispensables à connaître pour manipuler les partitions disques :
– mount
: monter une ressource de type disque sur un point de montage (répertoire)
– umount
: « démonter » une partition (on ne peut pas démonter une partition utilisée)
– fuser
: lister les processus qui se servent dun fichier
– mkfs ­t type
: formater une partition selon le type indiqué (ext2, ext3, vfat, ...)
– fsck
: vérifier l'intégrité d'une partition (non montée) et réparer les éventuels défauts.
Fichiers de configuration utiles :
– /etc/fstab
: liste des partitions à monter au démarrage avec toutes les options de montage
– /etc/mtab
: liste des partitions montées (information dynamique).
Administration Unix v1.1
page 3/9
☞ Vérifier les informations de montage des partitions dans le fichier /etc/fstab
- options actuelles de montage du lecteur disquette ? :
☞ Modifier les options de montage de la disquette (éditer /etc/fstab) :
- répertoire de montage : /mnt/floppy
- type de filesystem : auto
- options : umask=0,user,iocharset=iso8859­15,sync,codepage=850,noauto
vérifier la signification des options (voir man mount)
- rang de dump : 0
- rang de check : 0
☞ Créer un filesystem vfat dans la partition réservée :
☞ Démonter la partition /home
:
☞ Vérifier le filesystem correspondant à /home (fsck):
☞ Créer un répertoire /mnt/dos
:
Monter la partition vfat sur ce répertoire
:
☞ Vérifier qui utilise /mnt/dos avec fuser ­av :
☞ Se déplacer dans /mnt/dos (cd)
:
☞ Essayer de démonter /mnt/dos
:
Quel est le résultat ?
:
☞ Vérifier qui utilise /mnt/dos
:
☞ Libérer /mnt/dos (se déplacer ailleurs)
:
☞ Démonter la partition liée à /mnt/dos
:
Commandes rpm/urpm
Les commandes urpm sont des extensions au système RPM développées par Mandriva et distribuées
sous licence GPL :
– urpmi : installer un paquet (install)
– urpmq : demander des infos (query)
– urpme : supprimer un paquet (erase)
– urpmf : quels sont les paquets qui continnent un fichier donné (file)
Tous les fichiers de configuration et de données du système rpm sont rangés dans le répertoire
/var/lib/rpm/ ; ceux du système urpm sont dans /var/lib/urpmi.
☞ Lister tous les paquets installés : rpm ­q ­a (query all)
Comment visualiser la sortie précédente page par page ? :
☞ Lister tous les paquets de la distribution (urpmq ...) ?
:
☞ Comment savoir si le paquet telnet est installé ? :
☞ Lister les fichiers contenus dans le paquet telnet :
☞ Comment désinstaller le paquet telnet ?
:
☞ Lister les paquets de la distribution qui ont un rapport
avec ssh
:
☞ Installer les paquets ssh serveur et client
:
☞ Lister les fichiers du paquet ssh serveur
:
☞ Vérifier que le service sshd est bien dans lancé au
démarrage de la machine
:
☞ Lancer le service ssh (<=> lancer le serveur sshd )
Administration Unix v1.1
:
page 4/9
2 Administration de base
a - Gérer les comptes utilisateurs
Le système Unix permet de définir des utilisateurs et des groupes.
Tout utilisateur d'un système Unix possède :
– un identifiant d'utilisateurs (UID : User Identification)
(Usage : UID < 500 : système; UID >= 500 : utilisateur)
– un identifiant de groupe principal (en plus de son groupe principal, un utilisateur peut appartenir à
plusieurs autres groupes secondaires) GID : Group Identification
(Usage : GID < 500 : groupe système; GID >= 500 : groupe utilisateur)
La gestion des utilisateurs et des groupes peut se faire :
– à la main (édition manuelle des fichiers /etc/passwd, /etc/shadow et /etc/group ...)
– en utilisant des commandes standard d'administration : useradd, groupadd, chsh
– en utilisant des utilitaires graphiques (Mandriva : drakconf).
Ajout d'un utilisateur : les tâches à planifier sont :
– déterminer le nom de login, le numéro UID, le groupe et le répertoire d'accueil
– ajouter le compte utilisateur, avec un mot de passe initial
– éventuellement : créer le répertoire d'accueil
– éventuellement : mise en place de quotas, copie de fichiers de configuration de base ...
– rendre l'utilisateur propriétaire de l'arborescence (chown ­R ... / chgrp ­R )
Fichier /etc/passwd : liste des utilisateurs
Chaque ligne, constituée de champs séparés par le caractère « : », décrit un (pseudo) utilisateur :
login:mot_de_passe_crypté:UID:GID:commentaire:répertoire_home:programme_lancement
Pour des raisons de sécurité, le mot de passe crypté ne figure plus dans le fichier passwd, mais dans le
fichier shadow.
☞ Visualiser le fichier /etc/passwd (vi, cat, ...) : remarquer les variantes concernant le programme de
lancement.
☞ quels sont les droits d'accès du fichier /etc/passwd ?
: ☞ quels sont les droits d'accès du fichier /etc/shadow ?
:
Fichier /etc/shadow : gestion des mots de passe des utilisateurs
Chaque ligne (champs séparés par des « : ») décrit le mot de passe d'un utilisateur et des informations sur
les dates de création, d'expiration.
☞ Rechercher dans le manuel en ligne la description des champs du fichier /etc/shadow.
☞ Quel est le rang du champ donnant le nombre de jours
durant lesquels le mot de passe est encore valide ?
:
Fichier /etc/group : liste des groupes
Chaque ligne (champs séparés par des « : ») décrit un groupe : champs séparés par le caractère « : »
nom_groupe:x:GID:liste_des _membres
☞ Visualiser le fichier /etc/group (vi, cat, ...).
Nota : il existe un fichier /etc/gshadow, qui joue le même rôle que /etc/shadow pour les groupes,
mais le champ « mot de passe » n'est plus utilisé pour la gestion des groupes.
Administration Unix v1.1
page 5/9
Ajouter/Supprimer un groupe
Le plus simple pour supprimer un groupe est de supprimer la ligne correspondante dans le fichier
/etc/group.
☞ Consulter l'aide en ligne sur la commande groupadd
☞ Utiliser groupadd pour ajouter le groupe tpadmin (2222) :
☞ Vérifier la modification dans le fichier /etc/group
☞ Ajouter « à la main » le groupe tp (2223) en éditant directement le fichier /etc/group.
Ajouter/Supprimer/Vérouiller/Dévérouiller un utilisateur
Le plus simple pour supprimer un compte utilisateur est de supprimer les lignes liées à ce compte dans
les fichiers concernés (/etc/passwd, /etc/shadow et /etc/group), et de gérer « à la main » la
suppression éventuelle ou l'archivage de ses données sur disque.
La commande adduser (présente sur beaucoup de distributions de GNU/Linux) n'est pas standard :
mieux vaut utiliser la commande useradd.
☞ Consulter l'aide en ligne sur la commande useradd et les options possibles.
☞ Ajouter l'utilisateur guest : UID = 1111 avec la commande useradd.
☞ Vérifier la création du compte guest dans les fichiers /etc/passwd, /etc/shadow et
/etc/group. Observer les valeurs par défaut des options non précisées : groupe, home, shell ...
☞ Modifier « à la main » (i.e. éditer /etc/passwd sous vi) le groupe de l'utilisateur guest : remplacer
le GID existant par celui du groupe users.
☞ Changer récursivement le groupe du répertoire de connexion de guest :
chgrp ­R users ~guest
☞ Donner un mot de passe à l'utilisateur guest : passwd guest.
☞ Activer la deuxième console (ALT + F2)
☞ Se connecter comme utilisateur guest.
☞ Revenir dans la première console (root) (ALT + F1)
☞ verrouiller le compte guest : passwd ­l guest.
☞ Activer la troisième console (ALT + F3)
☞ Tenter une connexion guest.
☞ Revenir dans la première console (root) (ALT + F1)
☞ déverrouiller le compte guest : passwd ­u guest.
Correction automatique des incohérence
Dans certains cas, on peut détecter et corriger rapidement des incohérences entre fichiers de configuration
en utilisant :
– pwck (password check), pour vérifier les fichiers passwd et shadow,
– grpck (group check), pour vérifier les fichiers group et gshadow.
☞ Lancer les commandes pwck et grpck. Observer les résultats éventuels.
Administration Unix v1.1
page 6/9
b - installer/démarrer/arrêter des services
La gestion des services sous Linux est dérivée de celle d'Unix System V (cf support de cours « Cours
d'Administration Unix » pour les détails).
Service réseau
Remarque : les cartes réseaux font partie des rares périphériques qui ne suivent pas le principe Unix « all
is file » !! Sous Linux, les cartes réseaux Ethernet sont identifiées par le symbole eth0, eth1, ...
Fichiers de configuration
Les principaux fichiers qui permettent de configurer le réseau sont :
/etc/hosts
: table des correspondance adresse IP <-> nom de machine (FQDN) et alias
/etc/resolv.conf : domaine DNS par défaut et adresse IP des serveurs DNS à contacter
/etc/nsswitch.conf : décrit quels mécanismes mettre en oeuvre pour satisfaire la
résolution de noms de machine FQDN en adresses IP.
Le format de ces fichiers est documenté dans la section 5 du manuel : man 5 hosts, man 5 resolv.conf, man 5 nsswitch.conf.
Pour les distributions de GNU/Linux compatibles RedHat, il existe de plus des fichiers de configuration
dans le répertoire /etc/sysconfig :
/etc/sysconfig/network contient des informations sur la configuration réseau :
NETWORKING yes ou no
HOSTNAME FQDN de la machine
GATEWAY
adresse IP de la passerelle
GATEWAYDEV optionnel, identification de la carte réseau pour accés à la passerelles (eth0, eth1, ...)
NISDOMAIN
optionnel, nom du domaine NIS
Commandes
/etc/init.d/network start|stop|restart|status :
pour démarrer|arréter|redémarrer|interroger le
réseau
ifconfig
route
netstat
: configurer les interfaces réseau, ou obtenir des informations sur leur fonctionnement
: afficher/modifier la table de routage
: obtenir des informations sur l'état du réseau
☞ Redémarrer le service network
☞ Examiner les informations correspondantes dans /var/log/message
☞ Examiner le contenu du fichier /etc/sysconfig/network
☞ Lancer la commande ifconfig [­a]
☞ Lancer la commande route ☞ Lancer la commande netstat ­a
☞ Visualiser le fichier /etc/hosts
☞ Visualiser le fichier /etc/resolv.conf
☞ Visualiser le fichier /etc/nsswitch.conf
Administration Unix v1.1
page 7/9
Service ssh/sftp
Le service ssh (Secured Shell) permet de se connecter sur une machine distante, avec cryptage de toutes
les données échangées. C'est un moyen « sûr » de faire de l'administration à distance. sshd peut
encapsuler du transfert de fichier « à la FTP ».
☞ Stopper le service sshd
: /etc/init.d/sshd stop
☞ Démarrer le service sshd
: /etc/init.d/sshd start
☞ Examiner les informations correspondantes dans /var/log/message
☞ Établir une connexion ssh vers un autre PC
: ssh ­l user host ou ssh user@host
☞ Examiner les informations correspondantes dans /var/log/message de la machine locale et de la
machine distante.
☞ Tester une connexion sftp sur une autre machine : sftp user@host
☞ Les commandes sftp sont les identiques à celles de FTP :
help, get, put, mkdir, delete ... (voir le manuel sur ftp pour le description des commandes)
☞ Examiner les informations correspondantes dans /var/log/message de la machine locale et de la
machine distante.
service ftp (anonyme)
Le service FTP (File Transfert Protocole) permet d'échanger des fichiers entre une machine locale et une
machine distante. Pour éviter la circulation en clair du login/password, on peut utiliser le service FTP
anonyme (ou encore la commande sftp qui fournit un pseudo FTP encapsulé dans une session ssh).
☞ Installer si besoin le paquet proftpd­anonymous
☞ Re-démarrer le service proftpd
☞ Examiner les informations correspondantes dans /var/log/message
☞ Ouvrir une session ftp « anonyme » (login: anonymous, mot de passe : adresse mail) sur un machine
distante
☞ Examiner les informations correspondantes dans /var/log/message de la machine locale et de la
machine distante.
☞ Tester le transfert d'un fichier dans le sens distant -> local (download)
☞ Tester le transfert d'un fichier dans le sens local->distant (upload)
☞ Modifier le fichier de configuration de proftpd (/etc/proftpd­anonymous.conf pour
autoriser les écritures dans le répertoire pub du serveur ftp (/var/ftp/pub) :
insérer la section <Directory pub> suivante, avant la section <limit WRITE> <Directory pub>
<Limit READ STOR MKD RMD XMKD XRMD>
AllowAll
IgnoreHidden on
</Limit>
</Directory>
☞ Re-démarrer le service proftpd sur la machine distante
☞ Tester de nouveau le transfert d'un fichier dans le sens local->distant (upload).
Plannifier des tâches : cron
Unix intégre un démon crond qui est chargé de planifier le lancement de tâches avec une périodicité
réglables à la minute, l'heure et le jour.
crond gère pour chaque utilisateur un fichier crontab, qui décrit la périodicité de lancement et les
actions à lancer.
On trouve également des fichiers crontab utilisés pour la maintenance périodique de la machine
(id=root) qui sont dans les répertoires /etc/cron.daily, /etc/cron.hourly,
/etc/cron.monthly et /etc/ cron.weekly.
Administration Unix v1.1
page 8/9
☞ Format du fichier crontab : man 5 crontab
☞ Visualiser le fichier crontab de root par la commande crontab ­l
☞ Éditer le fichier crontab par la commande crontab ­e
vous êtes sous vi : taper i pour passer en mode insertion et entrer les lignes suivantes
SHELL=/bin/sh
MAILTO=root
#
0,5,10,15,20,25,30,35,40,45,50,55 * * * * echo `date` >> /root/h
quitter vi en sauvegardant (:wq)
☞ Prédire le résultat de ce fichier crontab
☞ Visualiser de nouveau le fichier crontab de root par la commande crontab ­l
☞ Visiter les fichier crontab de la machine.
Administration Unix v1.1
page 9/9

Documents pareils