From 32337d481fa1ceeba234431548786bb7971d01aa Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Sun, 14 Oct 2012 20:57:26 +0200 Subject: [PATCH] Toujours remplir la colonne access_mode --- root/usr/bin/samba-db-logd | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/root/usr/bin/samba-db-logd b/root/usr/bin/samba-db-logd index 656772f..5e579be 100755 --- a/root/usr/bin/samba-db-logd +++ b/root/usr/bin/samba-db-logd @@ -90,10 +90,16 @@ while (defined(my $line=$tail->read)){ } my @other = split /\|/, $line; - if (($action eq 'opendir') || ($action eq 'rmdir') || ($action eq 'mkdir') || ($action eq 'unlink')){ + if ($action eq 'opendir'){ # Oct 12 17:20:24 sme8 smbd[11176]: admin|192.168.7.50|pc10-45|intranet|opendir|ok|./ $status = $other[5]; $file_src = $other[6]; + $access_mode = 'r'; + } + elsif (($action eq 'rmdir') || ($action eq 'mkdir') || ($action eq 'unlink')){ + $status = $other[5]; + $file_src = $other[6]; + $access_mode = 'w'; } elsif ($action eq 'open'){ # Oct 12 17:20:28 sme8 smbd[11176]: admin|192.168.7.50|pc10-45|intranet|open|ok|r|Nouveau document @@ -106,6 +112,7 @@ while (defined(my $line=$tail->read)){ $status = $other[5]; $file_src = $other[6]; $file_dst = $other[7]; + $access_mode = 'w'; } my ($sec,$min,$hour,$day,$mon,$year) = localtime; @@ -122,7 +129,7 @@ while (defined(my $line=$tail->read)){ $client_name = mysql_escape($client_name); $share = mysql_escape($share); $action = mysql_escape($action); - $access_mode = mysql_escape($access_mode) if (defined $access_mode); + $access_mode = mysql_escape($access_mode); $status = mysql_escape($status); $file_src = mysql_escape($file_src); $file_dst = mysql_escape($file_dst) if (defined $file_dst); @@ -134,8 +141,7 @@ while (defined(my $line=$tail->read)){ if ($opts{debug} ge 2){ my $msg = "New audit entry:\ndate: $date\nhour: $time\nusername: $username\n". "client_ip: $client_ip\nclient_name: $client_name\nshare: $share\n". - "action: $action\nstatus: $status\nfile_src: $file_src"; - $msg .= "\naccess_mode: $access_mode" if (defined $access_mode); + "action: $action\nstatus: $status\nfile_src: $file_src\naccess_mode: $access_mode"; $msg .= "\nfile_dst: $file_dst" if (defined $file_dst); $msg .= "\n"; printlog($msg); @@ -143,13 +149,11 @@ while (defined(my $line=$tail->read)){ my $q = "INSERT INTO audit ". "(samba_host,date_day,date_time,username,client_ip,client_name,". - "action,"; - $q .= "access_mode," if (defined $access_mode); + "action,access_mode,"; $q .= "status,share,file_src"; $q .= ",file_dst" if (defined $file_dst); $q .= ") VALUES('$host','$date','$time','$username','$client_ip','$client_name',". - "'$action'"; - $q .= ",'$access_mode'" if (defined $access_mode); + "'$action','$access_mode'"; $q .= ",'$status','$share','$file_src'"; $q .= ",'$file_dst'" if (defined $file_dst); $q .= ")";