Vous êtes sur la page 1sur 116

Version dimanche 29 janvier 2023

Cours du 11 janvier 2023

Cours de services réseaux

rappel sur l’objectif du cours :

Comprendre, déployer et administrer les services réseaux de base

notamment, l’apprenant doit être capable

• Savoir mettre les machines en reseaux


• comprendre et utiliser des concepts des systemes Windows et Linux en vue de gerer des
services
• Savoir partager des ressources entre machines en milieu heterogene ( Linux/Windows)
• savoir mettre en place des services de connexions et de trnsfert de fichiers de maniere
securisée (SSH)
• Savoir mettre en place de services avancés de transfert de fichier en utilisant des serveurs
FTP et des clients FTP avancés tels que Filezilla et winscp
• etudier de maniere detallée le protocole http en vue de gerer des sites web et developper e
heberger des interfaces de programmation( API) tout en gerant les formats universels
d’echange de donner des données tel que json ; l’accent sera mis sur l’utilisation des clients
HTTP avancés tels que curl et postman
• savoir mettre en place de services de resolution de noms(DNS, hosts)
• Savoir mettre en place un service de messagerie integrant un client web tel que roundcube
• savoir mettre en place des services pour le bon fonctionnement du reseau
tels le DHCP ( attribution des elements TCP/IP)et le TFTP
( Transfert de fichiers d’installation ou de configuration des SE , switch ou routeur)

Objectifs :

Mieux comprendre l’environnement Windows et partager et utiliser des ressources en reseaux

• Donner la version de votre Windows 10


Dans la barre de recherche, on tape systeme, on obtient l’ecran ci-dessus qui dit que ma version est
windows 10 professionnelle

les autres versions sont familiales et entreprises

Dans la version familiale, on ne peut gerer de maniere avancee et les utilisateurs et groupes ni
integrer la machine dans un domaine geré par le controleur Active Directory
• Donner et expliquer les profils de connexion au reseau( public, privé et domaine)

Profil public : on active les regles de securité et on desactive les partages reseaux
Profil privé : reseau sur et alleger les regles de securité, activer la decouverte des ressouces
partagées
profil domaine : les regles de securité sont definis au niveau du controleur

fig : affichage des interfaces reseaux de ma machines


fig : affichage des elements TCP/IP selon la carte reseau

• Faire la distinction entre les applications natives, facultatives et tierces sous Windows
Applications natives : sont des applications windows integr és
applications facultatives sont des applications que microsoft trouvent interessantes et qu’on peut
installer en cliquant comme suit :

gerer les fonctionnalités facultatives


ajout de fonctionnalites facultatives
on recherche le logiciel et on clique sur install ( c’est le cas du serveur openssh )

• Installer des applications facultatives sous windows

• savoir activer, desactiver, masquer, demarrer ou arreter des services


fig : services.msc , on choisit l’application a activer, desactiver,demarrer, stop

Gestion des utilisateurs et groupes

fig : users et groupes

creation de l’utisateur roger


fig : creation groupe et ajout de membre

Partage de ressources sous windows

fig partage
fig

fig droits
fig liste de partage de ma machine
rt

Quelques commandes net

net share : permet de visualiser les dossiers partages en local

net view\\IPserveur : permet de visualiser les ressources partagées sur la maichine dont l’adresse ip
a eté specifiée

net use nomlecteur : \\ipserver\nompatage : permet d’attacher un lecteur reseau à une ressource
partagée
fig decouverte ressource selon profil de connexion

Connexion ssh sur un serveur ssh windows

A partir d’une machine ayant le client openssh

ssh nomuser@ipserveur

Quand on se connecte, on est placé dans C :\Users\nomuser

Partage de ressources en environnement heterogene ( Windows et Linux)

Le protocole utilisé par des machines Windows pour partager des ressources est SMB

Samba est un logiciel qui une fois installé sous Linux permet à cette machine Linux de comprendre
le protocole SMB et par consequent de partager des ressources avec les machines Windows

Pour installer samba sous Linux, on se connecte en tant que root et on saisit :
apt install samba

Le fichier de configuration de samba est /etc/samba/smb.conf

pour faire le partage de ressource, on ajoute à la fin de ce fichier

[nompartage]
path= /doc1
browseable=yes
writeable=yes

Samba est composé de 2 demons : smbd qui s’occupe de partage de ressources


et le service nmbd qui s’occupe de la gestion des noms d’ordinateurs et de ressources partagées
NB : il faut créer un compte smb sous linux pour l’utiliser

pour cela, on cree un compte systeme et on le transforme en compte smb par la commande
smbpasswd -a nomuser

Pour avoir les equivalents de net share, net view, net use avec samba, il faut installer smbclient par
la commande :

apt install smbclient

Pour visualiser les ressources partagées sur une machine Windows d’adresse IP 192.168.2.30
smbclient -L -U nomuser

fig : liste des dossiers partagés


Pour monter des ressouces smb , il faut installer l’utilitaire cifs-utils
par la commande :
apt install cifs-utils

Montons la ressource partagée docL2 sur notre dossier dans le repertoire courant point
fig

fig

Regardons l’adresse ip de la machine samba


fig

fig : liste de dossiers partagés sous samba

fig : lecteur reseau samba

fig
fig

fig : on voit les machines windows du reseau et non ubuntu

Le service wssd de decouverte de machines sous Windows


cd /tmp

wget https://github.com/christgau/wsdd/archive/master.zip

unzip master.zip

sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

sudo cp wsdd-master/src/wsdd /usr/bin

sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

sudo nano /etc/systemd/system/wsdd.service

[Unit]
Description=Web Services Dynamic Discovery host daemon
; Start after the network has been configured
After=network-online.target
Wants=network-online.target
; It makes sense to have Samba running when wsdd starts, but is not required
;Wants=smb.service

[Service]
Type=simple
ExecStart=/usr/bin/wsdd --shortlog
; Replace those with an unprivledged user/group that matches your environment,
; like nobody/nogroup or daemon:daemon or a dedicated user for wsdd
; User=nobody
; Group=nobody
; The following lines can be used for a chroot execution of wsdd.
; Also append '--chroot /run/wsdd/chroot' to ExecStart to enable chrooting
;AmbientCapabilities=CAP_SYS_CHROOT
;ExecStartPre=/usr/bin/install -d -o nobody -g nobody -m 0700 /run/wsdd/chroot
;ExecStopPost=rmdir /run/wsdd/chroot
[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload

sudo systemctl start wsdd

sudo systemctl enable wsdd

fig : wssd marche

fig : appartition de la machine samba alain-virtualbox


Cours du 14 janvier 2023

Objectifs du cours
1- Comprendre les principes de mise en place d’un service réseau
2- Mettre en place un service de transfert et de manipulation des fichiers à distance ( FTP)
3- Comprendre et mettre en œuvre le protocole HTTP :
• entités du protocole
• messages échangés entre clients et serveurs HTTP
• format des messages échangés( entêtes, ligne de requête, code retour,corps)
• les verbes ou méthodes HTTP(GET, POST,PUT,DELETE)
4- Installer,paramétrer, utiliser une base de données en réseau
• Quelques requêtes SQL
• Activation des logs de BD
• paramétrage pour écoute sur Adresse IP et utilisation de BD à distance

1- Principes gerseaux de service réseau

Un service reseau implique un client qui fait des requetes et un serveur qui traite ces requetes

Une application réseau est identifiés par le triplet


(Adresse IP, Port, Protocole de transport)
Ainsi un client doit avoir ce triplet pour acceder à un service reseau

Apparement, il semble qu’on ne respecte ce principe


Par exemple, pour acceder à un site web, on utilise un navigateur qui est un client HTTP
on saisit dans la base URL IP du serveur ou le nom du serveur Web.

En realité, un navigateur est par defaut, un client HTTP ;


Ainsi, on a donné le nom du service http et l’adresse du serveur http
Les machines ayant la suite de protocole TCP/IP ont un fichier noté services qui permet de donner
par chaque service le protocole et le port utilisé par le serveur

Sous Linux, c’est le fichier /etc/services


fig : fichier services donnant sur chaque ligne le nom d’un service le port d’ecoute du serveur et le
protocole de transport

Sous Windows : C:|\windows\system32\drivers\etc\services

fig : affichages de 2 fichiers importants : services, hosts

Le fichier hosts permet de faire la correspondance entre une adresse IP et un nom d’une machine

fig : hosts

fig : correspondance IP nom


fig : port du serveur http

2- service de transfert FTP

ce service permet de transferer et de manipuler des fichiers à distance


Un serveur FTP utilise 2 ports :
• le port 20 par le transfert des données
• le port 21 pour les traitements des requêtes

Principe de fonctionnement du service FTP


Un client FTP se connecte et fait des actions :
• créer,modifier,supprimer, changer des droits etc des fichiers
• envoyer au serveur un fichier local ( put)
• prendre des fichiers du serveur et les mettre en local (get)

Il ya plusieurs implementations du serveur FTP :


on peut citer :
• proftpd qui est un serveur FTP sous Linux
• vsftpd un autre serveur FTP sous Linux

Parametrage d’un serveur FTP


La configuration d’un serveur nécessite de :
• donner le nom du compte système avec lequel le serveur manipule les fichiers
• fixer le mode de fonctionnement en terme d’authentification ( mode anonyme ou utilisateur
authentifié)
• fixer les droits ( écriture ou lecture)
• restreindre ou non les utilisateurs dans leur espace de travail

Quelques implementions de clients FTP


1-Les mchines disposant de la pile de protocole TCP/IP ont un client ftp en ligne de commande
pour se connecter sur un serveur FTP en ligne de commande :
ftp Ipserveur
on saisit le nom de l’utilisateur du serveur avec lequel on veut se connecter
puis son mot de passe
Ensuite on peut faire toutes les actions à distance en utilsant soit des commandes Linux ou DOS
2- filezilla et winscp sont des clients FTP avancés graphiques

Il faut noter que filezilla marche aussi bien sous windows que Linux
alors que winscp ne fonctionne que sous Windows

Mise en œuvre du service FTP


• Logiciel à installer sous Linux : vsftpd
• fichier de configuration du serveur : /etc/vsftpd.conf
• principaux parametres : anonymous_enable, local_enable,write_enable,chroot_local_user

apt install vsftpd


fig : config de vsftp

On redemarre le serveur pour que les nouveaux parametres soient pris en compte
service vsftpd restart

On peut verifier le fonctionnement du serveur en utilisant la commande netstat permettant


d’afficher entre autes les ports ouverts sur une machine windows ou Linux

fig

On télécharge et on installe sous windows le client ftp winscp


Quand on se connecte par FTP, on est placé dans son répertoire de base
Dans la fenêtre de gauche, on a l’arborescence de la machine du client et sur la fenetre de doite, on
a l’arborescence du serveur FTP
On peut cliquer droit dans la fenêtre de droite pour créer ou modifier des fichiers
On peut faire de transfert de fichiers dans les 2 sens

Exercice 1 : Utilisation de ftp en ligne de commande


1- connectez-vous en ligne de commande avec le compte bouki
2- listez les fichiers se trouvant dans le dossier de bouki
3- deplacez-vous dans le dossier /var du serveur
4- revenez dans votre dossier personnel //home/bouki et creez un sous dossier tonton
5- renommez le sous dossier tonton en maman
6- Listez les droits sur le fichier maman
6- changez les droits du dossier maman en 777

Exercice 2 : Gestion avancée d’un serveur FTP


On vous demande de configurer votre serveur FTP pour :
1- Restreindre tous les utilisateurs dans leur espace de travail quand ils se connectent
2- Restreindre tous les utilisateurs dans leur espace de travail sauf l’utilisateur bouki
3- A la connexion, on affiche à l’utilisateur un message de bienvenue
Service HTTP ou web

Le service HTPP est tres important et permet entre autres :


• publier des sites web
• de developper des interfaces de programmation (API)
• de créer de proxy pour l’acces à certains services
• de faire une repartition de charge ( loadbalancing ) entre plusieurs serveurs
• de faire de failover sur un serveur ; quand un serveur tombe en panne, automatiquement un
autre prend sa passe


Entités du protocole HTTP

Quelques clients HTTP: navigateurs, la commande curl et postman

Curl et postman sont souvent utilisés par des developpeurs backend pour tester leurs applications
avant que les developpeurs frontend creent des interfaces d’utilisation

curl s’utilise en ligne de commande alors que postman est graphique

Quelques implementations de serveurs HTTP


il ya plusieurs implementations de serveurs HTTP parmi lesquels on peut citer :
• nginx : tres puissant, developpé par des russes
• apache2 : qui occupe plus 67 pour cent du marché d’hebergement de sites web
• IIS de Microsoft

Apache2 fonctionne aussi bien en environnement Linux que Windows et est integré dans beaucoup
de plateformes de developpement d’appications web :
• Wamp(Windows Apache Mysql Php) server
• Lamp( Linux Apache Mysql Php)
• XAMP utilisable aussi bien en Linux que Windows

Prise en main du serveur apache2

- installation
apt install apache2

- Connaissance du repertoire de config d’apache2 qui est /etc/apache2

fig :
Le dossier /etc/apache2 contient plusieurs sous dossiers :

Sous dossier commentaire


sites-available Dossier de config de sites web virtuels
sites-enabled Dossier des sites web activés
conf-available Dossier dans lequel sont mis des fichiers de
config de certaines applications hebergées sous
apache tel que le client de messagerie roundcube ;
c’est ici qu’on gere les caracteres accentués
conf-enabled
mods-available Dossier des modules donnant des nouvelles
fonctionnalités à apache telles que : prise en
compte des programmes php ou apache comme
proxy
mods-enabled

Principe d’hebergement sous apache

En general, quand on heberge un site web, il ya un dossier contenant le contenu du site :


DocumentRoot et le nom du fichier à afficher par defaut : DirectoryIndex

NB : par defaut le DocumentRoot est /var/www/html

IL ya plusieurs manieres d’heberger un site web :


• par dossier : on cree un sous dossier dans /var/www/html et on y copie le contenu du site
; pour acceer à ce site, on utilise un client http et on saisit l’url : Ipserveur/nomsousdossier
• site virtuel par nom
on va dans le dossier /etc/apache2/sites-avalable ; on cree un fichier se terminant
par .conf dans lequel on configure le site en precisant au minimiun le DocumentRoot, le
DirectoryIndex, le SeverName ( nom à saisir pour acceder au site), sans oublier le port d’ecoute du
serveur web

fig : accentué
fig : prise en compte de caractere accentué

On redemarre le serveur apache par la commandes


service apache2 restart

on reteste le site

fig ; accent regle

Ecrvos un petit programme en php affichant bonjour

apache ne prend pas en compte par defaut le code php


Donc il faut installer le module de prise en compte de php qui est libapache2-mod-php

Cours du 19 janvier 2023

Objectif
• parametrer apache pour qu’il prenne en compte php
apt install libapache2-mod-php

• comprendre les verbes ou methodes HTTP


• installer et utiliser le client HTTP avancé curl
• hebergement de sites virtuels par nom
• faire le necessaire que apache puisse utiliser des programmes php
attaquant une base de données

Mise en œuvre

Les clients HTTP utilisent des verbes HTTP pour faire des requetes
Generalement, les requetes HTTP sont de la forme :
Verbe uri

Pour mieux comprendre, installons l’analyseur wireshark et le client curl

fig

ouvrons un onglet et lancons wireshark en tant que root

fig 2

Il faut noter qu’un client http a plusieurs manieres d’envoyer des donnees à un serveur ;
• par la methode GET ; les donées sont inserées dans la ligne de requete du message http
• par la methode POST ; les données sont inserees dans le corps du message http

ecrivons dans le sous tp1 le progamme premier.php qui s’attend à recevoir par la methode Get une
donée nommée nom et qui affiche bonjour nom
fig 3

installons curl par la commande

apt install curl

Pour utiliser curl :


curl -X verbe « uri »

curl -X GET « http://localhost/tp1/premier,php?nom=MackySall »

fig

dans wireshark, nous la requete d’acces à notre


premier.php

fig

Une requet http est de la forme :


Verbe uri HTTP/1.1
entete
corps

Changons la methode dans premier.php en POST

fig

comment envoyer des données par la methode POST via curl ?

Curl -X POST « http://localhost/tp1/premier » -d « nom=Senghor »

fig

Analysons dans wireshark la requete

fig

On remarque la requete avec le verbe POST ne met pas les données dans la ligne de requete mais
dans le corps du message
Les autres verbes ou methodes http à connaître sont : PUT, DELETE et PATCH

Hebergement de site virtuel par nom

les etapes :
1- on configure le site web dans un fichier ayant l’extention .conf dans le dossier
//etc/apache2/sites-avilable

fig

2- on active le site par la commande

a2ensite nomfichierconfsite

3- on recharge le serveur par la commandes


systemctl reload apache2

fig

NB : comme on n’a pas de DNS pour faire la résolution du nom de notre en adresse IP, nous allons
utiliser le fichier /etc/hosts
fig

En analysant les requetes http d’accès à nos 2 sites, on s’est rendu compte, dans les requetes , dans
l’entete, le parametre Host contient le nom exact saisi par l’utilisateur dans la barre d’url
ce qui permet au serveur web de distinguer les 2 sites

Ainsi, on peut heberger sur un meme serveur plusieurs sites web

Manipulatin d’une base de données


il faut installer le paquet mysql-server
apt install php-mysql

Utilisation de BD mysql

les actions à faire :


• se connecter au serveur mysql par la commande mysql -u root -p
• on fait les requêtes sql

En exercice pour la prochaine fois


Concevoir un programme en php/mysql de gestion de compte bancaire
des présidents ( voir support)

Lire les concepts autour de la messagerie pour la prochaine fois

Cours 21 janvier 2023

1- Entre la méthode GET et POST que choisir ?

Pour cela, nous créons un formulaire html qui permet de saisir un prenom et un nom et on les
envoie à un programme php nommé deuxio.php qui affiche bonjour prenom nom
Il est faut noter qu’un formulaire sert généralement à saisir des données pour les envoyer à un
programme pour traitement
En toute logique, dans la définition d’un formulaire, on doit indiquer la méthode
d’envoi des données ( attribut method) et donner le nom du programme qui
doit traiter les données( attribut action)
fig

fig

Ecrivons le programme deuxio.php

fig

fig

On remarque que les données envoyées au programme sont affichées dans la barre d’url, ce qui
peut poser des problèmes de sécurité

Changeons dans le formulaire la méthode GET par la méthode POST et dans le programme php
deuxio
fig

commentaire : POST est beaucoup plus sécurisé que GET car les données ne sont pas affichées
dans la barre d’url

Question :
Ayant remarqué qu’on a des méthodes d’envoi et de méthodes de réception,
que se passe t-il si la méthode d’envoi diffère de la méthode de réception ?

On a remarqué que ca ne marche pas

Introduisons la méthode de réception selon la requête REQUEST

fig

Conclusion partielle sur les méthodes HTTP


Avec la méthode de réception REQUEST que l’envoi soit par GET ou POST, le programme va
chercher les données au bon endroit grâce à la ligne de requête qui commence toujours par la
methode d’envoi de données

Importance des journaux d’évenement des services

En consultant le fichier journal d’erreur d’apache qui est /var/log/apache2/error.log

tail -f /var/log/apache2/error.log

On peut corriger l’erreur en allant à la ligne -1 indiquée par le journal

Activons le journal d’événement du serveur mysql

Pour cela, on édite le fichier de configuration de mysql qui est /etc/mysql/mysql.conf.d/mysqld .cnf
pour mettre les paramètres
general_log = 1 ; activer le log ; à 0 veut dire desactiver le log
general_log_file = /var/log/mysql/mysql.log si ubuntu 18 ou query.log si ubuntu 20

fig

puis on redémarre le serveur mysql pour que les nouveaux paramètres soient pris en compte

service mysql restart

fig
voici les résultats de ces logs
fig

Conclusion partielle :

Il est important pour un développeur ou un administrateur système et réseaux(Ops) de savoir


activer et exploiter les logs de principaux services qu’il exploiter

Utilisation de base de données en reseau


Généralement en entreprise le serveur de BD n’est pas nécessaire la machine sur laquelle on
heberge des applications qui sont appelées à se connecter à des bases de données
On sait que le port d’écoute par défaut de mysql est 3306 et il faut le protocole tcp pour acceder à
un serveur mysql

fig

Puis on redémarre le serveur pour prendre le paramètre du serveur


mysql qu’on vient de modifier

service mysql restart

Apres les utilisateurs ont pu se connecter à distance sur le serveur de BD en utilisant la commandes
mysql -u root -p -h 192.168.1.22

192.168.1.22 etant l’adresse du serveur de BD


fig

Service de messagerie

La messagerie est très importante, il permet aux utilisateurs d’échanger des informations
1- les entités du service
• MUA (Mail User Agent) qui s’occupe d’écriture ou lecture de mail
on l’appelle communément client de messagerie
Exemple : thunderbird, roundcube
• MTA ( Mail Transfer Agent) qui s’occupe de la reception des mails venant d’un client de
messagerie ou d’un autre MTA
Exemple de MTA : postfix, exim4
Les MTA sont aussi appelés serveurs SMTP
• MDA( Mail Deliver Agent) qui s’occupe de la distribution des mails dans les boites
utilisateurs
Exemple : dovecot
2- Protocoles de messagerie

2.1 protocole SMTP( Simple Mail Transfer Protocol) est utilisé par un client de messagerie pour un
mail à son MTA ou par un MTA pour envoyer des mails à un autre MTA
2.2 protocole POP(Post Office Protocol) est utilisé par un MUA pour telecharger ses mails se
trouvant un serveur de messagerie=MTA+MDA

2.3 protocole IMAP(Internet Mail Access Protocol) permet de manipuler ses mails à distance sans
les telecharger sur la machine de l’utilisateur
2.4 MIME est un format de données permettant d’attacher des fichiers multimedias

3- Processus d’envoi et de reception de mails

Quand boubi ayant comme adresse mail bouki@ucad.sn veut envoyer un mail à leuk@uam.sn
bouki utilise un client un client de messagerie pour ecrire son mail
Apres bouki clique sur envoyer alors le mail est envoyé à son serveur de messagerie (MTA)qui gere
les mails du domaine ucad.sn
Le serveur de mail de l’ucad voyant que le destinataire n’est chez lui va envoyer le mail au MTA de
uam
A l’arrivée, le MTA de uam va remettre le mail à son MDA qui aller deposer le mail dans la boite
de leuk

Quand leuk veut lire ses mails, il utilise un client de messagerie soit parametré pour utilisé le
protocole ou parametré pour utiliser IMAP
Remarque
Si l’expediteur et le destinataire se trouve sur le meme serveur de messagerie alors le MTA remet le
mail à son MDA local

Donc un MTA doit avoir le nom du domaine pour lequel il gere des mails de maniere à distinguer
les mails locaux des mails à envoyer à un autre MTA ; ce parametre est mydestination pour postfix

exemple
mydestination=uam.sn

Pour permettre à un MTA de constituer l’adresse expediteur, generalement on lui donne un nom de
domaine à ajouter à l’identifiant de l’utilisateur pour former son adresse expediteur
dans postix, ce parametre est myorigin

exemple

myorigin=uam.sn

4- Formats de botes à lettre ou manieres d’organiser des boites à lettres sur un serveur de
messagerie

Il ya generalement 2 manieres d’organiser les boites à lettres


• format mailbox : a chaque utilisateur , on cree un fichier dans lequel on concatene tous ses
mails
• format maildir : a chaque utilisateur, on cree un dossier dans lequel on stocke chaque mail
de l’utilisateur de maniere independante

Attention : il faut sur un serveur de messagerie faire le choix entre maildir ou mailbox

le meme format doit etre choisi aussi sur le MTA que le MDA

Le parametre de postfix permettant depreciser le formt de boite à lettres est ;


home_mailbox

exemple
home_mailbox= Maildir/

Le parametre de dovecot qui permet de specifier le type de boites à lettre est


mail_location

exemple
mail_location= maildir: /Maidir

Mise en œuvre

Installation des paquets du seveur


postfix , dovecot-pop3d, dovecot-imapd

fig

Le principal fichier de configuration de postfix est /etc/postfix/main.cf

le fichier de dovecot dans lequel, nous allons choisir le type de boites à lettres est
//etc/dovecot/conf.d/10-mail.conf

Apres modification de ces 2 fichiers, on redemarre le serveur postfix et le serveur dovecot par les
commandes :
service postfix restart
service dovecot restart

fig

Installation du client roundcube

Roundcube est un webmail c’est à dire un client de messagerie sur le web developpé en php
Il peut utiliser une base de données mysql pour stocker les contacts des utilisateurs

pour cela, il faut avoir installer le paquet roundcube-mysql


Donc les paquets à installer sont :

roundcube et roundcube-mysql

apt install roundcube roundcube-mysql

fig

La configuration de roundcube se fera 2 etapes :

1- hebergemement de l’application roundcube sous apache2

fig
on redemarre le service apache2

service apache2 restart


fig

2- configurons roundcube en tant que client de messagerie

fig
fig : parametrage du serveur imap

puis en bas

fig ; parametrage du serveur SMTP

fig : correspondance entre le nom du domaine et l’adresse du serveur Imap


fig : interface de connexion de roundcube

fig ; test reception de mail par bouki, mail envoyé par alain

Configuration du client lourd de messagerie thunderbird

On rappelle les demarches à suivre pour configurer un client de messagerie

1- Pour permettre au client d’envoyer des mails, il faut lui préciser l’adresse IP du serveur SMTP à
utiliser

2- Pour permettre au client de recevoir des mails, il faut :


• Choisir le protocole de réception ( POP ou IMAP)
• lui donner l’adresse du serveur POP ou IMAP
• donner le login et le mot de passe de l’utilisateur à utiliser
Appliquons cela à thunderbird

Thunderbird est installé par defaut sous Ubuntu

On le lance

fig : la premiere interface de thunderbird

On clique sur configuration manuelle

on remplit l’adresse du serveur Imap ainsi que son pourd’ecoute


fig : configuration du mail entrant

fig : configuration du mail sortant

fig

on clique sur suivant


fig : configuration de mail entrant

fig : configuration du mail sortant


fig :
on clique sur confirmer

fig :

on clique sur terminé


fig : interface de mail entrant

envoi de mail

fig : ecriture du premier mail

on clique sur envoyer


fig : reception de mail d’alain par bouki sur le webmail

Hebergement de roundcube comme site virtuel par nom sous apache

on voudrait que l’acces à notre webmail se fait en utilisant l’url :


mail.uam.sn

On procede comme suit :


1- on cree le fichier de configuration du site virtuel de roundcube noté mail.conf dans le
repertoire //etc/apache2/sites-available

fig ; configuration de site de roundcube

On active le site et on recharge le serveur apache

fig ; activation du site roundcube et recharge du serveur apache2


fig : correspondance pour resoudre le nom mail.uam.sn en l’absence d ‘un serveur DNS

fig : acces à roundcube en utilisant l’url mail.uam.sn

Mise en place de quelques services avancés de messagerie

1- liste de diffusion
Le principe : on envoie un mail à une adresse et le mail est distribué à plusieurs adresses
mise en œuvre
On edite le fichier /etc/aliases
nomliste : email1 email2 … emailn

En ligne de commande, on valide la liste en saisissant newaliases

fig : création de la liste de diffusion

fig : validation de la liste de diffusion

test du mailing liste groupe1

Pour envoyer un mail au groupe le destinataire devrait etre groupe1@uam.sn


fig : mail de groupe1 envoyé par bouki

fig : faustin a bien recu le mail

fig : reception de mail de groupe par alain


2- redirection de mail

on voudrait que tout mail envoyé à bouki soit transferé à alain

on fait la configuration dans le fichier /etc/aliases

fig : configuration de redirection de bouki@uam.sn vers alain@uam .sn

On valide en ligne de commande en tapant newaliases

on teste, faustin envoie un mail à bouki

on constate que bouki ne recoit pas le mail mais il est redirigé dans la boite de alain

fig : mail destiné a bouki recu par alain

Si on veut annuler la rediection on enleve la ligne afferante dans le fichier //etc/aliases et on valide
en ligne de commande en tapant newaliases

3- répondeur automatique personnalisé


Pour mettre en place un répondeur automatique, root installe d’abord le logiciel vacaton par la
commande :

apt install vacation

puis chaque utilisateur qui veut activer un repondeur se connecte en ligne de commande et saisit la
commande vacation

puis il modifie le fichier caché de personnalisation de son mail .vacation.msg

fig : faustin active son repondeur automatique

fig : personnalisation de la reponse automatique

Alain envoie un message à faustin

fig : alain envoie à faustin et valide


fig : reponse automatique

fig : utilisation du sujet dans la réponse automatique

fig

TP1 : Gestion de carnet d’adresses dans roundcube ;

1- commentez l’image suivante :


fig :

2- Commentez l’ecran

fig :

3- se connecter à la base et afficher ses tables


4- Decrire les tables users et contacts de la base roundcube

fig : table roundcube.users

fig : table roundcube.contacts


5- Quels sont les champs de la table roundcube.contacts qui sont obligatoires ?
6- commentez l’ecran suivant :

6- inserez le contact faustin à utilisateur alain

fig
7- commentez l’erreur de l’écran précédent

8- connectez-vous en tant que alain, que contactez-vous ?

Fig

9- Alain essaie de composer un mail pour Pr Faustin, que constatez-vous ?


Fig :

10- Alain envoie un mail au prof Faustin, que constatez-vous

fig
fig

fig

-----------------------------------------------------------------------------------------------

Chapitre : Service de résolution de noms internet

Objectif :

1- Rappel sur le processus de communication entre 2 machines (IPA, NMA,IPB,NMB)


2- Rappels sur les systèmes de résolution historiques (fichier hosts, NIS( yellow pages), etc.)

3- Motivation première du service DNS : Centralisation du système de résolution


• Concepts de DNS et règles de fonctionnement( domaine, nom de domaine, serveur DNS,
serveurs DNS secondaires)
• Types d’enregistrements DNS classiques: NS, A,CNAME,MX,SOA,PTR,TXT
• Types d’enregistrements DNS orientés service : SRV, NAPTR
• Processus de résolution de nom Internet(Tld, etc)
4- Mise en place d’un service DNS et problématique de sécurité
• Mise en place d’une zone directe primaire de DNS et test de bon fonctionnement avec
nslookup, host, dig ; Analyse des messages DNS par Wireshark
• Mise en place d’une zone secondaire ;Analyse des messages DNS par Wireshark
• Mise en place d’une zone inverse ;Analyse des messages DNS par Wireshark
• Mise en place d’un service DNS orienté service : SRV pour LDAP, SRV pour kerberos, SRV
pour SIP, SRV pour XMPP, NAPTR et ENUM
• SPF(Sender Policy Framework) un enregistrement DNS qui décrivant le ou les serveurs
autorisés à envoyer du mail pour un domaine.
• DKIM (DomainKeys Identified Mail) est un mécanisme de signature numérique des mails. Il est
basé sur la publication dans le DNS d’une clé cryptographique publique permettanttant aux
clients email de vérifier une signature et sur la configuration des serveurs légitimes du domaine
avec la clé privée correspondante pour signer les messages.
• ARC pour (Authenticated Received Chain) est un mécanisme d’authentification des emails qui
permet à un serveur intermédiaire (comme un serveur de mailing liste) de retransmettre des
messages signés par DKIM sans perdre les bénéfices de ce protocole. ARC va sur-signer le
message, attestant ainsi que le message initial était correctement signé.
• DNSsec pour la RCA (support : DNSsec-les-extensons-de-securité-du-DNS.pdf)

TP : mise en place du service DNS avec gestion élémentaire du domaine uam.sn

1- On installe les paquets bind9 et bind9utils

2- on crée le fichier de déclaration de domaine uam.sn nommé db.uam

fig : édition du fichier de déclaration de zones(domaines) DNS

fig : déclaration de la zone uam.sn ayant comme fichier d’enregistrement db.uam

3- On crée le fichier d’enregistrement du domaine uam avec au minimium des enregistrements de


type SOA, NS, A
fig : copie du fichier db.local en db.uam

Quelle est l’adresse IP de cette machine Windows que nous allons baptiser profmbiliguipa.uam.sn
sur le serveur DNS ?

Fig : IP de la machine Windows

Quelle est l’adresse de cette machine Linux que nous allons utiliser comme serveur DNS

fig : IP de notre serveur DNS à adapter a votre IP dans votre configuration

On copie l’exemple de fichier d’enregistrement db.local en db.uam pour aller vite

fig : copie de db.local en db .uam


fig : enregistrement SOA, NS et A du domaine uam.sn

4- On ajoute des enregistrements de type CNAME et MX

On ajoute un enregistrement de type CNAME pour donner le surnom mail.uam.sn à la machine


dont l’enregistrement de type A est postedns.uam.sn

Ensuite déclarons que le serveur de messagerie du domaine uam.sn est le serveur mail.uam.sn

fig : enregistrement CNAME et MX du domaine uam.sn avec la priorité 1

5- On configure sa machine comme client DNS de la zone uam.sn et on utilise les outils nslookup,
dig, host pour tester le bon fonctionnement du serveur DNS

On édite le fichier /etc/resolv.conf de notre machine Linux pour la configurer en client DNS du
domaine uam.sn en vue de faire des requêtes DNS
fig : configuration d’un client en précisant l’adresse IP de son serveur DNS, son domaine DNS et le
domaine à ajouter au nom incomplet avec de faire de recherche DNS

Demarrons le serveur et regardons si le port 53 est ouvert et utilisé par quel service

fig : démarrage de bind serveur et consultation des connexions sur le port 53 avec netstat

fig : ping sur l’adresse utilisé par le systemd-resolved

Que représente ce systemd-resolved ?

Commentez cet ecran

fig : test de type=any


Demandons au serveur s’il connaît la machine avec un enregistrement de type correspondant
à profmboliguipa .uam.sn si oui nous donner son adrasse IP

fig : enregistrement de type A

test des enregistrements CNAME et MX

fig : test des enregistrements CNAME et MX a partir d’un client DNS Linux

Configurons la machine Windows du prof Mboliguipa pour qu’elle utilise le serveur DNS dont
l’adresse IP est 192.168.1.14

fig : chemin vers le changement du client DNS windows


fig : paramétrage de la machine du prof Mboliguipa en client DNS du serveur 192.168.1.14

On vailde et on ferme la fenetre

Sur cmd testons avec la commande nslookup

fig : test des enregistrement de type=any et A

Faisons une requête DNS de type mx concernant le domaine uam.sn


fig : requete DNS de type MX concernant le domaine uam.sn

TP DNS : enregistrements de type SRV et NAPTR

Decouverte de services à l’aide des enregistrements SRV DNS

Un enregistrement SRV (enregistrement de service) est une spécification de données


dans le système de noms de domaine qui définit l’emplacement, c’est-à-dire le nom d’hôte
et le numéro de port des serveurs pour les services spécifiés. L’enregistrement définit
également le poids et la priorité de chaque serveur.

service protoco domaine TTLclasse SRV priorité poids Port cible


le
ldap tcp uam.sn 100 IN SRV 10 60 389 pdc.uam.sn
kerberos tcp uam.sn 100 IN SRV 10 60 88 pdc.uam.sn
sip udp uam.sn 100 IN SRV 10 60 5060
voip.uam.sn
xmpp tcp uam.sn 100 IN SRV 10 60 5222
chat.uam.sn

Ajoutons ces enregistrements à notre domaine uam.sn

On n’oubliera pas de faire des enregistrements A associés à ces différents serveurs


fig Enregistrements A associés aux serveurs

On redemarre le service bind9 et on teste l’ouverture du port 53

fig : redémarrage du DNS et test du port 53

fig : Enregistrements SRV pour declarer des services de ldap, kerberos, toip sip, chat avec
xmpp

Application de déclaration SRV en TOIP

Asterisk est un serveur de TOIP très apprécié à coté de freeswitch et kamailio

Pour installer le serveur de TOIP asterisk


apt install asterisk

Principe de paramétrage d’asterisk

a- on crée un compte sip à un utilisateur dans le fichier /etc/asterisk/sip.conf


fig : création de 2 comptes SIP

b- on crée un contexte (groupe d’appels) et on attribue un numéro de téléphone à l’utilisateur dans


le fichier /etc/asterisk/extensions.conf

fig : attribution des numeros 1001 et 1002 respectivement à prof Mboluguipa et Dr Ndassimba

c- On se connecte à l’interface du serveur toip et on recharge la configuration

fig : interface asterisk et reload


d- on peut se servir d’un softphone tel que comme microsip ou blink pour se connecter au servur de
TOIP pour appeler et recevoir des appels

simplification de configuration du softphone grace à l’enregistrement SRV

fig : paramétrage de l’utilisation de l’enregistrement SRV a avoir sur le serveur DNS 192.168.1.14

On renseigne le nom de domaine


fig

fig : paramétrage du téléphone du prof Mboliguipa


fig : requete SRV par le telephone pour avoir l’adresse IP du serveur Sip du domaine
fig ; configuration de blink
avec le compte
drndassimba
En faisant un filtre sip sur wireshark , on capte les 2 phases d’enregistrement SIP

fig : les 2 phases de la procédure d’enregistrement SIP


fig

fig : appel entrant du prof Mboliguipa à destination du Dr Ndassimba


fig ; Etablissement de communication entre Prof Mbiliguipa et Dr Ndassimba

--------------------------------------------------------------------------------------------------
Chapitre : Service annuaire et quelques applications
• Concepts et mise en œuvre d’un service LDAP
• LDAP , PAM, NFS, fstab ( montage automatique des répertoires de base des utilisateurs)
• Lam : montrer à l’apprenant les paramètres dont une application a besoin pour se connecter
à un annuaire
• LDAP comme carnet d’adresse pour clients de messagerie( Thunderbird, roundcube)

TP 1: Mise en place d’un service de messagerie instantanée (openfire) integrant LDAP et mysql
TP2: Contrôleur de domaine avec centralisation des dossiers des utilisateurs samba3+ldap
TP3 ; DNS +LDAP : enregistrements DNS dans ldap
TP4 : Kerberos+LDAP

Concepts de base de kerberos

Chaque contrôleur de domaine dispose d’un service de distribution de clés de sécurité,


appelé « Centre de distribution de clés (KDC) » et qui réalise deux services :

- Un service d’authentification (Authentication Service – AS)

Ce service distribue des tickets spéciaux appelés « TGT » (pour « Ticket-Granting


Ticket ») qui permettent d’effectuer d’autres demandes d’accès auprès du service
d’émission de tickets (TGS).
Avant qu’un client puisse obtenir un accès sur un ordinateur du domaine, il doit obtenir un
TGT depuis le service d’authentification du domaine cible. Une fois que le service
d’authentification retourne le TGT, le client dispose de l’autorisation pour effectuer sa
demande auprès du TGS.
Ce TGT obtenu pourra être réutilisé jusqu’à ce qu’il expire, mais la première demande qui
déclenchera la création d’un nouveau TGT requiert toujours un passage par le service
d’authentification.

- Un service d’émission de tickets (Ticket-Granting Service - TGS)

Ce service distribue des tickets aux clients pour la connexion de la machine du domaine.
En fait, quand un client veut accéder à un ordinateur, il contacte le service d’émission de
tickets correspondant au domaine auquel appartient l’ordinateur, il présente un TGT, et
effectue sa demande pour obtenir un ticket d’accès sur cet ordinateur. On parlera alors de
l’obtention d’un ticket TGS.

Les deux services décrits précédemment ont chacun des tâches et un processus précis.
Ce mécanisme d’authentification est inévitable pour accéder aux ressources d’un
domaine. Sans Kerberos, il n’y aura plus d’authentification, ce qui déclenchera des
problèmes d’authentifications et d’accès.

Si le centre de distribution de clés (KDC) est indisponible depuis le réseau, l’Active


Directory sera ensuite indisponible également, et le contrôleur de domaine ne contrôlera
plus longtemps le domaine.

Composition d’un ticket TGT


Le ticket Kerberos distribué contient de nombreuses informations qui permettent
d’identifier l’élément auquel est attribué ce ticket. Par exemple, pour un utilisateur, il sera
possible de savoir son nom, son mot de passe, l’identité du poste initial ainsi que la durée
de validité du ticket et sa date d’expiration.
Par ailleurs, les tickets TGS et TGT contiennent une clé de session qui permet de chiffrer
les communications suivantes afin de sécuriser les échanges.

IV. LDAP, DNS et Kerberos


En résumé, vous devez garder en tête que ces trois protocoles sont indispensables au
bon fonctionnement de l’Active Directory. Ils assurent des fonctions critiques :
Les principaux attributs d’objets dans l’Active Directory

Par défaut, tout annuaire Active Directory contient des instances d’objets de différentes
classes, par exemple des comptes utilisateurs, des groupes, des unités d’organisation ou
encore un ordinateur.
Les classes d’objets disponibles sont définies directement dans le schéma Active Directory
que vous utilisez.

Dans ce module du cours sur l’Active Directory, nous allons voir les principaux attributs
utilisés dans l’annuaire et qu’il est important de connaître.

I. Les principales classes


Avant de s’intéresser aux attributs, nous allons rapidement voir les principales classes
d’objets, puisque ce sont ces classes qui contiennent les attributs que nous verrons après

Nom Description

Les ordinateurs clients intégrés au


Ordinateur domaine, mais aussi les serveurs et les
contrôleurs de domaine

Enregistrer des contacts, sans


Contact
autorisation d’authentification

Regrouper des objets au sein d’un


Groupe groupe, notamment pour simplifier
l’administration (attribution de droits à un
service « informatique » qui correspond
à un groupe nommé « informatique »,
par exemple)

Dossier pour créer une arborescence et


Unité d’organisation
organiser les objets.

Imprimante Ressource de type « imprimante »

Comptes utilisateurs qui permettent de


Utilisateur s’authentifier sur le domaine, et accéder
aux ressources, aux ordinateurs

II. Les identifiants uniques : DistinguishedName et GUI chaque objet


dispose d’identifiants uniques qui sont représentés par deux attributs : le
DistinguishedName et le GUID

A. Le DistinguishedName
Cet identifiant unique également appelé « DN » représente le chemin LDAP qui permet de
trouver l’objet dans l’annuaire Active Directory. Lors de l’étude du protocole LDAP, nous
avions déjà vu un exemple de DN.
Voici un autre exemple :

- Domaine : ist.cf

- Unité d’organisation où se trouve l’objet : informatique

- Nom de l’objet : Edgard

Le DN de cet objet utilisateur sera :

cn=Edgard,ou=informatique,dc=ist,dc=cf

Dans ce DN, on trouve un chemin qui permet de retrouver l’objet, différents éléments sont
utilisés :
Identification de l’élément Description

CommonName – Nom commun – Nom


cn
de l’objet final ciblé

ou OrganizationalUnit – Unité d’organisation

Composant de domaine – Utilisé pour


dc indiquer le domaine cible, avec un
élément « dc » par partie du domaine

Le DN peut être très long si l’arborescence de l’annuaire est importante et que l’objet se
trouve au fin fond de cette arborescence. De plus, le DN peut changer régulièrement si
l’objet est déplacé, ou si une unité d’organisation dont il dépend est renommée puisqu’il
contient de manière nominative les objets.

B. Le GUID
Le GUID (Globally Unique IDentifier) est un identificateur global unique qui permet

d’identifier un objet d’un annuaire Active Directory. Il correspond à l’attribut

« ObjectGUID » dans le schéma Active Directory.

Il est attribué à l’objet dès sa création et ne change jamais, même si

l’objet est déplacé ou modifié. Le GUID suit un objet de la création jusqu’à la


suppression.

Codé sur 128 bits, le GUID d’un objet est unique au sein d’une forêt et il est

généré par un algorithme qui garantit son unicité. Des informations aléatoires,
d’autres non, comme l’heure de création de l’objet .

III. Les attributs indispensables


Après avoir vu les attributs ObjectGUID et DistinguishedName, continuons notre quête des
attributs avec ce tableau qui récapitule les attributs que l’on manipule le plus souvent.

Nom de l’attribut dans


Nom de l’attribut
la console Active Description
dans le schéma
Directory

Valeur que devra utiliser


« Nom d’ouverture de
sAMAccountName l’objet pour s’authentifier sur
session de l’utilisateur »
le domaine
« Nom d’ouverture de
session de l’utilisateur » Nom complet de l’utilisateur
UserPrincipalNam
concaténé au nom du avec le domaine inclus.
e
domaine sous la forme Également appelé UPN
« @ist.cf »

description Description Description de l’objet

Adresse de messagerie
mail Adresse de messagerie
attribuée à l’objet

Égal à « 1 » s’il s’agit d’un


compte de type
adminCount -
« Administrateur », égal à
« 0 » s’il ne l’est pas

Nom complet qui sera affiché


DisplayName Nom complet
pour cet utilisateur

givenName Prénom Prénom de l’utilisateur

Nombre d’ouverture de
logonCount -
session réalisée par cet objet

Date à laquelle le compte ne


accountExpires Date d’expiration du compte sera plus utilisable (peut être
vide)

Identifiant de sécurité unique


ObjectSID -
qui permet d’identifier un objet

Dernière fois que le mot de


pwdLastSet -
passe fût modifié

État du compte – Une dizaine


userAccountContr
- de codes différents sont
ol
possibles

Correspondance entre les champs Active Directory et les attributs


LDAP

Sommaire [-]

•I. Présentation
•II. Onglet "Général"
•III. Onglet "Adresse"
•IV. Onglet "Compte"
•V. Onglet "Profil"
•VI. Onglet "Téléphones"
•VII. Onglet "Organisation"
•VIII. Synthèse

I. Présentation
Dans cet article, que l'on pourrait qualifier de mémo ou de cheatsheet, je

vais reprendre les propriétés d'un compte utilisateur dans l'Active

Directory et vous indiquer pour chaque champ Active Directory, quel est

l'attribut LDAP correspondant.

Très pratique pour utiliser l'éditeur d'attribut d'une part, mais surtout lorsque l'on manipule

des comptes utilisateurs avec PowerShell ?

II. Onglet "Général"


Fig 1

III. Onglet "Adresse"


Fig 2
Fig

VIII. Synthèse
Voici un tableau récapitulatif des correspondances par rapport aux
onglets ci-dessus.

Champs Active
Onglets Attributs LDAP
Directory

Général Prénom givenName

General Initiales initials

Général Nom sn

Général Nom complet displayName


Général Description description

Général Bureau physicalDeliveryOfficeName

Général Numéro de téléphone telephoneNumber

Général Adresse de messagerie mail

Général Page Web wWWHomePage

Adresse Adresse streetAddress

Adresse Boîte postale postOfficeBox

Adresse Ville l

Adresse Département ou région St

Adresse Code postal postalCode

Adresse Pays/région co

Nom d’ouverture de session


Compte userPrincipalName
de l’utilisateur

Nom d’ouverture de session


Compte de l’utilisateur (antérieur à sAMAccountName
Windows 2000)

Compte Options de compte userAccountControl

Profil Chemin du profil profilePath

Script d’ouverture de
Profil scriptPath
session

Profil Chemin d’accès local homeDirectory

Profile Connecter homeDrive

Téléphones Domicile homePhone

Téléphones Radiomessagerie pager

Téléphones Tél. mobile Mobile

Téléphones Télécopie facsimileTelephoneNumber

Téléphones Téléphonie IP ipPhone

Organisation Fonction title

Organisation Service department

Organisation Société company


Organisation Gestionnaire (Nom) manager

Organisation Collaborateurs directReports

----------------------------------------------------------------------------------------------------

chapitre : Automatisation d’installation de SE de machines via un serveur PXE


• service TFTP : concepts et mise en œuvre
• service DHCP : Concepts et mise en œuvre
• automatisation d’installation de machines Linux via PXE server
• automatisation d’installation de machines Windows via PXE server
------------------------------------------------------------------------------------------------------

chapitre : Projet Personnel et professionnel en messagerie avancée

Les différents types d’adresses mails

Un serveur comme Postfix est capable de gérer trois types de mails différents :
• les comptes locaux : les comptes de ces domaines sont directement mappés sur les comptes
du serveurs Linux (les comptes décrits dans le fichier /etc/passwd ). La liste des domaines
gérés de cette façon est donnée dans la variable mydestination de Postfix.
• les comptes virtuels : les comptes de ces domaines ne correspondent à aucun compte réel
mais sont simplement mappés sur des répertoires.
• les comptes d’alias virtuels : ces comptes “rebondissent” sur d’autres adresses (locales,
virtuelles ou même distantes).
Installation des paquets principaux
Paquets a installer :

• mysql-server
• postfix
• postfix-mysql
• postfix-pcre
• libsasl2-modules
• libsasl2-modules-sql

apt install mysql-server

apt install postfix postfix-mysql postfix-pcre libsasl2-modules libsasl2-modules-sql

fig : installation postfix et modules

Le serveur Apache et le langage PHP


apt install apache2 php php-mysql php-mbstring php-imap

Le logiciel d’antispam : RSpamd


RSpamd est un logiciel plus récent, plus simple d’administration et moins gourmand en ressources que
les célèbres AmaVis et SpamAssassin. J’ai décidé de l’utiliser dans cette deuxième version du guide.
Depuis Debian 10, il est inclus en standard

fig : apres avoir ajouté le repository


on installe rspamd

apt install rspamd

Le logiciel de lecture de mail : Dovecot


apt install dovecot-mysql dovecot-imapd dovecot-managesieved dovecot-lmtpd

-------------------------------------------------------------------------------------
Aministration systeme Linux : 201

Environnements graphiques Linux

Liste des principaux environnements de bureau Linux

Aujourd’hui nous allons travailler sur la familiarisation avec les principaux environnements de
bureau Linux. Linux et les systèmes d’exploitation de type Unix sont bien connus pour leur
interface d’instruction moderne, mais ils sont souvent terrifiants pour les utilisateurs non
techniques. Ainsi, pour rendre l’utilisation de l’ordinateur plus automatique, le mélange d’écrans
haute résolution et de dispositifs de pointage porte une image d’interfaces utilisateur pilotées.

Bien que l’interface d’instruction nécessite une compréhension plus précoce des noms de
programmes et de leurs options de configuration, la capacité de programme (GUI) est souvent
activée en pointant vers des éléments visuels familiers, ce qui rend la courbe d’entraînement
plus raide. En outre, l’interface graphique est mieux adaptée aux médias interactifs et autres
projets visuels.graphical user interface
Le système X Window
Le système X11 ou X Window donne une interaction utilisateur subordonnée et un rendu
d’interface graphique dans les systèmes d’exploitation Unix et Linux, par exemple l’interface de
programmation, les mouvements de la souris, la copie, le couper-coller de texte dans différentes
applications et les frappes au clavier, ce qui le rend complexe dans le dessin d’éléments visuels,
bien que ce soit celui qui gère et exécute l’affichage graphique. Ainsi, les applications gérées par
X génèrent des effets visuels tels que des formes, des nuances et des couleurs, donc cette
méthode permet de créer des interfaces personnalisées conduisant à une instabilité de
l’apparence et du comportement d’une application en termes d’interfaces de programme.

Principaux environnements de bureau


L’interface utilisateur graphique (GUI) des ordinateurs traditionnels se compose de fenêtres
variées, le terme fenêtre est utilisé ici pour demander toute zone d’écran indépendante liée aux
processus en cours d’exécution. Comme le système X Window ne fournit que des
caractéristiques interactives de base, l’expérience utilisateur complète dépend des modules
fournis par l’environnement de bureau. Le composant le plus important d’un environnement de
bureau est probablement que le gestionnaire de fenêtres gère le placement et les décorations
des fenêtres. Par conséquent, c’est le gestionnaire de fenêtres qui connecte la barre de titre à la
fenêtre, les boutons de contrôle généralement liés aux actions de minimisation,
d’agrandissement et de fermeture et gère la transition entre les fenêtres ouvertes.

Principales applications d’environnement de bureau.


Les principaux environnements de bureau fournissent les applications suivantes par défaut.

Applications bureautiques

Il comprend les éléments suivants;

•Éditeurs de texte
•Calculatrices
•Calendriers
Applications système

Il comprend les éléments suivants :

Gestionnaires de fichiers

•Outils de configuration du système


•Émulateurs de terminal
•Gestionnaires d’installation de packages

Applications de communication et Internet

Cela inclut les applications ci-dessous:

•Clients de messagerie
•Navigateurs Web
•Gestionnaires de contacts

Les autres applications et services incluent;

• Gestionnaire de session
• Communication inter-processus
• Impression c’est-à-dire CUPS
• Son, c’est-à-dire Pulse Audio
• Agent de porte-clés

Caractéristiques des environnements de bureau

Voici les caractéristiques communes des environnements de bureau;

Liste des applications tierces et intégrées dans le système par un lanceur d’applications.

•Personnalisation de l’apparence et du comportement de l’environnement de bureau à


l’aide d’outils de configuration.
•Applications par défaut associées aux types de fichiers et aux protocoles définis par
des règles.
Voici les principaux environnements de bureau ;

1. KDE

C’est le plus grand environnement de développement et de programmation d’applications.


Certains des systèmes d’exploitation tels que Kubuntu, openSUSE, Mageia et bien d’autres
utilisent qui est la dernière version de l’environnement de bureau par défaut. La caractéristique
importante de KDE est l’utilisation de la bibliothèque Qt qui fait son apparition et l’abondance
des applications initiales. Les outils de configuration fournis par KDE assurent une unité visible
avec les applications GTK+.KDE Plasma

fig : KDE

2. GNOME

Des distributions comme CentOS, Debian, Fedora, Red Hat Enterprise Linux, Ubuntu, SUSE
Linux Enterprise utilisent un environnement de bureau car il est le plus important. Gnome a
introduit une nouvelle interface appelée , il a également apporté un échange important dans son
apparence et sa structure. Le Gnome Shell dispose d’un lanceur plein écran qui remplace la
barre des tâches et l’application habituelle.GnomeGnome Shell

fig : gnome

3. Cannelle

Cinnamon a une bonne interface utilisateur qui le rend favorable aux débutants Linux.
Cinnamon a été créé par les développeurs de la distribution Mint Linux en tant que branche
GNOME 3 et il est toujours sous la gestion de l’équipe de développement Mint.

La cannelle a les caractéristiques suivantes;

•Nombreuses extensions.
•Applets émergeant sur le panneau.
•Vue d’ensemble avec des fonctions liées à celle de GNOME Shell.
•Effets de bureau, c’est-à-dire effets de transition et animations.
Fig

4. Xfce

L’environnement de bureau Xfce peut être ajusté en fonction des préférences et des exigences
de l’utilisateur, permettant ainsi à l’utilisateur d’activer et de désactiver différents composants. ,
vise à réduire la consommation des ressources de l’appareil.Xfce

Composants par défaut Xfce;

•Gestionnaire d’affichage
•Gestionnaire de fichiers
•Panneaux
•Gestionnaire de fenêtres
•Barre d’état système
•Bar préféré
fig

Connexions Bureau à distance


Dans le Bureau à distance, le logiciel utilise un modèle client-serveur pour fournir une
application serveur sur un hôte étranger et une application cliente sur un hôte de zone. Ce que
vous devez faire est de pointer la demande du client vers l’application distante et vous êtes en
ligne avec elle.

Les connexions Bureau à distance courantes sont les suivantes :

• VNC
• RDP
• SPICE
• XDMCP

1. VNC

VNC, acronyme Virtual Network Computing system vous permet (utilisateurs) d’accéder à
distance à un autre ordinateur ou serveur en utilisant graphique ainsi que graphique émulateur
de terminal. Il utilise le protocole RFB, Remote Frame Buffer pour administrer un autre
ordinateur à distance. RFB est un protocole permettant d’accéder à distance aux interfaces
utilisateur graphiques. VNC utilise le réseau pour canaliser les entrées comme le clavier et la
souris d’un ordinateur à l’autre à l’aide de l’écran graphique.
2. RDP

RDP, signifie Remote Desktop Protocol est un protocole de communication développé par la
société de technologie Microsoft Corporation. RDP dispose d’une interface utilisateur graphique
(GUI) qui aide les utilisateurs à connecter un autre ordinateur à distance via une relation réseau.
Pour que cela se produise, l’utilisateur doit inscrire l’utilisation du logiciel client RDP tandis que
l’ordinateur distant doit avoir le logiciel serveur RDP en cours d’exécution. Par défaut, écoute
RDP sur les ports réseau TCP 3389 et UDP 3389.

RDP s’exécute dans le système d’exploitation suivant.

Linux

•Microsoft Windows
•Unix
•MacOS
•Androïd
•Ios

3. SPICE
SPICE, acronyme Simple Protocol for Independent Computing Environments est un
protocole utilisé pour accéder aux environnements virtuels et permet aux utilisateurs d’étudier
les ordinateurs locaux et distants. SPICE est composé de plusieurs canaux qui connectent le
client à un serveur de bureau distant et chacun d’eux fonctionne séparément sur une connexion
de sockets TCP et UNIX.

4. XDMCP

XDMCP, acronyme X Display Manager Control Protocol est un système de connexion


graphique pour Linux et les systèmes d’exploitation de type Unix. Il dispose d’un gestionnaire de
connexion où la session de connexion est démarrée sur X Server sur un ordinateur local ou
distant. L’utilisateur se voit accorder un écran de connexion par un gestionnaire d’affichage où
un utilisateur est invité à entrer un nom d’utilisateur et un mot de passe valides pour une
connexion réussie. XDMCP utilise le port UDP 177.
fig

1- Bureau à distance avec VNC

fig : mon adresse IP

installation de l’environnement de bureau

apt install gnome-session gdm3

on installe l’outil de gestion de l’environnement


apt install tasksel
puis on lance
tasksel

fig : outil de choix de logiciels

fig : verifiez que vous ubuntu desktop


On active l’environnement graphique

systemctl set-default graphical.target

On reboote la machine

systemctl reboot

On cree l’utilisateur boris et on l’ajoute dans le groupe sudo

adduser boris
gpasswd -a boris sudo

on installe le serveur vnc


apt install tigervnc-standalone-server tigervnc-common

On se connecte comme boris et on cree un mot de passe

fig

On lance le serveur vnc

fig lancement du serveur vnc sur le port 5902

Visualiser la liste des sessions

tigervncserver -xstartup /usr/bin/xterm


fig : demarrage et visualisation de sessions

sudo rm /tmp/.X1-lock
sudo reboot -i

fig
fig

on edite
sudo nano ~/.vnc/xstartup

#!/bin/sh
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

fig

sudo chmod u+x ~/.vnc/xstartup


sudo chmod 777 ~/.vnc/xstartup
vncserver -localhost no
vncserver -list

fig
On utilise un client vnc et on se connecte sur le port 5902

fig : bureau à distance avec vnc +bureau gnome-session

Si on veut un bureau xfce

on installe ;

apt install xfce4 xfce4-goodies

Bureau à distance de berenger


fig
fig

fig ; connexion berenger sur l’interface xfce


Automatisation du demarrage de la session vnc de boris
on edite le fichier :

/etc/systemd/system/vncserver@.service

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=simple
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

puis on recharge le daemon de systemctl

sudo systemctl daemon-reload

vncserver -kill :2

sudo systemctl start vncserver@2


sudo systemctl enable vncserver@2.service
fig

2- Tunneling SSH

Dans ce paragraphe, nous allons aborder le principe du Tunneling SSH. Il s'agit là d'une
autre utilisation que l'on peut couramment faire d'SSH, un peu plus avancée que la
simple connexion SSH à un serveur.

Comme son nom l'indique, le Tunneling SSH va consister en l'établissement

d'un tunnel construit avec le protocole SSH entre un client et un serveur.

Pour avoir une meilleure vision de ce que l'on peut faire avec un Tunnel SSH, prenons un
cas concret :

On dispose d'un serveur Linux sur lequel tourne un serveur web, en écoute sur le port 80,
et un service SSH, en écoute sur le port 22. Étant à distance, nous sommes obligés de

passer par internet pour accéder à notre serveur web. Les informations que nous devons
passer à notre serveur web sont sensibles et nous n'avons aucune envie qu'elles
transitent en clair sur un réseau auquel nous ne faisons pas confiance. Une solution qui

s'offre à nous : le tunneling SSH.

Nous allons établir une connexion SSH sur notre serveur distant puis, en local depuis
cette connexion SSH, contacter notre service HTTP. Le flux HTTP passera donc à
l'intérieur du flux SSH, il sera alors chiffré à l'intérieur de notre tunnel SSH.

Fig

Pour être techniquement plus précis, nous allons faire correspondre un port local de notre
machine à un port distant de la machine sur laquelle on se connecte, le tout au travers de
notre connexion SSH :

ssh -f user@monserveur -L 2500:localhost:80 -N

Dans ce schéma, nous établissons donc une connexion SSH entre notre client et notre
serveur. Nous précisons ensuite via l'option "-L" que le port 2500 de notre poste local va
correspondre au port 80 de notre machine distante. Autrement dit, toutes données
envoyées des informations sur le port local 2500 atterriront sur le port 80 de ma machine
distante, mais passeront au travers mon tunnel SSH, ce qui correspond au schéma vu
précédemment.

Voici le détail des options utilisées :

 "-f" : Permet de mettre la commande SSH en tâche de fond une fois lancée, cela nous donne la

possibilité d'exécuter d'autres commandes une fois que le tunnel SSH est établie.

 "-L" : C'est l'option qui nous permet d'initialiser le tunnel, son argument prend la forme "port

local : cible en sortie de tunnel : port cible en sortie de tunnel". Si nous souhaitons établir un
tunnel SSH sur le port local 8000 qui, à sa sortie, orientera le trafic vers la machine 10.0.0.4 sur

le port 25 : -L 8000:10.0.0.4:25. Pour bien comprendre la syntaxe des arguments de cette

option, il faut que le concept du tunnel SSH soit clairement compris et visualisé, vous pouvez

pour cela étudier les différents schémas de ce paragraphe.

 "-N" : Indique "Do not execute a remote command". C'est une option qui va souvent de paire

avec l'utilisation de l'option "-L".

Nous pouvons alors faire le test avec, soit un navigateur web, soit une commande "wget"

qui va se charger d'aller chercher la page web de notre client. Avec wget :

wget http://127.0.0.1:2500/index.html

Nous obtiendrons alors l'index.html du serveur distant, cela signifie donc que la requête

HTTP passée en localhost sur le port 2500 a été redirigée sur le port 80 de mon serveur

web, au travers de notre Tunnel SSH.

Une possibilité encore plus étendu de l'utilisation du tunnel SSH est le fait d'accéder, au
travers un serveur SSH, à une machine qui ne nous est pas directement accessible en
tant que client. Pour mieux comprendre, prenons ce schéma :

fig
Dans ce contexte, nous ne pouvons pas accéder, en tant que client, aux serveurs locaux
de notre LAN. Néanmoins, nous avons un accès en SSH à un serveur qui est connecté au
LAN et à Internet. En utilisant la technique du tunnelling SSH, nous allons pouvoir nous
connecter à nos serveurs locaux. Nous commencons par établir notre tunnel SSH :

ssh -f edgard@1.2.3.4 -L 2500:192.168.1.10:80 -N

Ici, Nous créons un tunnel SSH avec l'utilisateur "edgard" vers mon serveur SSH ayant l'IP
"1.2.3.4". Ensuite, nous spécifions les paramètres de notre tunnel :

Tout ce qui arrivera sur notre port local 2500 ira dans le tunnel SSH

En sortie du tunnel SSH, le flux se dirigera vers la machine 192.168.1.10 vers son port 80

La machine sur laquelle nous nous connectons en SSH peut, elle, être en liaison avec
notre serveur web local, ainsi, au travers de mon tunnel SSH, nous pouvons y avoir
accès. Pour cela, nous devons spécifier à notre client web que, pour aller sur mon serveur

web, Nous devons, non plus essayer d'aller sur le port 80, mais plutôt aller

sur notre port local 2500. Les flux seront ainsi redirigés dans notre tunnel SSH.
C'est ce que nous avons fait plus haut de façon plus basique en spécifiant le port "2500" à
la commande wget sous Linux. Voici un schéma qui vous permettra de visualiser le tunnel
SSH et le flux jusqu'à un serveur à l'intérieur du LAN :
fig

Il est également intéressant de savoir que plusieurs tunnels SSH peuvent être établis en
même temps, à condition qu'il ne forward pas (ne fassent pas correspondrent) les mêmes
ports. Par exemple, j'ai ici un tunnel actif sur mon port local 2500, nous pouvons en établir
un deuxième sur le port 2501, pour établir une connexion avec mon serveur STMP local :

ssh -f edgard@1.2.3.4 -L 2501:192.168.1.10:25 -N

Pour accéder au serveur SMTP de notre LAN depuis mon client SSH, nous devons
spécifier à mon client de messagerie qu'il doit communiquer sur mon port local 2501, flux
qui passera alors vers le tunnel SSH.

Établir un tunnel SSH depuis Putty

Nous avons ici vu comment établir un tunnel SSH depuis un client SSH Linux, en ligne de
commande. Bien entendu, nous pouvons également faire cela avec les clients
SSH PuTTY ou KiTTY.
On va commencer par initialiser une connexion SSH avec PuTTY ou KiTTY comme nous
le faisons depuis le début du cours. Lorsque cette connexion sera initialisée, nous
pourrons faire un clic droit sur le bord supérieur de la fenêtre pour atteindre l'option
"Change Settings" :

fig

Dans le panneau des paramètres nous pourrons alors aller dans "SSH" puis "Tunnel". Ici,
nous pourrons remplir les paramètres comme cela :
fr

Ici, dans la partie "source port", nous allons spécifier le port local qui sera mappé. Dans la
partie "Destination", nous précisons la cible en sortie de tunnel. Cela peut donc, comme
nous l'avons vu, être la machine locale (serveur SSH) ou distante avec un port spécifique.
Il est à noter que nous pouvons ajouter comme cela plusieurs tunnels SSH. Il faudra
valider notre paramétrage via le bouton "Add" puis nous validerons avec "Apply" en bas de
fenêtre. Ensuite, nous pourrons effectuer un test en ouvrant un navigateur puis en visant
l'URL "http://localhost:2503" :
fig
Nous voyons ici que la requête HTTP visant "localhost:2053" passe par notre tunnel SSH
pour au final arriver en "127.0.0.1" sur le port "80" du serveur web LAN.
Nous avons fait le tour du tunneling SSH, c'est une notion quelque peu complexe car elle
nécessite de bien visualiser les différents chemins des flux dans le tunnel SSH.
Cependant, le tunneling SSH peut être très pratique et se révèle être un outil très efficace
dans les situations opérationnelles.

3- Proxy SSH

Dans ce paragraphe, nous allons étudier la notion de Proxy SSH. Nous


avons vu dans le chapitre précédent comment effectuer un tunneling SSH, qui correspond
donc à l'établissement d'une connexion entre un port local de la machine cliente et un
IP:port précis à l'autre bout du tunnel.
La notion de proxy renvoie au même principe, cependant, dans le cas d'un proxy SSH, la
connexion va être utilisée comme un proxy et non comme un tunnel entre deux points
précis.
Pour être plus précis, un proxy SSH va consister en l'établissement d'une

connexion SSH entre un client et un serveur. Cette connexion sera donc un


tunnel chiffré dans lequel des flux seront envoyés. Pour mieux visualiser et comprendre le
concept du proxy SSH, obsevons le schéma suivant :

fig
Ici, nous établissons donc (en vert) notre connexion SSH vers un serveur SSH qui
deviendra notre proxy SSH. Ensuite, nous pourrons configurer nos applications (par
exemple, un navigateur web) pour utiliser notre proxy (plus précisément, proxy SOCKS).
Techniquement, nous pouvons établir cette connexion pour devenir un proxy SSH via la
commande "-D" :

ssh -D 12345 edgard@monserveur

Dans le cas présent, le port 12345 sera le port de notre proxy à spécifier dans les
applications qui devront l'utiliser.

Dès lors, toutes les requêtes HTTP que passeront notre navigateur seront envoyées vers
notre proxy. La différence avec un tunneling SSH comme nous l'avons vu dans le

précédent paragraphe est donc qu'ici, toutes les requêtes passent maintenant

par notre proxy SSH, pas seulement celles allant vers un port prédéfini.
Pour continuer notre exemple, voici comment configurer un navigateur web Firefox pour
utiliser notre Proxy. On commence par se rendre dans les options puis on se rend dans
"Avancé" puis "Réseau" pour enfin cliquer sur "Paramètres" :
fig

Ici, Nous spécifions donc dans "Hôte proxy" les champs "127.0.0.1" puis "12345" qui est le
paramétrage précisé dans notre commande. Dès lors, toutes les requêtes web générées
par notre navigateur iront directement au travers le proxy, l'IP source qui sera alors reçu
par les serveurs web que nous contacterons ne sera donc plus la notre, mais celle de
notre proxy SSH.
Installez RustDesk Remote Desktop sur Ubuntu 22.04|20.04|18.04

Un poste de travail distant fait référence à une fonctionnalité logicielle ou de système


d’exploitation qui permet à l’environnement de bureau d’un ordinateur personnel d’être exécuté à
distance sur un système tout en étant affiché sur un périphérique client distinct. Certains
permettent de s’attacher à la session d’un utilisateur existant (c’est-à-dire un bureau en cours
d’exécution) et de « contrôler à distance », soit en affichant la session de contrôle à distance,
soit en occultant l’écran. Les applications RDP couramment utilisées sont Team viewer et
Anydesk. Dans ce paragraghe, nous allons discuter de l’application de bureau à distance
RustDesk.

Utilisation des applications RDP

L’utilisation principale des logiciels de bureau à distance est l’administration à distance et la mise
en œuvre à distance. Ce besoin survient lorsque vous êtes absent du bureau et qu’il a besoin
d’accéder aux ressources de l’ordinateur du bureau. Un logiciel de bureau à distance peut être
utilisé pour accéder à un ordinateur distant : un ordinateur personnel physique auquel un
utilisateur n’a pas accès physiquement, mais auquel on peut accéder ou avec lequel on peut
interagir. Contrairement aux serveurs, les ordinateurs distants sont principalement utilisés pour
les connexions peer-to-peer, où un périphérique est sans surveillance.

RustDesk est une application simple, open-source et extrêmement utile pour accéder à distance
à d’autres PC, avec transfert de fichiers intégré et tunneling TCP, écrit avec le langage de
programmation Rust. L’installation et l’utilisation de RustDesk sous Linux sont assez faciles.
C’est une excellente alternative à TeamViewer et Anydesk. Vous permet d’avoir le contrôle total
de vos données sans souci ni souci de sécurité.

Caractéristiques de RustDesk

•Norme de haute sécurité – la norme bancaire et la dernière technologie de


chiffrement de bout en bout TLS 1.3 protègent votre ordinateur contre les accès non
autorisés.
•Transfert de données facile et tunneling TCP - Le logiciel vous donne la possibilité
de transférer des fichiers entre ordinateurs. Configurez facilement le tunneling TCP et
un seul clic pour utiliser la connexion RDP via le tunneling TCP.
•Application Raw – RustDesk est un logiciel open source écrit avec le langage Rust.
Vous pouvez installer via des fichiers binaires, du code source ou en tant qu’image
docker.
•Léger – Étant un produit open-source, le logiciel donne la liberté que tout utilisateur
peut installer. Par exemple, sous Linux, vous n’avez pas besoin d’être un utilisateur
root pour installer.
•Définissez votre qualité d’image – Vous pouvez définir votre propre
qualité d’image en ajustant le débit binaire et le quantificateur.
L’avantage avec RustDesk il fonctionne entièrement sur toutes les plates-formes de système
d’exploitation indépendamment. Voyons comment vous pouvez installer et utiliser RustDesk
sur Ubuntu 22.04|20.04|18.04.

Étape 1 : Installer les dépendances.

Sur votre système Ubuntu 20, ouvrez le terminal et exécutez la commande ci-dessous pour vous
assurer que toutes les dépendances requises sont installées en premier.

sudo apt update

sudo apt install -y g++ gcc git curl zip tar wget nasm yasm libgtk-3-dev clang libxcb-randr0-
dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-
dev cmake build-essential unzip

Étape 2 : Installer vcpkg

vcpkg est un gestionnaire de paquets C/C++ gratuit pour l’acquisition et la gestion de


bibliothèques. Il est facile à utiliser, universel, fiable et surtout, est pour tout le monde. Puisque
nous utiliserons le compilateur C / C ++ pour construire et compiler Rustdesk, c’est un outil
essentiel que nous devons avoir installé avant de commencer. Utilisez la commande ci-dessous
pour télécharger et accéder au répertoire vcpkg.

cd ~/

git clone https://github.com/microsoft/vcpkg

cd vcpkg

Installez vcpkg en exécutant le script d’installation comme indiqué ci-dessous.

./bootstrap-vcpkg.sh

Créez un environnement racine vpkg avec la commande export puis installez libvpx, libyuv et
opus.

export VCPKG_ROOT=./ $

./vcpkg install libvpx libyuv opus

sudo apt install -y libclang-dev ninja-build libayatana-appindicator3-1 libgstreamer1.0-dev


libayatana-appindicator3-dev

VER_TAG=$(curl -s https://api.github.com/repos/rustdesk/rustdesk/releases/latest|grep tag_name|


cut -d '"' -f 4|sed 's/v//')

wget https://github.com/rustdesk/rustdesk/releases/download/$VER_TAG/rustdesk-
$VER_TAG.deb
fig

apt install ./rustdesk-$VER_TAG.deb

on lance
fig
fig

fig
LPIC 101 – Maintaining The Integrity of Linux Filesystems

LPIC – 101 Managing Partitions and Filesystems on Linux

LPIC 101 – Locating and Finding Files on Linux Filesystems

LPIC 101 – Mounting and Unmounting Filesystems on Linux

LPIC 101 – Managing File Permissions on Linux


LPIC 102 – Gestion de la date et de l’heure du système Linux avec UTC...

LPIC 102 – Installer et configurer le serveur X11 sur Linux

LPIC 102 – Utilisation des paramètres régionaux et des variables d’environnement

Vous aimerez peut-être aussi