User Tools

Site Tools


formationsecurite:administrationlinux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

formationsecurite:administrationlinux [2013/01/30 17:52] (current)
Line 1: Line 1:
 +{{Toc}}
 +
 +17 mars 2005
 +
 +
 +Le cours est disponible en ligne: ((http://​www.financial-art.be/​Slackware3_files/​v3_document.htm Linux administration))
 +
 +
 +== Slackware ==
 +
 +cf. /​[[SlackWare]]
 +
 +=== Session graphique ===
 +
 +C'est le serveur X Window.
 +Il y a un client, qui peut aussi être un autre machine.
 +
 +Configuration dans le fichier /​etc/​X11/​xorg.conf
 +
 +Pour avoir les bons paramètres pour la souris:
 +<​code>​Section "​InputDevice"​
 +    Identifier ​ "​Mouse1"</​code>​
 +Changer:
 +<​code>​Option "​Protocol" ​   "​PS/​2"</​code>​
 +en
 +<​code>​Option "​Protocol" ​   "​imPS/​2"</​code>​
 +Pour la roulette, ajouter:
 +<​code> ​       Option ​         "​ZAxisMapping" ​         "4 5"
 +Option "​Buttons"​ "​3"</​code>​
 +
 +
 +=== Environnement graphique ===
 +Intégration des applications pour avoir un même look and feel.
 +Exemples: KDE, GNOME, XFCE
 +
 +=== Window Manager ===
 +
 +Gère la session graphique lancée.
 +Exemples: Window Maker, icewm, bluefish
 +
 +Pour changer le window manager quand on fait 
 +<​code>​startx</​code>​
 +Il faut changer le fichier ~/.xinitrc
 +
 +18/03/05 -> absent
 +
 +Vu:
 +  * archivage
 +  * installation de amsn:
 +    * paquet slackware
 +    * paquet rpm
 +    * depuis les sources
 +    * installateur du logiciel
 +  * umask
 +  * ACLs
 +
 +21/03/05
 +
 +
 +== Le noyau ==
 +
 +Le noyau est linux.
 +Il y a 3-4000 options lors de la compilation du noyau.
 +
 +Pour connaître la version du noyau qui tourne:
 +<​code>​ uname -a
 +Linux forma312 2.4.29 #2 Thu Jan 20 16:20:24 PST 2005 i686 unknown unknown GNU/​Linux</​code>​
 +
 +Les pilotes (drivers) sont soit //en dur// dans le noyau, soit sont chargés sous forme de module quand le noyau en a besoin.
 +
 +en dur:
 +  * moins de risque au niveau de la sécurité
 +en module:
 +  * libère de l'​espace mémoire (noyau plus petit) tant qu'on a pas chargé le module
 +
 +Pour lister les modules chargés:
 +<​code>​lsmod
 +Module ​                 Size  Used by    Not tainted
 +snd-pcm-oss ​           36704   ​0 ​ (unused)
 +snd-mixer-oss ​         12152   ​0 ​ [snd-pcm-oss]
 +parport_pc ​            ​15044 ​  ​1 ​ (autoclean)
 +lp                      6404   ​0 ​ (autoclean)
 +parport ​               22824   ​1 ​ (autoclean) [parport_pc lp]
 +usbcore ​               58860   ​1 ​
 +snd-ens1371 ​           11392   ​0 ​ (unused)
 +gameport ​               1420   ​0 ​ [snd-ens1371]
 +snd-rawmidi ​           12320   ​0 ​ [snd-ens1371]
 +snd-seq-device ​         3812   ​0 ​ [snd-rawmidi]
 +snd-ac97-codec ​        ​52472 ​  ​0 ​ [snd-ens1371]
 +snd-pcm ​               54504   ​0 ​ [snd-pcm-oss snd-ens1371 snd-ac97-codec]
 +snd-timer ​             13412   ​0 ​ [snd-pcm]
 +snd                    31268   ​0 ​ [snd-pcm-oss snd-mixer-oss snd-ens1371 snd-rawmidi snd-seq-device snd-ac97-codec snd-pcm snd-timer]
 +snd-page-alloc ​         4712   ​0 ​ [snd-mixer-oss snd-rawmidi snd-seq-device snd-pcm snd-timer snd]
 +soundcore ​              ​3396 ​  ​6 ​ [snd]
 +eepro100 ​              ​18836 ​  ​1 ​
 +mii                     ​2272 ​  ​0 ​ [eepro100]
 +ide-scsi ​               9392   ​0 ​
 +agpgart ​               45092   ​0 ​ (unused)</​code>​
 +
 +Pour charger un module:
 +<​code>​modprobe nom_module</​code>​
 +Par exemple pour charger le module bluetooth (bluez.o.gz) se trouvant dans /​lib/​modules/​2.4.29/​kernel/​net/​bluetooth:​
 +<​code>​modprobe bluez</​code>​
 +
 +Pour avoir des informations sur ce module:
 +<​code>​modinfo bluez
 +filename: ​   /​lib/​modules/​2.4.29/​kernel/​net/​bluetooth/​bluez.o.gz
 +description:​ "BlueZ Core ver 2.4"
 +author: ​     "Maxim Krasnyansky <​maxk@qualcomm.com>"​
 +license: ​    "​GPL"</​code>​
 +
 +
 +=== Compilation d'un noyau ===
 +
 +==== Obtention des sources ====
 +Téléchargeons le dernier noyau stable disponible sur http://​www.kernel.org/​ (2.6.11.5):
 +<​code>​wget http://​www.kernel.org/​pub/​linux/​kernel/​v2.6/​linux-2.6.11.5.tar.bz2</​code>​
 +
 +Ensuite, on le décompresse dans /usr/src:
 +<​code>​tar xjf linux-2.6.11.5.tar.bz2 -C /​usr/​src/</​code>​
 +
 +On change le lien symbolique:
 +<​code>​cd /usr/src
 +root@forma312:/​usr/​src#​ ls -l
 +total 16
 +lrwxrwxrwx ​  1 root root    12 2005-03-17 13:38 linux -> linux-2.4.29/​
 +drwxr-xr-x ​ 15 root root  4096 2005-03-21 10:08 linux-2.4.29/​
 +drwxrwxr-x ​ 18 1001 users 4096 2005-03-19 07:35 linux-2.6.11.5/​
 +drwxr-xr-x ​  7 root root  4096 2003-10-29 07:08 rpm/
 +drwxr-xr-x ​  2 root root  4096 2005-01-20 23:31 speakup-2.4.29/​
 +root@forma312:/​usr/​src#​ rm linux
 +root@forma312:/​usr/​src#​ ln -s linux-2.6.11.5 linux 
 +root@forma312:/​usr/​src#​ ls -l                     
 +total 16
 +lrwxrwxrwx ​  1 root root    14 2005-03-21 10:08 linux -> linux-2.6.11.5/​
 +drwxr-xr-x ​ 15 root root  4096 2005-03-21 10:08 linux-2.4.29/​
 +drwxrwxr-x ​ 18 1001 users 4096 2005-03-19 07:35 linux-2.6.11.5/​
 +drwxr-xr-x ​  7 root root  4096 2003-10-29 07:08 rpm/
 +drwxr-xr-x ​  2 root root  4096 2005-01-20 23:31 speakup-2.4.29/</​code>​
 +
 +
 +==== Compilation ====
 +
 +Note: nous passons l'​étape ​
 +<​code>​make mrproper</​code>​
 +puisque nous n'​avons pas encore fait de compilation.
 +S'il y a eu compilation préalable, ne pas oublier cette étape: elle efface tous les fichiers de configuration et remet à zéro.
 +
 +Il y a plusieurs manière de choisir les options de compilation:​
 +<​code>​make config</​code>​
 +Le script pose une question pour chaque option (long)
 +
 +<​code>​make xconfig</​code>​
 +Menu sous X Window (graphique):​ X [[Windows]] n'est pas toujours installé, donc on ne l'​utilise pas.
 +
 +<​code>​make menuconfig</​code>​
 +Menu en ncurses: c'est ce que nous allons utiliser.
 +
 +
 +  * code maturity level options: est-ce qu'on prend des pilotes encore en développement (si oui, est-ce qu'on veut que ceux qui sont susceptibles de fonctionner)
 +  * general setup: option pour les petits noyaux
 +  * loadable kernel support: avec ou sans modules?
 +  * processor type and features: on va y choisir l'​architecture
 +  * power management options: acpi, apm, power off, suspend, etc.
 +  * bus options: support pour les différents bus: isa, pci, etc.
 +  * Executable file formats: elf, a.out, etc.
 +  * device drivers: les pilotes de périphériques
 +    * scsi device drivers -> scsi low-level drivers: déselectionner tout, sélectionner: ​ //Adaptec AIC7xxx Fast// et //Adaptec AIC7xxx support// (en dur parce que si c'est pas chargé au départ, on n'a pas accès au disque: on est mal
 +    * firewire: retirer le support (il n'y en a pas sur la machine)
 +    * networking support
 +      * ethernet 10/100 Mb: déselectionner Realtek, sélectionner EtherExpressPro/​100 support
 +    * networking options: IPv6, IPSEC dans le noyau, [[VPN]]
 +    * character devices: pour le matériel exotique
 +    * I2C support: cartes TV et capteurs
 +    * graphics support: sélectionner Support for frame buffer devices, puis dans //Console display driver support//, sélectionner ​ Framebuffer Console support
 +    * Logo configuration:​ sélectionner tout (c'est pour avoir Tux en framebuffer au boot)
 +    * sound: disable
 +    * USB: ne pas sélectionner
 +  * File systems
 +    * déselectionner ext2
 +    * native language support: ajouter codepage 850 et  NLS ISO 8859-15
 +  * profiling support: déselectionner
 +  * Linux Kernel Configuration:​ on change rien
 +  * Cryptographic options: on prend rien, c'est pour le [[VPN]]
 +On sauve, en l'​appelant fichier //.test1// (pour garder le .config de base qui nous permet de revenir en arrière)
 +On sort, sans sauver les options (puisqu'​on a déjà sauvé).
 +On copie .test1 vers .config
 +
 +On lance la compilation:​
 +<​code>​make
 +<​snip>​
 +Root device is (8, 3)
 +Boot sector 512 bytes.
 +Setup is 2810 bytes.
 +System is 1769 kB
 +Kernel: arch/​i386/​boot/​bzImage is ready
 +  Building modules, stage 2.
 +<​snip></​code>​
 +
 +Le noyau a été compilé et sauvé sous /​usr/​src/​linux/​arch/​i386/​boot/​bzImage.
 +
 +Nous devons encore l'​installer.
 +
 +==== Installation ====
 +<​code>​make install
 +  CHK     ​include/​linux/​version.h
 +make[1]: `arch/​i386/​kernel/​asm-offsets.s'​ is up to date.
 +  CHK     ​include/​linux/​compile.h
 +  CHK     ​usr/​initramfs_list
 +Kernel: arch/​i386/​boot/​bzImage is ready
 +sh /​usr/​src/​linux-2.6.11.5/​arch/​i386/​boot/​install.sh 2.6.11.5 arch/​i386/​boot/​bzImage System.map ""​
 +Added Linux *</​code>​
 +Il a ajouté dans / vmlinuz et ~System.map
 +
 +Ensuite, il faut le copier au bon endroit.
 +
 +D'​abord,​ renommer l'​ancien vmlinuz en linux-2.4:
 +<​code>​cd /boot
 +mv vmlinuz linux-2.4</​code>​
 +
 +Déplacer le nouveau noyau dans /boot
 +<​code>​mv /vmlinuz /​boot/​linux-2.6</​code>​
 +
 +Editer /​etc/​lilo.conf:​
 +<​code>#​ Linux bootable partition config begins
 +#image = /​boot/​vmlinuz
 +#  root = /dev/sda3
 +#  label = Linux
 +#  read-only
 +image = /​boot/​linux-2.4
 +  root = /dev/sda3
 +  label = Linux-2.4
 +  read-only
 +image = /​boot/​linux-2.6
 +  root = /dev/sda3
 +  label = Linux-2.6
 +  read-only
 +  # Linux bootable partition config ends</​code>​
 +
 +Faire tourner lilo:
 +<​code>​lilo ​              
 +Added Linux-2.4 *
 +Added Linux-2.6</​code>​
 +
 +Redémarrer
 +<​code>​reboot</​code>​
 +Et sélectionner le noyau 2.6. Si tout s'est bien passé, il va booter et on peut vérifier le numéro de version du nouveau noyau:
 +<​code>​uname -a
 +Linux forma312 2.6.11.5 #1 SMP Mon Mar 21 12:05:00 CET 2005 i686 unknown unknown GNU/​Linux</​code>​
 +
 +Cependant, le noyau étant un peu gros:
 +<​code>​ls -lh /​boot/​linux-2.6 ​
 +-rw-r--r-- ​ 1 root root 1.8M 2005-03-21 12:08 /​boot/​linux-2.6</​code>​
 +
 +Nous allons faire à titre d'​exercice un nouveau noyau qui doit faire moins d'1.5 Mo et tourner.
  
formationsecurite/administrationlinux.txt · Last modified: 2013/01/30 17:52 (external edit)