Formation LPI 101
Kais Baccour
Linux
Examen
•Prix•Durée•Résultat•Cas d’échec•Cas de réussite•Validité
Système de fichier
•Disques Durs•Partitions•Systèmes de fichiers•Formatage
•Partitions primaires
•Partition étendue
•Lecteurs logiques
•Pourquoi 4 partition au maximum?•
•Ibm/pc
•MacIntel
•GPT/MBR
•Pourquoi utiliser plusieurs partitions?
Règle de dénomination
•Partition /dev/sda1
Type de bus
Notation spécifique au disque
Numéro de la partition
primaire secondaire
maitre a c
esclave b d
Ordre Des Partitions
Date de création/Emplacement physique
Performance selon l'ordre physique
•Systèmes de fichiers communs
•Quel système de fichier choisir ?
Questions● Notation du périphérique maitre sur le
controleur primaire pour un bus IDE ?●
● Notation du périphérique esclave sur le controleur secondaire pour un bus SCSI ?
●
● Notation de la deuxième partition logique du périphérique primaire sur le controleur secondaire pour un bus SCSI ?
●
● La partition /dev/sda5 est-elle formatée ?●
● Swap●
●
● Mémoire Allouée au swap
●Arborescence des fichiers sous linux
● /● Home● Etc● Root● Var● Bin● Lib●
● Dev● Proc● Sys● Tmp● Usr●
Les Commandes sous linux
● Commande -option(s) paramètre(s)●
● Ls● Ls -l ls -l /home/sigcom/lpi.pdf● Ls -l -a /dev● Ls -la /
● Prompt●
● utilisateur@ordinateur Répertoire courant $●
●
● #(super utilisateur)
● Sudo●
● Sudo -s●
● Su -●
● su -ali
● Chemin absolu●
●
● Chemin relatif
Quelques commandes
● Pwd● Ls -a -i -l /root● mkdir● Cd /● Cd ~/Desktop● Rmdir● Touch /home/berba/Desktop/Hello
● Trop de commande à apprendre ??●
●
●
man
Autres commandes courantes
● Cp● Mv● Rm● Rm -r●
Lien symbolique et lien physiques
● Ln source destination●
●
● Ln -s source destination
● !! (dernière commande)●
● !N (Nième commande de l'historique)
● Répertoire .●
● Répertoire ..●
● Cd ..
● 1 créer cette arborescence
Unix
GNU Linux
Redhat.pdf
Debian.conf
Ubuntu.pngFedora.ldif
~
● Éditer le fichier ubuntu.png●
● Nano● Gedit● Vi● Enregistrer le fichier et renommer le
ubuntu2.0.png
● Copier linux sous GNU
Unix
GNU
Linux
Redhat.pdf
Debian.con
Ubuntu.pn
Fedora.ldi
Debian.confUbuntu.pngFedora.ldif
Debian.conf
Ubuntu.png
Fedora.ldif
Linux
Redhat.pdf
● Effacer linux/Unix
GNU
Linux
Redhat.pdf
Debian.conUbuntu.png
Debian.conf
Fedora.ldif
Utilisateurs
● Useradd●
● Passwd●
● Cat /etc/passwd● Cat /etc/shadow
● Cut● -d● -f● Cut -d : -f 1 /etc/passwd
● Expand monfichier●
●
● Unexpand monfichier●
●
●
●
● nl /etc/passwd● Grep root /etc/passwd● Grep ^root etc/passwd (lignes
commençant par root● Grep -v root /etc/passwd●
● Head -N fichier●
● Head -7 /etc/passwd●
● Head /etc/passwd
● Tail●
● Afficher les 3 dernières lignes du fichier contenant les mots de passes cryptés des utilisateurs système
● Tail -f
●Join
● Cat > fichier_1 Cat > fichier_2
1 apache80 A 1 squid8080 A
2 pureftp21 B 2 telnet23 B
3 Openssh22 C 3 postfix25 C● Join fichier_1 fichier_2● Join -1 3 -2 3 fichier_1 fichier_2
3
● Od fichier_1● Od –a● Od –b (ascii)● Od –x (hexadicimal)
●
● Paste fichier_1 fichier_2● Sort fichier_1● Sort –r fichier_1 (reverse)● Sort –n fichier_2(numerical)
●split
● split -l 10 /etc/passwd pass●
● Split –b 4G /home/sigcom/sigevent.avi●
●pr
● Pr fichier_1● Pr –n fichier_1
● Fmt /etc/passwd (man pour options)
●sed
●
● Sed ‘s/chaine1/chaine2/g’ chemin1 ● Sed ‘s/root/administrateur/g’ /etc/passwd● sed "s/[Cc]omputer/COMPUTER/g ‘ fichier ● Sed ‘s/[0-9]/x/g’ /etc/passwd >mon_fichier●
●
●
● Uniq (affichier sans doublons si successifs)
● Cat > fichiera● Aa● Aa● Bb● Bb● Aa● ctl+D● Uniq fichiera
● tr "[a-z]" "[A-Z]" < /etc/passwd● tac
wc
● -c
● -w
● -l● wc -l /etc/passwd
Droit D'accès
● Comprendre la gestion des droits sur les fichiers et répertoires sous linux
● Savoir protéger les fichiers et les répertoires
● U(user)● G(group)● O(others)● r(read)● w(write)● x(execute)
● Ls -l /home/
● Ls -l /etc/passwd
● Ls -l /etc/shadow
● chmod u+r notes.txt
● Chmod g+w liste.txt
● Chmod o+x cammand.bash
Notation Ocatale
● --- 0● --x 1● -wx 3● r-- 4● r-x 5● rw- 6● Rwx 7
● Comment attribuer les droits rw-rw-r-- à tous les fichiers
● Comment attribuer les droits rwxrwx--- à toute l'aborescence /home/sigcom/membres/ ?
● Comment attribuer les droits rw-rw-r-- à tous les fichiers ?
● Chmod 664 *
● Comment attribuer les droits rwxrwx--- à toute l'aborescence /home/sigcom/membres/ ?
● Chmod -R /home/sigcom/membres
Droits par défaut
● Touch nouveaufichier
● Mkdir nouveaufichier
● Ls -l● umask
● Umask 666
● Touch nouveaufichier● Mkdir nouveaudossier
● Ls -l
Droits spéciaux
● SUID
Lorsque le bit suid est positionné,une commande se lancera avec l'uid de son propriétaire ce qui permet d'acquérir ses droits durant l'exécution de la commande
● Passwd s'acquiert des droits de root pour modifier /etc/shadow
● Chmod 4755 /bin/cat● Chmod u+s /bin/grep
SGID
● Le sgid fonctionne de la même façon que le suid en ce qui concerne les exécutables mais en donnant le doit du groupe.
● Mais le sgid peut aussi être attribué à un dossier:dans ce cas tout fichier crée dans un dossier portant le sgid aura comme groupe propriétaire le groupe du dossier
● Chmod 2755 /home/lpi101
● Chmod g+s /home/lpi101
Sticky bit
● /tmp
● /home/ftp
● Chmod 1666 /home/lpi/sharedfile
● Chmod -R 1666 /home/ftp/sigcom.tn
● Chmod o+t /home/lpi/sharedfile
● Executer ls -l pour se renseigner sur le propriétaire d'un fichier
● Changer le propriétaire d'un fichier
● Chown
● chgrp
Les quotas
● Notion de quota sur un système de fichier
● Notion de montage de partition et relation pédagogique avec les quotas .
● Mount <fichierpartition> <mountpoint>
● Si linux ne parvient pas à déterminer automatiquement le système de fichier
==> option -t
Exemple
● Mount /dev/sda1 /mnt/monflashdisk
● Umount /mnt/flashdisk
● Mount -t ntfs /dev/hde8 /mnt/windowsdata
df
● La commande df permet de connaître le taux d'utilisation de toutes les partitions montées du système
● -h (Human readable)
du
● Du ==> très pratique pour connaître l'espace occupé par une arborescence ,un répertoire .
● -s (sum) pour afficher le total occupé● -k kilo-octets● -m méga-octets● Du -ms /var/www/sigcom.tn
Retour aux quotas
● Fichier /etc/fstab ● 1 Rajouter usrquota dans les options de
montage● 2 mount -o remount <device>● 3 quotacheck -ca● 4 edquota -u<user>● 5 Quotaon <partition> / quotaoff● 6 Repquota résumé <partition>
Recherche de fichier
● Find <path> <spécification>
-name (*,?)
-type (f file , d directory ,l link)
-user (affiche les fichiers dont le propriétaire est indiqué)
-atime(access) -ctime(creation) -mtime(modification) (par jour)
● Touch /home/kmar/Desktop/lpi
● Find /home -name lpi
● Locate (mise à jour cron)
● Updatedb (root)● /etc/update.conf● Locate file ● Slocate (afficher en fonction des droits
d'accès)
●Recherche de commande
● which● Which grep (rechercher path)● Whereis (rechercher path +man +src)● Whatis (description)● makewhatis(crée la base de donnée)● apropos
Caractères spéciaux
● & , && , || , $ , \● ' ==> tous les caractères spéciaux ignorés ● " ==> tous les caractères spéciaux ignorés
sauf ' ,\ et $● ` ==> force l'execution (echo `ls`)●
Les redirections
● Stdin stdout 0 ,1 ,2● >, < , <<, >> ● Cat << 'fin' >file● Eject 2> erreur.log● Eject 2>&1 sortie_std_err.txt ● Eject >& sortie_std_err.txt2● Cat /etc/shadow |tee pass.cryp
Les variables
● ch=salut (noter les espaces)● Echo $salut ● Export (variable d'environnement)● Env● Set● unset
Quelques variables
● PATH , HOME , ● $$(pid du shell) ● $!(pid de la dernière commande en
background)● $? valeur de retour dernière cmd (0 = OK)● $* :liste des paramètre entrés● $1 ,$2 ,$3 (les paramètres)● $# nombre de paramètres
Les processus
● Init(pid 1)● Pid (-p affiche pid -u user)● Pstree ● Ps ● Ps ax (tous les processus systèmes)● Ps -p 1 (processus spécifique)● Top (d :délai , k :kill ,p processus )
Kill
● Kill -N PID ● Kill -1 1502(SIGHUP) envoyé par le
processus parent pour tuer ses enfants à sa fin
● Kill -2(SIGINT) ctrl -c● Kill -9(SIGKILL)● Kill -15(SIGTERM)● Killall filezilla =killall -15 filezilla = kill -15
pid_de_filezilla
Priorité des processus
● Top● Nice -n 15 nvellecommande● Renice -n 15 nvellecommande● Renice -n -13 ● Renice -n 7 -u ali● Jobs● Fg num_job● Bg num_job
● Nohup gedit &● (eviter le signal sighup kill -1 après arret du
shell )
Niveau de démarrage
● Runlevel 0 ==>shutdown● Runlevel 1 ==>single user mode● Runlevel 2 ==>multi user sans réseau● Runlevel 3 ==>multi user● Runlevel 4 ==>● Runlevel 5 ==>multi user avec X● Runlevel 6 ==>reboot
Ubuntu
● 0 - shutdown● 1 - single user mode● 2 - multiuser graphical mode● 6 - reboot●
● Init 0● Telinit 5● /etc/inittab /etc/rc5.d (/etc/init/rc-sysinit.conf
sous ubuntu) ● Who -r (niveau de démarrage courant)
● id : niveau : action : commande● l0:0:wait:/etc/rc.d/rc 0● l1:1:wait:/etc/rc.d/rc 1● l2:2:wait:/etc/rc.d/rc 2● l3:3:wait:/etc/rc.d/rc 3● l4:4:wait:/etc/rc.d/rc 4● l5:5:wait:/etc/rc.d/rc 5● l6:6:wait:/etc/rc.d/rc 6
actions
● Initdefault● Sysinit● Wait● respawn: Le processus sera relancé
chaque fois qu'il se terminera (e.g. getty)● Init q (relire le fichier de conf)
lilo
● /etc/lilo.conf
● /sbin/lilo
Démarrage de linux
● Décompression du noyau (make bzImage)
● Initialisation du matériel (driver noyau)
● Monter le système de fichier / en r.o
(nous pouvons ici avoir la main pour saisir des commandes)
● Lancement de init (pid 1 )
init
● /etc/inittab (sysinit)● Premier programme (action sysinit)
==> monter les systèmes de fichiers après vérification (etc/rc.s/rc.sysinit)
● Chargement des modules (/etc/modules.conf)
● Executer commandes en fct du niveau de démarrage (initdefaut ou argument passé par lilo)
● Creation des tty 0 jusqu'à 7 /sbin/getty
(niveau de démararge 2->5)● Démarrage des services du niveau
(/etc/rcN.d/) (service commençant par S et K)
Les bibliothèques
● Bibliothèque statique (biblitothèques incluses dans l'image .a ou .lib windows liés avant la compilation)
● Bibliothèque dynamique (bibliothèques appelées lors de l'exécution du programme .so .dll)
● ld.so (utilitaire pour charger les bibliothèques)
ld.so
● 1) LD_LIBRARY_PATH● 2)/etc/ld.so.cache● 3)/lib /usr/lib default path
● Ldd /sbin/ifconfig
vi
● l:droite● h:gauche● j:haut● k:bas● L:dérnière ligne de la page courante● H:première ligne de la page courante● nG:ligne n du fichier courant
● I: insérer texte● A:inserer à partir de la fin de la ligne● O:crée nouvelle ligne● R:remplacer texte● r:remplace caractère courant● dd : supprime ligne courante● ndd:supprime n lignes à partir de la ligne
courante● x supprime caractère courant● nx supprime n caratères à partir du carac
courant
● :wq (ou ZZ) enregistrer et quitter● :w file● :q ! quitter sans sauvegarder● :w ! forcer la sauvegarde en lecture seule●
Gestion des périphérique
Bus● Isa 8,33 Mhz 8 à 16 bits● Pci 33Mhz 32 bits● Agp + de 33Mhz
● Interruption (lancement d'un sous programme du driver demandant du temps cpu)
● IRQn(utilisation de périphériques simultanément et priorité
● * IRQ 0 : Horloge système● * IRQ 1 : Clavier● * IRQ 2 : Second contrôleur d'interruption
(PC/AT)● * IRQ 3 : Port série (COM2/COM4)● * IRQ 4 : Port série (COM1/COM3)● * IRQ 5 : Disque dur● * IRQ 6 : Lecteur de disquettes● * IRQ 7 : Port parallèle (LPT1)
● DMA● /proc/interupts● Cat /proc/meminfo● Cat /proc/cpuinfo● Lspci -v (proc/bus/pci)● Lspci |grep -i ethernet● Dmesg● /var/log/dmesg
USB
● Hotpluggable● 126 devices● Entre 1,5 et 12 Mbits pour la version 1● 480 Mbits version 2● OHCI(1) UHCI(1) EHCI(2) xHCI(1,2,3)
Le gestionnaire de paqutage debian
● Dpkg● Dpkg -i skype.deb (installe)● Dpkg -r skype.deb (désinstalle)● -l liste tous les packages installés● Dpkg -l |grep firefox (vérifie si le package
firefox est installé)● Dpkg -L apache2(liste les fichier de
apache2)● Dpkg-reconfigure (reconfigurer un package)
● /etc/dpkg/dpkg.cfg● /var/lib/dpkg (base de donnée des
package)
apt-get
● /etc/apt/sources.list● /etc/apt/apt.conf● Apt-get install quota● Apt-get remove quota● Apt-get purge quota● Apt-get install quota apache2-● Apt-get remove quota apache2+● Apt-get –reinstall proftp
apt-get
● Apt-get update● Apt-get upgrade● Apt-get source● Apt-get -b source (télécharge le package
source puis le compile)● Apt-get build-dep (télécharge les
dépendances)
● Apt-show-versions -u (affiche les package pouvant être mis à jour)
● Apt-cache show package_name (info sur package)
● Apt-cache depends package (montre les dépendances)
● Apt-file search slapd.conf (montrer le package contenant le fichier mentionné)
● Aptitude● synaptic
Rpm et yum● Rpm -i package.rpm(install)● Rpm -U package(met à jour un package
déjà installé ou l'installe s'il ne l'est pas● Rpm -e (désinstalle)● Rpm -q(info sur un package● Rpm -V(verifier l'integrité d'un package)● Rpm -F (met à jour un package)● /usr/lib/rpm(base de donnée des package
rpm)
Rpm -q
● c
YUM
● /etc/yum.conf● /etc/yum/repos.d● Yum install package● Yum update● Yum remove / yum erase● Yum search « mot clé » (cherche les
paquet dont la desc ou le nom contiennent le mot)
● Yum list (info sur les packages)● Yum list available : affiche tous les
packages disponible● Yum list updates : affiche tous les
packages dont des updates sont dispo● Yum list installed :affiche les package mis
à jour● Yum list recent : affiche les packages
récemment ajoutés aux dépots
Formatage du système de ficher
● fdisk● Journalisation et récupération● Mkfs -t <type> /dev/sda1● Mke2fs /dev/hdc2 = mkfs -t ext2 /dev/hdc2● mkfs.ext3 mkfs.ext2 -j● mkfs.ntfs● Ext2 -----> ext3● Tune2fs -j /dev/sdb5
Contrôle d'integrité
● Fsck -t <type> /dev/hdc3● fsck.ext3● Fsck -i (automatique)● e2fsck=fsck -t ext2● Debugfs (plus puissant)● Dumpe2fs (affiche des info sur le système
de fichier ex:date du dernier montage)