You are not logged in.
Hi there,
I'm having problem configuring my /etc/samba/smb.conf so it would stdout and I'll be able to see logs with journalctl -u smbd
wiki is not so infomative about logging with samba and systemd.
Here is my current /etc/samba/smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server
security = user
load printers = yes
log level = 3
log file = /var/log/samba/%m.log
create mask = 0664
directory mask = 0775
force create mode = 0664
force directory mode = 0775
max log size = 50
dns proxy = no
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[myshare]
comment = toastman_logs
path = /home/frojnd/router_logs
valid users = frojnd
read only = No
available = yes
;public = no
;writable = yes
;printable = no
;create mask = 0765
If I understand correctly this samba needs to stdout logs so journalctl can print those logs and lines:
log level = 3
log file = /var/log/samba/%m.log
are not needed anymore?
How do I configure samba to stdout logs?
Last edited by frojnd (2013-01-08 16:38:57)
Offline
C'mon SyS admins Where are you?
Offline
/dev/stdout ?
Offline
or I guess reading man page:
syslog only (G)
If this parameter is set then Samba debug messages are logged into the system syslog only, and not to the debug log files. There still will be some logging to log.[sn]mbd even if syslog only is enabled.
Default: syslog only = no
syslog (G)
This parameter maps how Samba debug messages are logged onto the system syslog logging levels. Samba debug level zero maps onto syslog LOG_ERR, debug level one maps onto LOG_WARNING, debug level two maps onto LOG_NOTICE, debug level three maps onto LOG_INFO. All higher levels are mapped to LOG_DEBUG.
This parameter sets the threshold for sending messages to syslog. Only messages with debug level less than this value will be sent to syslog. There still will be some logging to log.[sn]mbd even if syslog only is enabled.
Default: syslog = 1
Offline
C'mon SyS admins Where are you?
I am assuming that you use the stock {s,n}mbd.service. Then, it starts smbd with -F = foreground. Now, the problem is that samba will produce an error, assume -D and fork into background (just check "systemct status smbd.service" as root). So, you'll need log files. Moreover, journald does capture system logs, not necessarily from stdout.
For example, in my case
$ gr -v -e "^$" -e "^#" -e "^;" ../configs/metal-0/smb.conf
[global]
strict allocate = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=16384 SO_RCVBUF=16384
workgroup = skynet
server string = metal-0
security = share
hosts allow = 127.0.0.1 10.0.0.0/24
hosts deny = 0.0.0.0/0
interfaces = br0 lo
bind interfaces only = yes
load printers = no
printcap name = /dev/null
printing = bsd
log file = /var/log/samba/samba.log
dns proxy = no
[public]
path = /home/smb_nobody
public = yes
only guest = yes
writable = yes
printable = no
and
% journalctl -u smbd.service
-- Logs begin at Wed, 2012-12-19 14:42:48 EST, end at Mon, 2013-01-07 20:20:32 EST. --
Dec 25 21:49:40 metal-0 smbd[400]: [2012/12/25 21:49:40.948679, 0] smbd/server.c:1082(main)
Dec 25 21:49:40 metal-0 smbd[400]: standard input is not a socket, assuming -D option
Jan 05 18:33:26 metal-0 smbd[7444]: [2013/01/05 18:33:26.954281, 0] smbd/process.c:244(read_packet_remai
Jan 05 20:10:17 metal-0 smbd[7639]: [2013/01/05 20:10:17.992591, 0] smbd/process.c:244(read_packet_remai
Jan 05 20:12:31 metal-0 smbd[7669]: [2013/01/05 20:12:31.105816, 0] smbd/process.c:244(read_packet_remai
Jan 05 20:12:31 metal-0 smbd[7669]: read_fd_with_timeout failed for client 10.0.0.11 read error = NT_STAT
Jan 05 21:25:46 metal-0 smbd[8099]: [2013/01/05 21:25:46.748860, 0] smbd/process.c:244(read_packet_remai
Jan 06 11:09:13 metal-0 smbd[8757]: [2013/01/06 11:09:13.462034, 0] smbd/process.c:244(read_packet_remai
Jan 06 11:09:13 metal-0 smbd[8757]: read_fd_with_timeout failed for client 10.0.0.11 read error = NT_STAT
Arch Linux is more than just GNU/Linux -- it's an adventure
pkill -9 systemd
Offline
Leonid.I,
yes I'm using stock {s,n}mbd service:
# systemctl status smbd.service
smbd.service - Samba SMB/CIFS server
Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled)
Active: active (running) since Thu, 1970-01-01 01:00:11 CET; 43 years and 0 months ago
Main PID: 152 (smbd)
CGroup: name=systemd:/system/smbd.service
├─152 /usr/sbin/smbd -F
└─163 /usr/sbin/smbd -F
# systemctl status nmbd.service
nmbd.service - Samba NetBIOS name server
Loaded: loaded (/usr/lib/systemd/system/nmbd.service; enabled)
Active: active (running) since Thu, 1970-01-01 01:00:11 CET; 43 years and 0 months ago
Main PID: 151 (nmbd)
CGroup: name=systemd:/system/nmbd.service
└─151 /usr/sbin/nmbd -F
No log files. How do I change smbd parameters to -D? smbd -D as root does not change after service is already running.
And:
# journalctl -u smbd.service
-- Logs begin at Thu, 1970-01-01 01:00:02 CET, end at Tue, 2013-01-08 14:56:30 CET. --
EDIT: adding syslog = 1 (as djgera said) to smb.conf did the trick, and now I'm able to see logs with journalctl -u smbd.service so this thread is marked as [SLOVED].
But I still don't know why samba didn't write logs into /var/log/samba/ folder in the first place.
Last edited by frojnd (2013-01-08 16:35:42)
Offline