[Pkg-samba-maint] Bug#831770: smbclient needs /run/samba tmpfiles dir under systemd
Jan Stattegger-Sievers
jan.stattegger-sievers at fu-berlin.de
Thu Aug 25 10:52:55 UTC 2016
Hi,
On 2016-08-25 07:47, Mathieu Parent wrote:
>> here smbclient dies with a segfault,
>
> Really segfault? Or errors out and exits?
It dies with a segfault.
>> In the source package the systemd tmpfiles definition is already
>> created in the rules file:
>>
>> echo "d /run/samba 0755 root root -" >
>> $(DESTDIR)/usr/lib/tmpfiles.d/samba.conf
>>
>> But it's not installed for the smbclient package, but only for
>> samba-common-bin, which is no dependency for smbclient.
>
> I can move this tmpfile to samba-common. But this only solves the
> problem under systemd.
>
> Also, we must ensure that systemd-tmpfiles is run (after samba-common
> install, and of course on boot).
>
> I see two solutions:
> - Move this snipset to samba-common (with proper Breaks:) and ensure
> systemd-tmpfiles is called on postinst, or
> - Move lockdir to /var/lib/samba (optionally in a subdir)
>
> Solution 1 will have non-working smbclient on non-systemd systems.
> solution 2 will have lock files not purged on reboot.
I just saw, that in samba-common.postinst there is:
TEMPDIR=/var/run/samba/upgrades
[...]
mkdir -p "$TEMPDIR"
The problem is, that /var/run links to /run, which is a tmpfs. So after
next boot, the directory is gone.
You say it's a lockdir, than /var/lock aka /run/lock comes to my mind.
That is a directory writable for everybody (with o+t restricted deletion
bit).
Btw: Can multiple instances of smbclient safely use the same tdb lock
file? Is the client in the end actually using the file?
Regards,
Jan
--
Jan Stattegger-Sievers Freie Universität Berlin
jan.stattegger-sievers at fu-berlin.de ZE Datenverarbeitung
Fabeckstraße 32
14195 Berlin
More information about the Pkg-samba-maint
mailing list