Samba Logs

La création d'un partage Samba a déjà été évoqué précédemment.

Une fois les différents partages et contrôle d'accès mis en place, il peut être intéressant d'avoir des logs clairs permettant de suivre l'activité des différents partages. En effet, par défaut, Samba regroupe ses logs dans plusieurs fichiers(1 par utilisateur et machine), et il peut être fastidieux de les parcourir et d'y trouver la bonne information. La solution préconisée par Samba est l'utilisation de . Le module le plus précis et paramétrable est .

Il vous suffit alors de compléter le fichier smb.conf de la manière suivante :

#======================= Global Settings =======================
[global]

       log level = 1 vfs:10
       vfs objects = full_audit
       full_audit:prefix = %u|%I|%m|%S
       full_audit:success = mkdir rename unlink rmdir pwrite
       full_audit:failure = none
       full_audit:facility = LOCAL7
       full_audit:priority = NOTICE

# penser à commenter les lignes suivantes :
# log file = /var/log/samba/%U.%m.log
# syslog only = yes
# syslog = 2

Les déclarations du module sont mises dans la section globale mais peuvent être également placées dans chaque partage.

Un peu d'explication à propos des déclarations :

  • la ligne "log level" : elle permet de préciser le niveau des logs (1 donnant le minimum d'informations utiles et 10 le maximum). Ici, on met le niveau global des logs de samba à "1" et celui du module à "10".
  • la ligne "vfs objects" : elle permet de déclarer l'utilisation du module full_audit sur tous les partages
  • la ligne "full_audit:prefix" : elle spécifie la syntaxe des lignes de logs (les samba peuvent être utilisées). Cette ligne donnera alors le nom d'utilisateur, l'adresse IP du client, le nom de la machine et le partage accédé, séparés par des pipes.
  • la ligne "full_audit:prefix" : elle permet de spécifier les à enregistrer.
  • la ligne "full_audit:failure" : de même avec les actions échouées
  • la ligne "full_audit:facility" elle permet d'attribuer une instance du syslog (1)
  • la ligne "full_audit:priority" : elle permet d'attribuer l'importance des messages (dans l'ordre d'urgence : EMERG, ALERT, CRIT, ERR, WARNING, NOTICE, INFO, DEBUG)
(1) Créer une instance du syslog

Pour créer une nouvelle instance du syslog, il faut aller modifier le fichier de configuration /etc/rsyslog.conf afin d'y rajouter :

       #creating a syslog facility
       local7.*        /var/log/samba/log.audit

Ce qui signifie que tous les messages de local7 seront écrit dans /var/log/samba/log.audit (qui devient alors notre fichier d'audit principal). Il faut ensuite redémarer le démon syslog pour prendre en compte les changements (avec /etc/init.d/rsyslog restart).

Exemple du fichier log.audit :
     Aug  4 16:46:04 localhost smbd[29819]: a-hyaric|172.18.60.233|cnu85175wc|a-hyaric|pwrite|ok|~$uveau Document Microsoft Word.docx
     Aug  4 16:46:12 localhost smbd[29819]: a-hyaric|172.18.60.233|cnu85175wc|a-hyaric|rename|ok|./93DC53A7.tmp|./Nouveau Document Microsoft Word.docx
     Aug  4 16:47:37 localhost smbd[29819]: a-hyaric|172.18.60.233|cnu85175wc|a-hyaric|unlink|ok|Copie de favicon.ico

Source : ici

La discussion continue ailleurs

URL de rétrolien : http://www.leslamas.net/index.php?trackback/30

Fil des commentaires de ce billet