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    (unused)
 +snd-mixer-oss          12152    [snd-pcm-oss]
 +parport_pc             15044    (autoclean)
 +lp                      6404    (autoclean)
 +parport                22824    (autoclean) [parport_pc lp]
 +usbcore                58860   
 +snd-ens1371            11392    (unused)
 +gameport                1420    [snd-ens1371]
 +snd-rawmidi            12320    [snd-ens1371]
 +snd-seq-device          3812    [snd-rawmidi]
 +snd-ac97-codec         52472    [snd-ens1371]
 +snd-pcm                54504    [snd-pcm-oss snd-ens1371 snd-ac97-codec]
 +snd-timer              13412    [snd-pcm]
 +snd                    31268    [snd-pcm-oss snd-mixer-oss snd-ens1371 snd-rawmidi snd-seq-device snd-ac97-codec snd-pcm snd-timer]
 +snd-page-alloc          4712    [snd-mixer-oss snd-rawmidi snd-seq-device snd-pcm snd-timer snd]
 +soundcore               3396    [snd]
 +eepro100               18836   
 +mii                     2272    [eepro100]
 +ide-scsi                9392   
 +agpgart                45092    (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)