Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jul 2006 19:36:42 +0200
From:      Thierry Lacoste <th.lacoste@wanadoo.fr>
To:        timur@gnu.org
Cc:        ports@freebsd.org
Subject:   FreeBSD Port: samba-3.0.22,1: Segmentation fault with smbpasswd
Message-ID:  <200607111936.42724.th.lacoste@wanadoo.fr>

next in thread | raw e-mail | index | archive | help
Hello,

I'm running FreeBSD 6.1-RELEASE and installed samba-3.0.22,1
from a relatively recent snapshot or /usr/ports.

Here is the global section of my /usr/local/etc/smb.conf:

[global]
        workgroup = OFFICE
        server string = Samba Server
        passdb backend = tdbsam
        logon script = scripts\logon.bat
        logon path = \\%L\Profiles\%U
        logon drive = H:
        logon home = \\%L\%U
        domain logons = Yes
        os level = 35
        preferred master = Yes
        domain master = Yes

After a fresh install of samba smbpasswd gives this:
[root at aldebaran ~]# smbpasswd -a admin
New SMB password:
Retype new SMB password:
Unable to open/create TDB passwd
Unable to open/create TDB passwd
pdb_getsampwnam: TDB passwd (/usr/local/private/passdb.tdb) did not exist. 
File successfully created.
Segmentation fault: 11 (core dumped)

Then it gives this:
[root at aldebaran ~]# smbpasswd -a admin
New SMB password:
Retype new SMB password:
Unable to open/create TDB passwd
pdb_getsampwnam: Unable to open TDB passwd (/usr/local/private/passdb.tdb)!
account_policy_get: tdb_fetch_uint32 failed for field 1 (min password length), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 2 (password history), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 3 (user must logon to 
change password), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 4 (maximum password 
age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 5 (minimum password 
age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 6 (lockout duration), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 7 (reset count minutes), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 8 (bad lockout attempt), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 9 (disconnect time), 
returning 0
account_policy_get: tdb_fetch_uint32 failed for field 10 (refuse machine 
password change), returning 0
TDBSAM version too old (0), trying to convert it.
TDBSAM converted successfully.
Added user admin.

After that, samba seems to work properly.

If I touch /usr/local/private/passdb.tdb after a fresh install of samba
I have directly the second behavior (no segfault) and then again samba
is operational.

I posted on freebsd-questions@freebsd.org and someone suggested
that it could be a bug in the port.
http://lists.freebsd.org/pipermail/freebsd-questions/2006-July/126406.html

I tried with FreeBSD 6.0-RELEASE and samba-3.0.14a_1,1 from the ToolKit disk.
when I first use smbpasswd I only have the account_policy_get failures
(no segfault).

Regards,
Thierry.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607111936.42724.th.lacoste>