User Tools

Site Tools


formationsecurite:administrationlinux

toc

17 mars 2005

Le cours est disponible en ligne: 1)

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:

Section "InputDevice"
    Identifier  "Mouse1"

Changer:

Option "Protocol"    "PS/2"

en

Option "Protocol"    "imPS/2"

Pour la roulette, ajouter:

        Option          "ZAxisMapping"          "4 5"
Option "Buttons" "3"

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

startx

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:

 uname -a
Linux forma312 2.4.29 #2 Thu Jan 20 16:20:24 PST 2005 i686 unknown unknown GNU/Linux

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:

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)

Pour charger un module:

modprobe nom_module

Par exemple pour charger le module bluetooth (bluez.o.gz) se trouvant dans /lib/modules/2.4.29/kernel/net/bluetooth:

modprobe bluez

Pour avoir des informations sur ce module:

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"

Compilation d'un noyau

Obtention des sources

Téléchargeons le dernier noyau stable disponible sur http://www.kernel.org/ (2.6.11.5):

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.5.tar.bz2

Ensuite, on le décompresse dans /usr/src:

tar xjf linux-2.6.11.5.tar.bz2 -C /usr/src/

On change le lien symbolique:

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/

Compilation

Note: nous passons l'étape

make mrproper

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:

make config

Le script pose une question pour chaque option (long)

make xconfig

Menu sous X Window (graphique): X Windows n'est pas toujours installé, donc on ne l'utilise pas.

make menuconfig

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:

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>

Le noyau a été compilé et sauvé sous /usr/src/linux/arch/i386/boot/bzImage.

Nous devons encore l'installer.

Installation

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 *

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:

cd /boot
mv vmlinuz linux-2.4

Déplacer le nouveau noyau dans /boot

mv /vmlinuz /boot/linux-2.6

Editer /etc/lilo.conf:

# 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

Faire tourner lilo:

lilo               
Added Linux-2.4 *
Added Linux-2.6

Redémarrer

reboot

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:

uname -a
Linux forma312 2.6.11.5 #1 SMP Mon Mar 21 12:05:00 CET 2005 i686 unknown unknown GNU/Linux

Cependant, le noyau étant un peu gros:

ls -lh /boot/linux-2.6 
-rw-r--r--  1 root root 1.8M 2005-03-21 12:08 /boot/linux-2.6

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)