Client specific Log

Introduction

When diagnosing a problem, Samba developers are likely to request a level 10 log file.

There are different reasons for creating client specific log files:

Configuring client specific Log


Create a new config file /etc/samba/smb.conf.client-debug

 [global]
 # no log file size limitation
 max log size = 0
 # specific log file name
 log file = /var/log/samba/log.%I
 # set the debug level
 log level = 10
 # add the pid to the log
 debug pid = yes
 # add the uid to the log
 debug uid = yes
 # add the debug class to the log
 debug class = yes
 # add microsecond resolution to timestamp
 debug hires timestamp = yes

Add the following line to your smb.conf (/usr/local/samba/etc/smb.conf) at the end of the global section:

 include = /etc/samba/smb.conf.client-%I

To activate level 10 logging for e.g. client 10.12.2.70 create a symbolic link:

 ln -s /etc/samba/smb.conf.client-debug /etc/samba/smb.conf.client-10.12.2.70

You do not have to restart all of Samba. If the client 10.12.2.70 connects to your samba the smbd includes the /etc/samba/smb.conf.client-10.12.2.70 config file and writes the debug information to /usr/local/samba/var/log/log.10.12.2.70. These changes will have no effect to other clients except 10.12.2.70. For additional clients you can simply create additional symlinks.

For changing the log level temporary you can use smbcontrol runtime:

 # set debug level for all smbd
 smbcontrol smbd debug 10

 # set debug level for process with pid 12345
 smbcontrol 12345 debug 10

 # request debug level for process with pid 12345
 smbcontrol 12345 debuglevel