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:
- If the error appears only on specific clients and you won't change the config for all clients.
- If you're running Samba with many clients level 10 logs can fill your disk space very fast and slow down your system.
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