Environnements informatiques Premiers pas sous Linux (seconde partie) 26 septembre 2008 blansche@dpt-info.u-strasbg.fr 1 /12
Administration sous Linux 2 /12
Démarrage Démarrage de Linux Niveaux de démarrage Configurés dans les répertoires /etc/rcx.d/, X allant de 0 à 6 Pas de normalisation (différents d une distribution à l autre) Exécutions de scripts au démarrage (lancement du réseau, du serveur d affichage, etc.) Les niveaux Niveau 0 : arrêt de la machine Niveau 1 : session mono-utilisateur, maintenance Niveau 2 5 : niveaux de démarrage personnalisables Niveau 6 : redémarrage de l ordinateur 3 /12
Les services Services (démons/daemons) Processus qui tournent en tâche de fond Lancés au démarrage (scripts dans /etc/init.d, raccourcis dans /etc/rcx.d) Services réseau : NFS, Samba, Apache, sshd Services de gestion du système : cron, syslog, ntp 4 /12
Les services inetd/xinetd Super-démon Permet de lancer d autres démons en fonction de la demande (FTP, POP3, etc.) Fonctionne uniquement avec les services réseaux inetd est habituellement lancé dès le démarrage de Linux xinetd une réécriture plus sécurisée de inetd Permet de diminuer la consommation des ressources 4 /12
Les services cron Permet de programmer l exécution de tâches Configuration dans /etc/crontab Scripts placés dans les répertoires /etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/ et /etc/cron.monthly/ 4 /12
Les services Autres services Apache : affichage de pages web sshd : serveur ssh, (secured shell), connexion à distance sécurisée Serveur FTP Serveur DNS DHCP : attribution d adresses IP ntpd : réglage de l horloge par le réseau (Network Time Protocol) 4 /12
Configuration du réseau ifconfig Configuration d une interface réseau ifconfig <interface> <IP> netmask <masque> broadcast <IP broadcast> interface : eth0 IP : adresse IP de la machine masque : masque sous-réseau IP broadcast : IP du broadcast sur le sous-réseau 5 /12
Configuration du réseau route Affichage de la table de routage Pas de routage en local Configuration de la route par défaut route add default gw <IP> 5 /12
Configuration du réseau ping Permet de tester la présence d une machine sur le réseau Adresse IP ou URL passé en paramètre Peut être bloqué par un firewall traceroute Permet de baliser le chemin IP d une machine à une autre Nombreuses options 5 /12
Sécurité Recommandations Peu de risque de virus Limiter du nombre de services Limiter les droits d accès des utilisateurs Effectuer des mises-à-jours régulières Utiliser des service cryptés (ssh) 6 /12
Sécurité iptables Service de filtrage réseau Affichage des règles de filtrage : iptables -L Permettre le trafic à une connexion établie : iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT Permettre la connexion ssh : iptables -A INPUT -p tcp -i eth0 -dport ssh -j ACCEPT Interdire toutes les (autres) connexions : iptables -P INPUT -j DROP 6 /12
Variables Variables préféfinies HOME : chemin vers le répertoire personnel de l utilisateur courant PATH : listes des répertoires dans lesquels le shell cherche les commandes PS1 : définit l affichage du prompt PWD : chemin du répertoire courant Manipulation Affichage : echo $variable Affectation/définition : variable="valeur",path=$path:. 7 /12
Délimiteurs de chaînes : tous les caractères de la chaîne sont interprétés normalement (sauf ) " : les caractères $ et \ sont spéciaux : la chaîne de caractères est intérprétée comme une commande 8 /12
Fichier texte exécutable par l interpréteur de commande Similaire à un programme (structures de contrôle, etc.), syntaxe très stricte # pour mettre une ligne en commentaire Différents shells : sh, csh, bash Première ligne #!/bin/bash $@ : liste des arguments du script $# : nombre d arguments du script $0 : nom du script $1, $2, etc. : premier, deuxième arguments du script $((calcul)) : évaluation arithmétique Séparation des commandes par retour-chariot ou; 9 /12
Conditionnelles Test sur les fichiers test option fichier [ option fichier ] -e : existance du fichier -f : fichier normal -d : répertoire -r, -w, -x : droit s accès -s : vacuité 10 /12
Conditionnelles Test sur les chaînes de caractères -z : vacuité -n : non-vacuité = : égalité!= : différence 10 /12
Conditionnelles Test sur les nombres -eq : égalité -ne : différence -lt : stritement inférieur -gt : stritement supérieur -le : inférieur ou égal -ge : supérieur ou égal 10 /12
Conditionnelles Conditionnelles if condition then instructions1 else instructions2 fi 10 /12
Conditionnelles Exemple #!/bin/bash if test $# -eq 2 then echo "Bonjour $2 $1!" else echo "Syntaxe : $0 nom prénom" fi 10 /12
Itérations for for variable in valeur1 valeur2... do instructions done 11 /12
Itérations Exemple 1 #!/bin/bash for nom in Mal Jayne Kaylee Book do echo "Bonjour $nom" done Exemple 2 #!/bin/bash for image in *.jpg do convert $image $image.eps done rename s/.jpg.eps/.eps/ *.jpg.eps 11 /12
Itérations while while condition do instructions done Exemple #!/bin/bash i=0 while test $i -ne 10 do echo $i i=$(($i+1)) done 11 /12
Questions 12 /12