[Samba] samba-tool crashes if include = /patch/to/%U.conf in smb.conf
rowlandpenny at googlemail.com
Tue Jul 15 03:25:28 MDT 2014
On 15/07/14 08:35, Quentin Gibeaux wrote:
> Samba4 (4.1.9) on Ubuntu 12.04 here (seen same behavior on 4.1.6 on
> Ubuntu 14.04).
> I've encountered an annoying bug with samba-tool, some exceptions
> aren't caught causing the tool to crash if it finds something it
> doesn't like in the smb.conf.
> I have a specific line in my conf : "include = /etc/samba/%U.smb.conf
> ", it's useful for applying specific samba configuration for a
> specific user, it works on the samba side, but when samba-tool reads
> the conf, it crashs :
> root at server:~/samba# samba-tool user list
> Processing section "[global]"
> Can't find include file /etc/samba/%U.smb.conf
> params.c:pm_process() - Failed. Error returned from params.c:parse().
> pm_process() returned No
> ERROR(runtime): uncaught exception - Unable to load default file
> File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line
> 175, in _run
> return self.run(*args, **kwargs)
> File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line
> 261, in run
> lp = sambaopts.get_loadparm()
> File "/usr/lib/python2.7/dist-packages/samba/getopt.py", line 92, in
> In fact it crashes for any include with any variable substitution (%U,
> %g, %a…).
> Any ideas ?
> Quentin Gibeaux
The problem here is that samba-tool parses smb.conf even if it doesn't
really need to and samba4 doesn't understand %U etc. If you just want a
list of users and have ldb-tools installed, try this:
ldbsearch -H /var/lib/samba/private/sam.ldb
"(&(objectClass=user)(!(objectClass=computer)))" samaccountname | grep
sAMAccountName | sed "s|sAMAccountName: ||"
More information about the samba