|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use esmith::ConfigDB;
|
|
|
|
my $c = esmith::ConfigDB->open_ro or die "Couldn't open ConfigDB\n";
|
|
|
|
my $rec = $c->get('samba-db-logd');
|
|
|
|
my $dbname = $rec->prop('DbName') || 'samba_log';
|
|
|
|
my $dbuser = $rec->prop('DbUser') || 'samba';
|
|
|
|
my $dbpass = $rec->prop('DbPassword') || 'samba';
|
|
|
|
my $dbhost = $rec->prop('DbHost') || 'localhost';
|
|
|
|
my $log = '/var/log/messages';
|
|
|
|
if (-e '/var/log/smb_audit.log') {
|
|
|
|
$log = '/var/log/smb_audit.log';
|
|
|
|
}
|
|
|
|
elsif ($rec->prop('LogFile')){
|
|
|
|
$log = $rec->prop('LogFile');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
open(STDERR, ">&STDOUT");
|
|
|
|
|
|
|
|
my @args = ("--debug=1", "--dbname=$dbname", "--dbuser=$dbuser",
|
|
|
|
"--dbpass=$dbpass", "--exclude=opendir",
|
|
|
|
"--log=$log");
|
|
|
|
|
|
|
|
push @args, "--dbhost=$dbhost" if ($dbhost ne 'localhost');
|
|
|
|
|
|
|
|
my $smbd = $c->get('smbd')->prop('status');
|
|
|
|
|
|
|
|
if ($smbd ne 'enabled'){
|
|
|
|
exec("sv", "d", "/service/samba-db-logd");
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
exec("/usr/bin/samba-db-logd", @args)
|
|
|
|
or die "Cannot run the Samba Database Loggind Daemon";
|
|
|
|
|
|
|
|
exit(1);
|