ADMINISTRATION UNIX 1 Réalisé par : FOUAD ABOU-EL KHAIR EL MOSTAPHA CHAKIR
Objectifs 2 Savoir comment installer un serveur CentOS optimisé Comment le connecter au réseau Comment installer Webmin, le configurer et l’utiliser Comment optimiser l’accès par SSH Savoir les commandes de base et réseau
Plan 3 UNIX Linux Organisation des répertoires Partitionnement de disque dur Les types d’installation d’un serveur linux LVM Pourquoi CentOS ? Démarche d’installation Les commandes de base Les commandes réseau Connexion au réseau SSH Optimisation SSH Les commandes d’installation des logiciels sous linux Gestion des utilisateurs Gestion des drois des utilisateurs Installation et configuration Webmin Arrêt des services Inutilisés
UNIX 4 Désigne une famille de systèmes d'exploitation dont le premier a été conçu aux laboratoires Bell UNIX est un système d’exploitation multitâches et multiutilisateur créé en 1969.
Historique UNIX : Il y a beaucoup de débats sur les mérites des différents langages de programmation (PL/1, APL, Simula, ALGOL 60, COBOL, FORTRAN, etc.) 1967: Dennis Ritchie quitte Harvard pour travailler aux Laboratoires Bell dans le New Jersey : Ken Thompson quitte Berkeley, pour se joindre à une équipe de spécialistes qui avaient travaillé sur les systèmes Multics. 1969: Thompson et Ritchie produisent la première édition de UNIX 1970 La primitive « fork » est ajoutée pour permettre la création de processus et des programmes utilitaires pour la gestion des fichiers(2éme édtion) 1971: Thompson et Ritchie publient la première documentation du système. C'est la troisième édition.
Historique UNIX : UNIX est amélioré en lui ajoutant la notion de relais (pipe) 1973 UNIX est réécrit en langage C (quatrième édition) Plusieurs universités commencent à utiliser UNIX et la cinquième édition 1975 La sixième édition de UNIX est produite et devient la première à être commercialisée 1977 Près de 500 sites utilisent UNIX Il y a environ sites UNIX 1989 Le projet GNU (GNU's not UNIX) a pour objectif de remettre UNIX dans le domaine public
Linux 7 Linux est un Système d’exploitation libre. C'est une implémentation libre du système UNIX. Il permet de travailler comme on le ferait sous Windows. Mais il fonctionne différemment. Certains voient encore Linux comme un horrible système plein de commandes compliquées. Ce n'est plus vrai. C’est un système d’exploitation sécurisé, on n’a pas besoin d’installer des antivirus le cas de Windows. C’est un système orienté serveurs.
Historique Linux Initiateur du projet: Linus Torvalds Association avec le projet GNU: Le Système GNU/Linux (compilateur gcc) 1995 apprition de RedHat, Caldera ou VA Linux, Mandrake… 1996 Début du projet KDE 1999 Linux est présent sur 35% des serveurs d'entreprises
Distributions linux 9 Debian: Ubunto, Kubunto, Xubunto…. SlackWare SuSE: Open SusE RedHat: Fedora, Mandrake, Mandriva, CentOS… Gentoo ….
10 Ken Thompson concepteur des systèmes UNIX Dennis MacAlistair Ritchie inventeur du language C et co- développeur de UNIX Richard Matthew Stallman créateur du projet GNU et père du Open Source. Linus Torvalds Créateur du noyau linux Steve Wozniak Steve Jobs Fondateurs de Apple Et Mac OS
Pourquoi CentOS ? 11 Support gratuit. Mises à jour applicatives et les patchs de sécurité réguliers. Stabilité quasi-équivalente à la distribution Red Hat utilisé dans de gros environnements de production. L'outil "YUM" facilitant l'exploitation et la gestion des paquets au format RPM. Nombreux manuels en ligne en français et en anglais. Système principalement destiné aux serveurs
Organisation des répertoires 12
Organisation des répertoires 13
Partitionnement 14 Les bons pratiques : éviter le partitionnement par défaut proposé lors de l’installation ne pas faire une partition unique « / » pour l'intégralité du serveur Réserver le plus possible de l'espace aux partitions de données comme /var ou /home C’est préférable de créer pour /var/log toujours une partition distincte Eviter de mélanger les data avec le binaire, donc /var d'un coter et /usr /bin, /sbin d’un autre coté.
Les types d’installation d’un serveur 15 Pour serveur web : Il faut créer des partitions séparé : /var, /, /tmp, /home, /boot et une partition swap. C’est dans /var que sera installé les fichiers, donc il faut donner une taille importante à cette partition. Ou même créer des partitions séparés pour /var/www et /var/log. Exemple : pour un disque de 82 Go : /var/www : 50 go /var/log : 10 go / : 8 go swap : 2go /home : 5 go /usr : 5 go /tmp : 2 go
Les types d’installation d’un serveur 16 pour serveur messagerie : Il faut suivre les bons pratiques et partitionner le disque d’une façon à avoir une partition /var/mail volumineuse pour stocker les courriers. pour serveur FTP: Il faut suivre les bons pratiques et partitionner le disque d’une façon à avoir une partition /srv volumineuse pour stocker les fichiers et une autre pour /home.
LVM 17 Avec la gestion par volume logique : Le disque entier est alloué à un groupe de volumes A partir de ces groupes on crée des volumes logiques Ce sont ces volumes logiques qui contiendrait les systèmes de fichiers /var, /home,… Si un des volumes logiques est saturé, mais reste de l’espace libre sur un autre volume logique, donc il est possible de réalloué cet espace libre à la partition saturé. On peut même allouer un espace minimal pour chaque volume logique, et laisser une partition non alloué, et âpres étendre l’espace des partitions suivant le besoin. On peut aussi ajouter des nouveaux disques, et étendre les partitions saturé.
INSTALLATION DE CentOS Pour installer CentOS, il faut disposer du DVD ou les sept CD contenant le système. On le lance et on suit les étapes suivantes : 18
Etape 1 19 pour lancer l’installation en mode texte,il faut lancer le DVD, et écrire « linux text » Deux méthodes d’installations: En mode graphique En mode texte
Etape2 20 Vérification de la qualité du CD. pour éviter d’être planté dans l’installation à cause d’un fichier illisible. Si on est sûr de la qualité du CD, on peut éviter cet étape
Etape3 21 Choix de la langue: C’est la langue avec la quelle on continue l’installation
Etape 4 22 Choix du clavier: Choix du model de clavier On choisit souvent fr- latin1 pour un clavier AZERTY
Etape 5 23 Initialisation des partitions: On doit initialiser la table des partitions Dans ce cas tous les fichier contenu dans le disque vont être effacés
Etape 6 24 Type de partitionnement: On choisit la dernière pour personnaliser et partitionner suivant le besoin
Etape 7 25 Création des partitions On choisit l’espace libre et on clique sur Nouveau pour créer une nouvelle partition
Etape 8 26 Configuration du chargeur de démarrage
Etape 9 27 Mot de passe pour le chargeur de demarage: Souvent on laisse les champs vide Ce mot de passe ne concerne pas le compte administrateur mais le chargeur de démarrage
Etape Configuration des interfaces réseaux: On n’est pas obligé de configurer les interfaces réseau dans cet étape
Etape Nom de l’hôte : On attribue à la machine un nom significatif suivant sa fonction
Etape Sélection du fuseau horaire: Pour le Maroc, on choisit : Afrique/Casablanca
Etape Mot de passe pour « root » Attribuer un mot de passe à l’utilisateur root (l’administrateur) Ce mot de passe doit être bien choisi. C.à.d. long et contenant des chiffres, des caractères spéciaux,..
Etape Sélection des paquetage à installer: C’est l’étape essentiel de l’optimisation Il ne faut installer que les packages qu’il nous faut.
Etape Lancement de l’installation:
Etape Configuration du pare-feu: Souvent on utilise des pare-feu matériel ou logiciels installée dans autres équipement. Pour ce serveur, on le désactive, pour le laisser dédié à une seul tache (ex: hebergement Web, serveur messagerie,…)
Les commandes de base 35 ls : lister le contenu d’un répertoire rm : supprimer un fichier cp : copier un fichier ln : créer un lien sur un fichier man : afficher l’aide d’une commande mv : déplacer un fichier cd : changer de répertoire mkdir : créer un répertoire rmdir : supprimer un répertoire pwd : afficher le répertoire courant cat : afficher le contenu d’un fichier file : afficher le type de contenu du fichier locate: localiser un fichier sur le disque vi : éditer un fichier nano: éditer un fichier
Les commandes de base 36 grep: Cherche une expression dans un fichier : grep –n expression nom-fichier : permet d’afficher la ligne qui contient l’expression et non le numéro. grep –l : permet de n’afficher que les noms des fichiers contenant l’expression (par exemple grep –l expr /etc/ssh/* ). grep –c : affiche le nombre de fois ou l’expression est répétée.
Les commandes de base 37 ps : Permet de connaître les processus actifs à un moment donné. ps –x : permet d’afficher tout les processus système, ceux qui ne sont pas associés au Terminal sont reconnaissable par ? dans champ TTY. ps –aux : permet d’afficher tout les processus de la machine de tout les utilisateurs. pstree : affiche les processus sous forme d’arboréssance et de voir leur dépendances.
Les commandes de base 38 tail :Cette commande permet d’afficher les dernières lignes d’un fichier. head : La même chose que tail mais elle affiche les premières lignes du fichier. head –n nom-fichier : tel que n est nombre ; cette commande permet d’afficher les n premiers ligne du fichier.
Les commandes réseau 39 Ifcongig: InterFace CONFIGuration, permet de configurer les interfaces réseau de la machine ping: envoie des datagrammes ICMP à des hôtes sur un réseau route: Route manipule la table de routage IP du noyau ssh: Secure SHell est un programme qui permet de se connecter sur une machine distante. traceroute: affiche les paquets routés sur le réseau depuis un hôte.
Les commandes réseau 40 netstat : C’est une commande qui permet de savoir les connexions TCP actives sur la machine Certain nombre des arguments optionnels: netstat [-a] [-e] [-n] [-o] [-s] [-p PROTO] [-r] netstat-a : affiche l'ensemble des connexions et des ports en écoute sur la machine. netstat-e : affiche les statistiques Ethernet. Ethernet netstat-n : affiche les adresses et les numéros de port en format numérique, sans résolution de noms. résolution de noms netstat-o : donne le numéro du processus associé à la connexion.
Les commandes réseau 41 netstat-p : suivi du nom du protocole (TCP, UDP ou IP), affiche les informations demandées concernant le protocole spécifié. tail : netstat-r : affiche la table de routage. netstat-s : la commande netstat affiche les statistiques détaillées par protocole. netstat-i : table d’interface noyau. netstat-u : UDP. netstat-t : TCP. netstat-l : processus en état listen.
Connecter la machine au réseau 42 L’adresse ip : ifconfig eth Le masque : ifconfig eth0 netmask La passerelle : route add default gw On configure le DNS à partir du fichier /etc/resolv.conf en ajoutant la ligne: «nameserver »
SSH 43 Pour se connecter a une machine à distance on écrit dans un terminale: ssh adresse_ip Exemple: ssh Pout utiliser SSH dans une plateforme windows on utilise le logiciel putty
Optimisation SSH 44 Optimisation SSH consiste à Désactiver la connexion via SSH du super-utilisateur root, et limiter la connexion utilisateurs pour raison de sécurité. Pour ce faire on doit éditer le fichier /etc/ssh/sshs-config comme suite : On dé-commenter et on change yes par no à la ligne : PermitRootLogin no Après on ajoute la ligne suivante pour donner la permission juste pour l’utilisateur application : AllowUsers application
Les commandes d’installation des logiciels sous linux 45 Vous devez être super utilisateur (root) # yum update mise à jour du système # yum list Pour rechercher un paquet # yum install pour installer un paquet # yum remove pour supprimer un paquet # yum groupinstall « Nom du Groupe » pour un installer un groupe de paquets
Les commandes d’installation des logiciels sous linux 46 # wget _paquet_à_télécharger: telecharger un paquet # rpm -ivh nom_paquet_xxx.rpm installer un paquet # rpm -e nom_paquet désinstaller un paquet
Gestion des utilisateurs 47 Un utilisateur du système: Personne physique Droits d’accès au système Répertoire personnel Groupe d’utilisateur Un utilisateur particulier: « root » Administrateur du système Possède tous les droits sur le système, les utilisateurs et les fichiers A n’utiliser que pour la configuration et l’installation
Gestion des utilisateurs 48 Identification d’un utilisateur: Nom: « login » Mot de passe: « password » Référencement de tous les utilisateurs dans le fichier « /etc/passwd » et/ou «/etc/shadow» Référence à un groupe: « /etc/group » Répertoire personnel: « /home/ »
Gestion des utilisateurs 49 Commandes utilisables par root: « adduser »: ajouter un utilisateur « deluser »: supprimer un utilisateur Commande utilisable par tous les utilisateurs « passwd »: changer le mot de passe
Gestion des Droits d’Accès 50 3 types de permissions: Lecture (Read) Écriture (Write) Exécution (eXecute) À la création: droits par défaut Trois catégories d’utilisateur pour un fichier: Le propriétaire (User) Les membres du groupe (Group) Les autres (Other) Chaque fichier est associé à un propriétaire et à un groupe Commande pour afficher les droits: « ls –l »
Gestion des Droits d’Accès 51 Droits d’Accès sur les Fichiers Commandes pour la gestion des accès: « chown »: change le propriétaire « chgrp »: change le groupe « chmod »: change les droits d’accès: « chmod +r fichier.txt »: positionne l’accès en lecture « chmod –r fichier.txt »: enlève l’accès en lecture « chmod o-x fichier »: enlève l’accès en exécution pour les autres « chmod go-x fichier »: enlève l’accès en exécution pour les membres du groupe et les autres
Installation de webmin 52 Webmin est un interface WebMin permet d'administrer à distance une machine Linux à partir d'un simple navigateur. Voici les instructions pour installer rapidement l'interface d'administration WebMin sous CentOS:
Installation de webmin 53 On utilise la commande « wget » pour telecharger la paquet webmin et on lance l’installation avec la commande « rpm –i ». Après l’installation on démarre le service webmin: # service webmin start On accède à webmin à partir d’une machine distante connectée au réseau, on utilisant l’adresse IP du serveur ( ) et le port comme suite : On s’authentifie avec le compte root pour la première fois.
Configuration webmin 54 On change le thème et la langue pour avoir une interface plus claire
55 On télécharge le module SSLeay Perl pour que l’accès à webmin se fasse en HTTPs et pas en http, afin que les informations soient cryptées. Configuration webmin
56 Configuration webmin
Arrêt des services Inutilisés 57 Arrêt des services inutiles ; on laisse que : Crond : Ce processus exécute des commandes et des programmes d’une manière périodique (quotidiennement, hebdomadairement, mensuellement). LVM2-monitor : gestion, sécurisation, optimisation des espaces de stockage de disque dur. Network : Service réseau, pour configurer l’adressage IP des interfaces. Sshd : Services SSH Syslog : Service permet d’enregistrer les fichiers journaux (log), dans le répertoire /var/log Webmin : Service d’arrêt et de démarrage de webmin. Et on doit s’assurer qu’il n’y a que deux ports qui sont ouverts pour Webmin et 22 pour SSH