admin tips
table des matières
but : pour empêcher tout accès a ses données
solution :
- mettre un mot de passe dans la configuration lilo rend impossible de
booter en single user (password ou password + restricted),
ne pas oublier un chmod 600 /etc/lilo.conf
- crypter le file système (expérimental), voir linux magazine numéro 12
Par défaut, on ne peut se connecter directement en tant que root que sur la console.
Cela permet une meilleure sécurité (un su laisse une trace ...)
pour activer le pave numérique :
- en mode console: ajouter dans le fichier /etc/rc.d/rc.local les lignes :
INITTY=/dev/tty[1-8]
for tty in $INITTY; do
setleds -D +num < $tty
done
- sous X:
- soit utiliser le programme numlockx, mais le problème c'est ou le mettre ou le lancer ?
- soit utiliser le package numlock, qui se lance en général comme il faut, au bon moment
- si vous utilisez gdm au lieu de xdm, il peut être nécessaire de forcer le lancement de numlock dans le fichier /etc/X11/gdm/Init/Default
Cela ne suffit pas pour que le pave marche sous vi. Pour cela, la solution la plus simple est de mapper les touches du clavier avec xmodmap
Pour cela (sous Redhat) mettre sous /etc/X11/xinit(en rh 6.2) ou sous /etc/X11(en rh 7.x) le fichier Xmodmap
il sera exécuté automatiquement au démarrage de X par /etc/X11/xinit/xinitrc
autre solution : Éditer le fichier /usr/X11R6/lib/X11/xkb/types/basic et y changer les lignes :
type "KEYPAD" {
modifiers = Shift+NumLock;
map[None] = Level1;
map[Shift] = Level2;
map[NumLock] = Level2;
map[Shift+NumLock] = Level1;
level_name[Level1] = "Base";
level_name[Level2] = "Number";
};
De manière à ce que ça donne :
type "KEYPAD" {
modifiers = Shift+NumLock;
map[None] = Level2;
map[Shift] = Level1;
map[NumLock] = Level1;
map[Shift+NumLock] = Level2;
level_name[Level1] = "Base";
level_name[Level2] = "Number";
};
remarque : ça n'allume pas les led : ça inverse le comportement du pavé numérique
si l'on a besoin d'un module pas installe , par exemple HTML::TokeParser :
/usr/bin/perl -MCPAN -e 'install HTML::TokeParser'
synchroniser
pour synchroniser son heure système sur une autre machine : 2 solutions
- rdate : pour une synchronisation "lâche" (une fois par jour par exemple)
- xntp3 : pour une synchronisation a la milliseconde, permanente
dérive
comment régler une machine dont l'horloge dérive, on va utiliser l'outil adjtimex (du package rpm de même nom) :
- synchroniser l'heure système de la machine (par exemple avec ntpdate)
- synchroniser l'heure système avec l'horloge cmos : hwclock --systohc
- faire un premier réglage grossier de la fréquence de l'horloge avec la commande adjtimex --adjust
- 24 heures plus tard, relancer la commande ntpdate, la dérive apparait dans le champ "offset" (en secondes) (exemple : 263)
- convertir le décalage en ticks (man adjtimex) : +/-1 ticks pour 8,64 secondes de dérive par 24 heures (263/8.6 = 30)
- recupérer le ticks courant avec
adjtimex -p
, calculer le nouveau ticks
- modifier le parametrage avec la commande :
adjtimex --tick nouvelle_valeur
- re-tester sur 24 heures et itérer jusqu'à obtenir une dérive inférieure a 8s par jour
- puis affiner en jouant sur la fréquence pour les dérives inférieures a 8s/jour
divers
- pour mettre a l'heure l'horloge CMOS ("hc") depuis l'heure système ("sys), il faut utiliser hwclock --systohc
si l'on veut activer la vérification des signatures gpg/pgp sur des lancements du logiciel
autorpm par cron, il y a une subtilité : la variable HOME doit être positionnée a HOME=/root
au lieu de HOME=/ (/etc/crontab, /etc/anacrontab ou /etc/cron.daily/autorpm.cron)
par défaut, si une interface (par ex eth0) est activée au boot, alors ses
adresses virtuelles le sont aussi (ne tient pas compte du champ ONBOOT)
on peut en tenir compte en modifiant le fichier /etc/sysconfig/network-scripts/ifup-aliases comme suit :
--- ifup-aliases.sav 2003-09-24 16:29:54.000000000 +0200
+++ ifup-aliases 2005-09-20 10:35:49.000000000 +0200
@@ -292,6 +292,11 @@
for FILE in ifcfg-${parent_device}:*[^~] ; do
ini_env;
. $FILE;
+ # ajout eg 30/11/2000
+ if [ "${ONBOOT}" = "no" ]; then
+ continue
+ fi
+ # fin ajout
[ -z "$DEVICE" ] && DEVICE=${FILE##ifcfg-}
pour qu'un utilisateur n'ait pas accès au système, mais seulement a une application (graphique)
il suffit de mettre dans son home directory un fichier .Xclients qui contient (pour lancer un xterm par exemple) :
twm &
exec /usr/X11R6/bin/xterm
des que l'on sort du xterm,on revient au login ...
mettre dans le fichier /etc/logrotate.conf les lignes :
compress
delaycompress
lorsqu'il se produit des erreurs disques, il y a souvent des secteurs défectueux, ce que l'on corrige avec un fsck
mais qui ne doit tourner que sur une partition en lecture seule.
Pour éviter de rebooter (arrêt des services, réduction des uptime :) ) on peut faire :
mount -o remount,ro /
e2fsck -cvf /dev/hda...
mount -o remount,rw /
si l'on reçoit dans syslog un message du type modprobe: Can't locate module ...
consulter le fichier /usr/src/linux/Documentation/devices.txt
par défaut lilo interprète le clavier comme us, donc qwerty, ce qui peut poser des problèmes
avec des password contenant des caractères spéciaux.
la documentation de lilo propose une solution, mais qui ne marche pas avec le lilo packagé par Redhat. il
faut donc utiliser l'outil keytab-lilo.pl d'origine (tar.gz)
ce qu'il faut faire :
- keytab-lilo.pl /usr/lib/kbd/keymaps/i386/azerty/fr-latin1.kmap.gz > /boot/fr-latin1.klt
- ajouter la ligne keytable=/boot/fr-latin1.klt dans /etc/lilo.conf
- relancer lilo : lilo -v
faire des essais
le plus simple est d'écrire les nouvelles valeurs dans /proc
par exemple echo 1 > /proc/sys/net/ipv4/ip_forward
sinon via la commande sysctl
configuration permanente légère
faire les modifications dans /etc/sysctl.conf ou via l'interface graphique sysctlconfig-gtk
solution lourde
recompiler le noyau
la documentation prends plein de place !!!. on peut donc en gagner :
- n'installer que les packages HOWTO et éventuellement howto-french (vérifier par rpm -qa | grep howto)
- dans ces HOWTO, virer les formats qui ne sont pas exploites, dans mon cas les pdf, sgml, ps
pour pouvoir travailler a partir d'un terminal X sur un serveur linux, il faut :
- modifier /etc/X11/gdm/gdm.conf : paragraphe [xdmcp] ligne Enable=1
- démarrer gdm (init 5 par exemple) ou xdm
pour supprimer les sessions inactives, plusieurs solutions :
- TMOUT (bash)
- package idled
- package autolog
définition
les "magic keys" permettent d'agir sur le noyau sans devoir se connecter sur le système
doc
sur /usr/src/linux/Documentation/sysrq.txt
utilisation
- vérifier que votre noyau est compile avec les options "kernel hacking" : ça doit créer un fichier /proc/sys/kernel/sysrq
- activer les "magic keys" en mettant 1 dans ce fichier (avec sysctl par exemple)
- la séquence d'accès se fait par alt+Syst (print screen) +
- s : sync
- u : remontage des fs en lecture seule
- b : reboot sans démontage, ni sync
pour faire marcher les remote commandes, même si c'est fortement déconseillé (pas sécurisé : les mots de passe circulent en clair sur le réseau !)
- installer le package rsh-server
- activer la prise en compte par inetd/xinetd : chkconfig rsh on
- modifier le fichier /etc/securetty pour y ajouter la ligne : rsh
- créer un fichier .rhosts, avec les droits 600, et tester
l'ordre de decouverte des interfaces reseaux peux changer selon les versions de distribution (surprise au redemarrage : ça ne marche plus) !
on peut fixer les noms d'interfaces sur les adresses mac avec la commande nameif
et son fichier associé /etc/mactab
il faut ajouter dans le fichier /etc/sysconfig/network les lignes :
IPV6_AUTOTUNNEL=no
IPV6_AUTOCONF=no
IPV6FORWARDING=no
NETWORKING_IPV6=no
et ajouter dans le fichier /etc/modprobe.conf les lignes :
alias net-pf-10 off
alias ipv6 off
pour trouver qui utilise le swapp sur une machine, il suffit d'utiliser la commande top
- taper f puis p : pour faire apparaitre une colonne swapp
- taper F puis p : pour trier les processus selon la consommation du swapp
version 1.66 du 2007-12-04
Eric Gerbier
documentation sous licence GNU Free Documentation License