Commandes de base Linux
Réseau Débian :
Redémarrer puis configurer la carte réseau à l’aide du fichier de configuration :
/etc/network/interfaces= ///
auto lo
iface lo inet loopback
auto eth0
allow-hotplug
iface eth0 inet static
address 192.168.49.70
netmask 255.255.255.0
gateway @Gateway_SN
dns-nameservers @DNS_SN
(mettre en commentaires avec le symbole # les paramètres concernant eth1 si eth1 non utilisée)
Redémarrer le service avec la commande : service networking restart
Effacer le contenu du fichier persistant réseau :
rm –f /etc/udev/rules.d/70-persistent-net.rules et redémarrer l’ordinateur
Verifier la configuration réseau avec la commande ifconfig
L’éditeur de texte vi
Si vous voulez insérer des lignes : appuyer sur la touche i (mode insertion).
Pour sortir du mode insertion appuyer sur la touche ESC (Escape).
Pour quitter l'éditeur sans sauvegarde taper :q! puis Entrée.
Pour quitter l'éditeur en sauvegardant taper :wq puis Entrée.
Commande ifconfig :
Pour afficher la configuration des cartes reseaux :commande ifconfig
Pour configurer manuellement une carte réseau :
ifconfig interface adresse [parametres].
Fichier DNS :
/etc/resolv.conf :
nameserver @DNS_SN
Nom du poste :
Editer le fichier /etc/hostname
Remplacer le nom d’origine (debian ) par le nom demandé dans le TP ( serveurX par exemple )
Pour enregistrer le nouveau nom de machine , taper
/etc/init.d/hostname.sh start
830059974.docx Le Likès La Salle– P1N9 1 / 13
Mettre à jour également le nom de la machine dans /etc/hosts
Remplacer le nom d’origine ( debian ) par le nom demandé dans le TP ( serveurX par exemple )
Se déconnecter ( logout ) puis se reconnecter
Commande route :
Pour afficher la table de routage complète : commande route
route add pour ajouter une route et route del pour supprimer
exemple : route add default gw @firewall_SN dev eth0
Commande arp :
Pour visualiser ou modifier la table du cache arp de l'interface. Cette table donne la correspondance
entre une adresse IP et une adresse MAC (Ethernet).
exemple de cache ARP obtenu avec la commande arp -va :
arp -s (ajouter une entrée statique), exemple : arp -s 192.168.49.112 00:40:33:2D:B5:DD
arp -d (supprimer une entrée), exemple : arp -d 192.168.49.22
Commandes de navigation
ls Affiche le contenu du répertoire courant. C'est à dire le
répertoire sur lequel on se trouve.
ls -la Affiche le contenu du répertoire courant en incluant les
fichiers cachés. La liste obtenue contient des détails sur
les
fichiers (droits, date de modification...)
cd nom_du_repertoire Change le répertoire courant.
cd@ .. Remonte vers le répertoire parent.
cp fichier1 fichier2 Copie le fichier fichier1 en un nouveau fichier fichier2.
cp -r repertoire1 repertoire2 Copie le contenu du répertoire repertoire1 en un nouveau
répertoire repertoire2.
mv fichier1 fichier2 Renomme le fichier fichier1 en fichier2.
rm nom_du_fichier Efface le fichier nom_du_fichier. Cette opération est
irréversible. Un fichier effacé est perdu à tout jamais
rm -r nom_du_répertoire Efface le répertoire nom_du_répertoire et tout son
contenu.
Cette opération est irréversible.
mkdir nom_du_repertoire Crée le répertoire nom_du_repertoire.
Commandes de consultation de fichiers
830059974.docx Le Likès La Salle– P1N9 2 / 13
more nom_du_fichier Affiche le contenu du fichier nom_du_fichier et marque
une
pause entre chaque page d'écran.
cat nom_du_fichier Affiche le contenu du fichier nom_du_fichier sans marquer
une
pause entre chaque page d'écran.
Commandes de gestion de votre système
halt Termine tous les processus qui sont en cours d'execution,
écrit
toutes les données en mémoire sur le disque dur, arrête
tous
les services et éteint votre machine. Cette opération est
nécessaire pour ne pas perdre des données.
reboot Identique à halt sauf que le système redémarre au lien de
s'éteindre.
Commandes de gestion des utilisateurs
adduser nom_utilisateur Ajoute un utilisateur qui aura pour login nom_utilisateur.
Vous
devrez ensuite définir son mot de passe et des
informations
facultatives à son sujet.
deluser nom_utilisateur Supprime l'utilisateur nom_utilisateur.
passwd nom_utilisateur Donne un mot de passe à l’utilisateur
Gestion des droits et permissions sur les fichiers et les répertoires
quatre catégories d'utilisateurs :
u : l'utilisateur propriétaire du fichier
g : membre du groupe propriétaire associé au fichier mais n'est pas le propriétaire lui-
même
o : les autres utilisateurs ne faisant pas partie du groupe propriétaire
a : tous les utilisateurs
trois types de droits pour l'accès à un fichier :
r : lecture
w : écriture
x : exécution pour des fichiers, accès pour des répertoires
830059974.docx Le Likès La Salle– P1N9 3 / 13
La commande ls –l permet d’afficher les droits d’accès aux fichiers et répertoires :
- premier caractère pour le type du fichier :
- (tiret) désigne un fichier ordinaire,
d désigne un répertoire.
- neuf caractères pour les droits associés au fichier :
un tiret (-) pour un droit non octroyé
les 3 premiers caractères : droits à l'utilisateur propriétaire (u)
les 3 suivants : membres du groupe propriétaire (g)
les 3 derniers : autres utilisateurs ne faisant pas partie du groupe propriétaire (o)
- nombre de liens du fichier
- nom de l'utilisateur propriétaire du fichier et le nom du groupe propriétaire;
- taille du fichier (en octets) ainsi que la date de sa dernière modification.
Modification des droits d’accès :
chmod permet de changer les droits sur les fichiers et les répertoires.
*chmod [option…] <mode> <fichier…> : change les autorisations d'accès des
fichier indiqués.
mode précise les nouvelles autorisations :1 à 3chiffres compris entre 0 et 7 codés sur 3 bits
avec
1=autorisé, 0=non autorisé
*Le premier chiffre définit les autorisations de l'utilisateur propriétaire du fichier :
Bit de poids fort (2) : lecture
Bit 1 : écriture
Bit de poids faible (0) : exécution
*Le deuxième chiffre définit les autorisations des autres utilisateurs du groupe
propriétaire à l'aide des mêmes valeurs
*Le troisième chiffre définit les autorisations des autres utilisateurs absents du
groupe
propriétaire à l'aide des mêmes valeurs
chown permet de changer le propriétaire d'un fichier ou répertoire.
* chown [option...] <nouveau-groupe> <fichier...>
Chgrp permet de changer le groupe propriétaire d'un fichier ou répertoire.
* chgrp [option...] <nouveau-propriétaire> <fichier...>
830059974.docx Le Likès La Salle– P1N9 4 / 13
La gestion des paquets sous debian.
La notion de dépôt :
La liste des dépôts stockée dans /etc/apt/sources.list.
Les 2 programmes console les plus connus de gestion des paquets sont :
apt-get
aptitude
Il est généralement nécessaire de suivre 3 étapes pour télécharger un paquet :
apt-get update (optionnel) : pour mettre notre cache à jour si ce n'est pas déjà fait.
apt-cache search monpaquet (optionnel) : pour rechercher le paquet que nous voulons
télécharger si nous ne connaissons pas son nom exact.
apt-get install monpaquet : pour télécharger et installer notre paquet.
Commande aptitude :
aptitude : Utilitaire avancé pour gérer les paquets Debian .deb
aptitude est utilisable en ligne de commandes comme apt.
aptitude est désormais le frontal en mode texte pour APT à utiliser de préférence à la place d’apt-
get car il est plus performant.
aptitude update Mise à jour de la liste des paquets
aptitude upgrade Mise à jour des paquets (installation des nouvelles versions de
tous les
paquets)
aptitude —download-only upgrade Télécharger les nouveaux paquets sans les installer (Opération
pouvant
être effectuée en batch dans un cron)
aptitude dist-upgrade Migrer vers une autre version de Debian (ex : Passage de testing
à
unstable)
aptitude install <LePaquet> Installer un paquet
aptitude remove <LePaquet> Supprimer un paquet
aptitude purge <LePaquet> Purger un paquet (le supprimer sans laisser aucune trace)
aptitude search <LeMot> Rechercher dans la description de tous les paquets le mot indiqué
aptitude clean Effacer les paquets du cache (/var/cache/apt/archives)
aptitude autoclean Effacer les paquets du cache en conservant uniquement la
dernière
version de chaque paquet
Lancement ou état d’un service (Routage , FTP, WEB, …)
$ service <nom_du_service> start (pour démarrer un service)
$ service <nom_du_service> restart (pour redémarrer un service)
$ service <nom_du_service> status (pour connaître l’état d’un service)
Avec nom_du_service = routed ou proftpd ou dhcpd ou …
<nom_du_service> affiché dans le fichier /etc/ init.d
Pour tous les services :
Renommer le fichier <nom_du_service>conf en <nom_du_service>.ori par la commande :
mv <nom_du_service>.conf <nom_du_service>ori
Créer un nouveau fichier <nom_du_service>.conf
Relancer le service après chaque modification du fichier conf
Serveur web = service apache2
Installer le paquetage apache2
Les fichiers du site web sont stockés par défaut dans le répertoire /var /www/
Pour configurer le nom du serveur web , dans le fichier httpd.conf taper :
830059974.docx Le Likès La Salle– P1N9 5 / 13
servername @IP_du_serveur
Serveur ftp = service vsftpd
Installer le paquetage vsftpd
Exemple de configuration du fichier /etc/vsftpd.conf où chaque utilisateur peut accéder à son
répertoire personnel
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
chroot_list_enable=NO
Serveur DHCP = service isc-dhcp-server
Installer le paquetage dhcp3-server.
Exemple de configuration du fichier /etc/dhcp/dhcpd.conf
subnet 192.168.X.0
netmask 255.255.255.0
{
range 192.168.X.120 192.168.X.190 ;
}
default-lease-time 3600;
Serveur SSH = service ssh
Installer le paquetage openssh-server
Tous les fichiers de configuration des services réseau se trouvent dans le répertoire /etc/ssh
Le fichier de configuration du service SSH est le fichier qui se nomme sshd_config.
Serveur Telnet = service openbsd-inetd
Installer le paquetage telnetd
Service Asterisk
Redémarrer le service pour que vos modifications soient prises en compte : service asterisk restart
Création des comptes utilisateurs sur le serveur Asterisk :
Aller dans le répertoire /etc /asterisk ( commande cd )
fichier sip.conf
Renommer le fichier sip.conf en sip.ori
Commande : mv sip.conf sip.ori
Créer un nouveau fichier sip.conf et écrire les lignes ci-dessous :
[general]
context=interne
language=fr
830059974.docx Le Likès La Salle– P1N9 6 / 13
Le fichier sip.conf contient plusieurs sections :
-une section [general] : pour les paramètres valables pour tous les clients sip
-autant de sections qu’il y a de clients sip
context= nom du contexte ( groupe de traitement des appels ) défini dans le fichier extensions.conf
language=fr : messages vocaux en français
[102]
secret=102
type=friend
host=dynamic
callerid= "caroline" <102>
Secret=mot de passe pour l’authentification de l’utilisateur
type=friend : définit le type d’appel
( user pour appel entrant, peer pour appel sortant, friend pour les 2 types d’appel )
host=@IP du client
callerid=nom et numéro affichés sur le téléphone de l’appelé
Configuration des appels : fichier extensions.conf
Renommer le fichier extensions.conf en extensions.ori
Commande : mv extensions.conf extensions.ori
Le fichier extensions.conf est toujours composé de contextes définis préalablement dans le fichier
sip.conf (exemple contexte interne )
[interne]
exten => 102,1,Dial(SIP/102, 10)
exten => 103,1,Dial(SIP/103, 10)
Les instructions exten sont utilisées comme suit :
Numéro appelé Ordre Action effectuée Temps en secondes avant de passer à
d’instruction l’instruction suivante
(en fonction de l’action)
exten => 102, 1, Dial(SIP/102, 10)
Messagerie vocale : fichier voicemail.conf
sip.conf
Pour activer la messagerie vocale, commencer par associer une boîte vocale à un utilisateur dans le
fichier /etc/asterisk/sip.conf comme suit :
[102]
secret=102
type=friend
host=dynamic
callerid= "caroline" <102>
mailbox=102@default
voicemail.conf
L’application VoiceMail () permet de laisser un message vocal dans la boite vocale de l’appelé
Renommer le fichier voicemail.conf en voicemail.ori
Commande : mv voicemail.conf voicemail.ori
830059974.docx Le Likès La Salle– P1N9 7 / 13
Editer le fichier /etc/asterisk/voicemail.conf comme suit :
[general]
format=gsm
attach= no
Format= format des fichiers vocaux
Attach = indique si le message vocal sera joint à l’email
[default]
102 = 123, 102
Dans le contexte default on peut créer des utilisateurs de la messagerie vocale. Dans cet exemple
l’utilisateur ‘102’ a le mot de passe ‘123’, son nom est ‘102’
extensions.conf
Une fois les comptes créés, il faut router les appels vers la messagerie vocale.
exten => 102, 1, Dial(SIP/102, 10)
exten => 102, 2, VoiceMail(102)
Quand on compose le ‘102’ le téléphone de Caroline sonne pendant 10 secondes ( priorité 1), ensuite
l’appel est dirigé vers la messagerie vocale ( priorité 2).
A partir de ce moment, on peut laisser des messages aux utilisateurs, mais on ne peut pas consulter
la
messagerie. Pour consulter la messagerie il faut utiliser la fonction VoiceMailMain() dans le fichier
extensions.conf comme suit :
exten => 300, 1, VoiceMailMain()
Envoi des messages vocaux par mail :
Ajouter dans le fichier /etc/postfix/main.cf la ligne :
relayhost= IP du serveur de messagerie
Editer le fichier /etc/asterisk/voicemail.conf et ajouter les lignes comme suit :
[general]
format=gsm
attach= yes
emailsubject=Nouveau message vocal provenant de ${VM_CIDNAME}
emailbody=\n\tBonjour ${VM_NAME},\n\n\t Tu as un message de la part de $
{VM_CIDNAME} d'une durée de ${VM_DUR} datant du ${VM_DATE}
Voici une liste des variables utilisables dans l’objet et le corps des emails :
. VM_NAME nom d'utilisateur
. VM_DUR durée du message
. VM_MSGNUM numéro du message
. VM_MAILBOX numéro de l'utilisateur
. VM_CIDNUM numéro du l'appelant
. VM_CIDNAME nom de l'appelant
. VM_DATE date du message
. \n retour à la ligne
. \t tabulation
exten => 102, 1, Dial(SIP/102,Le10)
830059974.docx Likès La Salle– P1N9 8 / 13
exten => 102, 2, VoiceMail(102)
Ajouter l’adresse mail [email protected] ( avec x= numéro de votre maquette sur 2 chiffres
01,02,03….)
de l’utilisateur 102 dans le contexte [default ]
[default]
102 = 123, 102, [email protected]
830059974.docx Le Likès La Salle– P1N9 9 / 13
Serveur proxy : squid
Installation du paquetage squid avec commande :
apt-get install squid
Renommer le fichier « /etc/squid/squid.conf » en « squid.ori » :
mv /etc/squid/squid.conf /etc/squid/squid.ori
Créer dans le répertoire /etc/squid/ son propre fichier « squid.conf » avec le contenu suivant :
cache_mem 8 MB
visible_hostname SERVEURX Nom du proxy
http_port 3128
Port du proxy
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl all src 0.0.0.0/0.0.0.0
http_access allow manager localhost
http_access allow all
Initialisation - démarrage
Initialiser le cache (vider toutes les informations qui s’y trouvent) : squid –z
Démarrer le service squid :service squid start ou restart
Mise en place des restrictions
…………………
acl all src 0.0.0.0/0.0.0.0
#debut des interdictions
Emplacement des restrictions Lignes à insérer
#fin des interdictions
http_access allow manager localhost
……..
Remarque : Redémarrer le service pour que vos modifications soient prises en compte : service squid
restart
Exemple :
# debut interdiction site google.fr
acl site_interdit dstdomain www.google.fr
http_access deny site_interdit
#fin interdiction site google.fr
Syntaxe d’une ACL ( Acess Control List ) :
Déclaration de la règle : acl nom_de_acl type_de_acl.........indication
Action : http_access allow/deny nom_de_acl
Exemple : acl site_interdit dstdomain www.google.fr
http_access deny site_interdit
830059974.docx Le Likès La Salle– P1N9 10 / 13
Type de acl :
• src : source= @Ip ou plage d’@IP ( @IPdébut-@Ipfin )
• dst : destination
• srcdomain : domaine du client
• dstdomain : domaine de destination
• url_regex : mot contenu dans l’URL
• time :horaires
• Indication : selon type de acl = @Ip ou plage d’@IP, nom de domaine, mot, protocole
Mise en Français des messages d’erreurs
Mettre en français vos messages d’erreurs en ajoutant dans le fichier squid.conf :
error_directory /usr/share/squid/errors/French
Personnalisation des messages d’erreurs
Copier le fichier ERR_ACCESS_DENIED se trouvant dans le répertoire /usr/share/squid/errors/French et
le renommer en ERR_acl .
Vous pouvez remplacer les lignes de texte ( écrites en blanc ) par un message de votre choix
http_access allow/deny nom_de_acl
deny_info ERR_acl nom_de_acl
Exemple :
# debut interdiction site google.fr
acl site_interdit dstdomain www.google.fr
http_access deny site_interdit
error_directory /usr/share/squid/errors/French
deny_info ERR_acl site_interdit
#fin interdiction site google.fr
Interdire les sites contenant un mot particulier (Exemple :interdire les sites contenant le mot jeu )
acl mot_interdit url_regex jeu
http_access deny mot_interdit
Interdire l’accés à Internet pendant certaines périodes (Ex : interdire Internet de 14:45 à 15:00 heures
)
acl horaire_interdit time 14:45-15:00
http_access deny horaire_interdit
deny_info ERR_soir horaire_interdit
Combiner plusieurs interdictions (Exemple : réunir toutes les interdictions précédentes)
acl site_interdit dstdomain www.google.fr
acl mot_interdit url_regex jeu
acl horaire_interdit time 14:45-15:00
http_access deny site_interdit
deny_info ERR_site_interdit site_interdit
http_access deny mot_interdit
http_access deny horaire_interdit
Restrictions selon les adresses IP :
acl reseau_a07 src 192.168.49.20-192.168.49.50
830059974.docx Le Likès La Salle– P1N9 11 / 13
http_access deny reseau_a07
Sauvegarde des lignes iptables :
lignes écrites dans le fichier /etc/rc.local
Activation de l’IP-FORWARDING :
echo 1 >/proc/sys/net/ipv4/ip_forward
Translation d’adresse ( NAT ) option "masquerade" : POSTROUTING
iptables -t nat -A POSTROUTING –o eth1 -j MASQUERADE
Annexe -Iptables
filter: la table de filtrage composée des règles
o INPUT
o OUTPUT
o FORWARD
nat: la table de translation d'adresse avec les règles
o PREROUTING et OUTPUT permettant de modifier la destination des paquets
o POSTROUTING pour modifier la source apparente des paquets
Usage : iptables -commande chaine spécification_de_règle [options]
Commandes : Fonction :
iptables -h aide en ligne
iptables -L lister les chaînes et règles actives
iptables -F [chain] vider une chaîne (ou toutes)
iptables -P chain cible traitement par défaut pour une règle
iptables -A chain règle ajouter une règle à la chaîne
iptables -D chain [numéro] [règle] effacer une règle
iptables -R chain [numéro] [règle] remplacer une règle
Options : Les principaux paramètres qui peuvent apparaître dans la partie règle sont :
Paramètres :
-i interface appliquer la règle sur cette interface d'entrée
-o interface appliquer la règle sur cette interface de sortie
-t table table concernée (filter par défaut)
-s X.X.X.X/lg adresse source, longueur du masque
-d X.X.X.X/lg adresse dest (et longueur du masque)
-p protocole tcp / udp / icmp / all
--sport [port[:port]] port source (ou intervalle de ports)
--dport [port[:port]] port destination (ou intervalle de ports)
-j cible ACCEPT/DROP/QUEUE/RETURN/REDIRECT/MASQUERADE / DNAT/ SNAT/ LOG
Interdiction totale sur la table Filter
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
L'instruction DROP va ignorer le paquet, tandis que REJECT va signaler à la machine à l'origine du
paquet que la communication est impossible.
Exemple de règles de filtrage :
830059974.docx Le Likès La Salle– P1N9 12 / 13
Autoriser l’accès au port 23 (en entrée et en sortie)avec protocole de transport tcp :
iptables –A FORWARD –p tcp --dport 23 –j ACCEPT
iptables –A FORWARD –p tcp --sport 23 –j ACCEPT
Autoriser les accès entre le poste d’@IP 192.168.0.1 et le poste d’@IP 192.168.0.2
iptables –A FORWARD –s 192.168.0.1 –d 192.168.0.2 –j ACCEPT
iptables –A FORWARD –s 192.168.0.2 –d 192.168.0.1 –j ACCEPT
Redirection de paquets : PREROUTING
iptables -t nat -A PREROUTING -j DNAT - -to-destination @IP_du_poste
830059974.docx Le Likès La Salle– P1N9 13 / 13