Debian logo [inetdoc.LINUX]




[inetdoc.LINUX]

http://www.linux-france.org/prj/inetdoc
Exploration GNU/Linux - Séance 5

Comptes utilisteurs & Identités
Modules d'authentification PAM
Services syslog et cron
images/ups.png

Philippe Latu
philippe.latu(at)linux-france.org
IUT 'A' Paul Sabatier - STRI

$Id: explore.seance.5.mgp 1239 2008-01-17 11:56:14Z latu $

(page 1)

(2/29)
Services du système GNU/Linux
(page 2)

(3/29)
Comptes utilisateurs
(page 3)

(4/29)
Comptes utilisateurs
$ cat /etc/passwd | grep www-data www-data:x:33:33:www-data:/var/www:/bin/sh
  • Utilisateur etu : uid=1000
$ cat /etc/passwd |grep etu etu:x:1000:1000:Etudiant,,,:/home/etu:/bin/bash $ ls -l ~/.bashrc
-rw-r--r-- 1 etu etu 1422 2004-12-12 14:08 /home/etu/.bashrc $ ls -ln ~/.bashrc
-rw-r--r-- 1 1000 1000 1422 2004-12-12 14:08 /home/etu/.bashrc

(page 4)

(5/29)
Comptes utilisateurs
$ cat /etc/group |grep audio
audio:x:29: etu
  • Utilisateur etu
$ id
uid=1000(etu) gid=1000(etu) groupes=4(adm),20(dialout),\%fore "#bf1238"
29(audio),44(video),1000(etu)
  • Arborescence des périphériques
$ ls -l /dev/snd
total 0
crw-rw---- 1 root audio 116, 0 2008-01-16 10:15 controlC0
crw-rw---- 1 root audio 116, 32 2008-01-16 10:15 controlC1
crw-rw---- 1 root audio 116, 24 2008-01-16 10:15 pcmC0D0c
crw-rw---- 1 root audio 116, 16 2008-01-16 10:15 pcmC0D0p
crw-rw---- 1 root audio 116, 1 2008-01-16 10:15 seq
crw-rw---- 1 root audio 116, 33 2008-01-16 10:15 timer

(page 5)

(6/29)
Comptes utilisateurs
(page 6)

(7/29)
Comptes utilisateurs
(page 7)

(8/29)
Service de gestion des connexions
(page 8)

(9/29)
Service de gestion des connexions
(page 9)

(10/29)
Changement d'identité
$ su
:/home/etu#
  • Accès à un autre compte utilisateur après authentification
$ su test
$ set |grep USER
PROMPT_COMMAND='echo -ne "\\033]0;${USER}@${HOSTNAME}: ${PWD}\\007"'
USER=test
  • Depuis le niveau super-utilisateur
    • Accès à tous les comptes utilisateur sans authentification
# su test
$ cd ~ ; pwd
/home/test

(page 10)

(11/29)
Changement d'identité
# Captures sur les interfaces réseau sans mot de passe
etu ALL = NOPASSWD: /usr/bin/wireshark, /usr/bin/tshark
  • Utilisation de la commande
$ sudo tshark -i eth0

(page 11)

(12/29)
Messages systèmes
«La vérité n'est pas ailleurs, elle est dans les logs !»


(page 12)

(13/29)
Messages systèmes
images/explore_syslogd.png
(page 13)

(14/29)
Messages systèmes
$ man syslog.conf


(page 14)

(15/29)
Messages systèmes
auth - messages de connexion/déconnexion (déconseillé !)
authpriv - idem ci-dessus avec restrictions d'accès aux messages
console - messages normalement destinés à la console système
cron - messages du planificateur système
daemon - fourre-tout pour tous les démons systèmes
kern - messages du noyau
lpr - messages du service d'impression
mail - messages du service de courrier
user - fourre-tout pour les programmes utilisateur
  • Niveaux de détails par ordre décroissant
debug - informations développeur
info - informations générales
err - erreurs diverses
warning - avertissements divers
notice - informations générales ne nécessitant pas d'intervention

(page 15)

(16/29)
Messages systèmes
(page 16)

(17/29)
Messages systèmes
# journalisation de tous les messages du service de courrier
mail.* /var/log/mail.log
  • Exclusion d'un type : ';'
# journalisation de tous les messages sauf les accès utilisateur
*.*;authpriv.none /var/log/all.log
  • Sélection d'une priorité individuelle : '='
# journalisation de tout le trafic du service de courrier
mail.info /var/log/mail.log
# journalisation du debugging
mail.=debug /var/log/mail.debug
  • Accès temporisé au fichier : '-'
# journalisation temporisée des messages du noyau
kern.* -/var/log/kern.log

(page 17)

(18/29)
Messages systèmes
# less /var/log/syslog # consultation du fichier
# tail -150 /var/log/syslog # affichage des 150 dernières lignes
# /bin/cat /dev/xconsole | /usr/bin/lwatch -i-


(page 18)

(19/29)
Messages systèmes
# ls -l /dev/xconsole
prw-r----- 1 root adm 0 2005-05-04 15:52 /dev/xconsole
    • Ajouter l'utilisateur etu à ce groupe
  • Retrouver l'initialisation de la connexion réseau
    • Fichiers daemon.log et syslog
    • Commandes cat, less et grep
  • Ouvrir une console graphique de journalisation
    • Éditer le fichier /etc/syslog.conf
    • Redémarrer le service
# /etc/init.d/sysklogd restart
  • Utiliser le pseudo terminal /dev/xconsole
$ xconsole -daemon -savelines 20 -file /dev/xconsole

(page 19)

(20/29)
Messages systèmes
# dpkg-reconfigure -plow exim4-config
    • Courrier délivré localement
    • Courriers systèmes transmis à l'utilisateur 'etu'
  • Consulter un rapport
    • Générer un rapport immédiat
# /usr/sbin/logwatch --mailto
    • Utiliser mail ou mutt pour consulter le rapport
  • Quelles sont les sections du rapport ?
    • Identifier les services utilisés sur le système


(page 20)

(21/29)
Messages systèmes
images/explore_syslog-ng.png
(page 21)

(22/29)
Messages systèmes
# cat /etc/logrotate.d/apache2
/var/log/apache2/*.log { # traitement sur tous les fichiers du répertoire weekly # rotation hebdomadaire missingok # pas de rapport d'erreur si le fichier est absent rotate 52 # rotation sur 52 semaines compress # compression des fichiers d'archives delaycompress # attendre un tour avant la compression notifempty # pas de compression si le fichier est vide create 640 root adm # permissions et propriétaire des archives sharedscripts # traitement après rotation postrotate # redémarrage du service s'il est actif if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}

(page 22)

(23/29)
Planification des tâches
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || \ run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || \ run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || \ run-parts --report /etc/cron.monthly
  • Syntaxe de planification
    • minute - heure - jour du mois - mois - jour de la semaine


(page 23)

(24/29)
Planification des tâches
$ cat /etc/cron.weekly/man-db
#!/bin/sh
#
# Last modification: Fri, 18 May 2001 13:54:15 +0100
# man-db cron weekly
# regenerate man database
if [ -x /usr/bin/mandb ]; then
nice su man -c 'mandb 2>/dev/null >/dev/null'
fi

(page 24)

(25/29)
Planification des tâches
#!/bin/sh
if [ ! -f /var/log/apt-upgrade.log ]; then
touch /var/log/apt-upgrade.log
fi
if [ -x /usr/bin/apt-get ]; then
/usr/bin/apt-get -q update >>/var/log/apt-upgrade.log 2>&1
apt-get -s -y -q -f --fix-missing --show-upgraded dist-upgrade \ >>/var/log/apt-upgrade.log 2>&1
fi
exit 0

(page 25)

(26/29)
Surveillance des connexions
$ w
16:54:37 up 1:35, 1 user, load average: 1,00, 0,75, 0,42
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
etu :0 - 15:21 ?xdm? 4:33 0.00s -:0
  • Journalisation dans /var/log/auth.log
Jan 14 18:59:55 host kdm: :0[20956]: \ pam_unix(kdm:session): session opened for user etu by (uid=0)
Jan 14 20:56:41 host su[14330]: Successful su for root by etu
Jan 14 20:56:41 host su[14330]: + pts/3 etu:root

(page 26)

(27/29)
Surveillance des connexions
sateur Port Venant de Dernière
root tty1 ven mai 23 09:30:48 +0200 2007
daemon **Jamais connecté**
bin **Jamais connecté**
sys **Jamais connecté**
sync **Jamais connecté**
www-data **Jamais connecté**
man **Jamais connecté**
lp **Jamais connecté**
mail **Jamais connecté**


(page 27)

(28/29)
Synthèse
(page 28)

(29/29)
Synthèse
(page 29)