Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Samba] How to regenerate passdb.tdb

366 views
Skip to first unread message

Abe Lau

unread,
Jul 7, 2010, 9:32:32 PM7/7/10
to
Hi,
I was having problem with the tdbsam backend in which a particular user got
listed twice with pdbedit.
(http://www.mail-archive.com/sa...@lists.samba.org/msg109110.html)

Without much hope in fixing it, I am planning to re-generating passdb.tdb on
my PDC by:
(1)exporting tdbsam to smbpasswd backend
(2)delete passdb.tdb
(3)re-import smbpasswd to tdbsam backend

With the command ` pdbedit -i tdbsam -e smbpasswd`, I got a few errors for
~10 users:
build_sam_pass: Failing attempt to store user with non-uid based user
RID.
Importing account for some_user...failed

pdbedit -L -v does not really give me any information on "user RID", so I am
confused how it can be fixed.

Does the procedure make sense, or is there anything I am missing? Thanks,

Abe
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba

Jeremy Allison

unread,
Jul 8, 2010, 5:43:10 PM7/8/10
to
On Thu, Jul 08, 2010 at 11:32:32AM +1000, Abe Lau wrote:
> Hi,
> I was having problem with the tdbsam backend in which a particular user got
> listed twice with pdbedit.
> (http://www.mail-archive.com/sa...@lists.samba.org/msg109110.html)
>
> Without much hope in fixing it, I am planning to re-generating passdb.tdb on
> my PDC by:
> (1)exporting tdbsam to smbpasswd backend
> (2)delete passdb.tdb
> (3)re-import smbpasswd to tdbsam backend

If you do this you lose a lot of the extra
data that tdbsam stores that smbpasswd does
not.

Jeremy.

Gaiseric Vandal

unread,
Jul 8, 2010, 6:26:13 PM7/8/10
to
On 07/08/2010 05:43 PM, Jeremy Allison wrote:
> On Thu, Jul 08, 2010 at 11:32:32AM +1000, Abe Lau wrote:
>
>> Hi,
>> I was having problem with the tdbsam backend in which a particular user got
>> listed twice with pdbedit.
>> (http://www.mail-archive.com/sa...@lists.samba.org/msg109110.html)
>>
>> Without much hope in fixing it, I am planning to re-generating passdb.tdb on
>> my PDC by:
>> (1)exporting tdbsam to smbpasswd backend
>> (2)delete passdb.tdb
>> (3)re-import smbpasswd to tdbsam backend
>>
> If you do this you lose a lot of the extra
> data that tdbsam stores that smbpasswd does
> not.
>
> Jeremy.
>
Does "tdbdump passdb.tbd" show the user listed twice?

Maybe you can use tdbtool to edit a copy of the file. The man page for
tdbbackup indicates it can check for corruption (but not fix it.)

Abe Lau

unread,
Jul 8, 2010, 8:43:46 PM7/8/10
to
On Fri, Jul 9, 2010 at 8:26 AM, Gaiseric Vandal
<gaiseri...@gmail.com>wrote:

Yes, it seems to have appeared twice

`tdbdump passdb.tdb` gives
{
key(13) = "RID_000003e9\00"
data(5) = "usera\00"
}
....................
{
key(10) = "USER_usera\00"
data(180) =
"\00\00\00\00\FF\FF\FF\7F\FF\FF\FF\7F\00\00\00\00\B2c6L\00\00\00\00\FF\FF\FF\7F\05\00\00\00nick\00\04\00\00\00ORL\00\01\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00T\04\00\00\01\02\00\00\00\00\00\00\10\00\00\00<\03\0C\8C\98\89\87\DC+\CE\0Ax)JP\01\00\00\00\00\10\00\00\00\A8\00\15\00\00\00
\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\EC\04\00\00"
}
..................
{
key(13) = "RID_00000454\00"
data(5) = "usera\00"
}

I have tried using tdbbackup -v, but it didn't indicate any corruption. I
may try tdbtool on a copy of passdb.db and see how it goes. Thanks for the
suggestion.

Abe Lau

unread,
Jul 8, 2010, 9:05:26 PM7/8/10
to
On Fri, Jul 9, 2010 at 7:43 AM, Jeremy Allison <j...@samba.org> wrote:

> On Thu, Jul 08, 2010 at 11:32:32AM +1000, Abe Lau wrote:
> > Hi,
> > I was having problem with the tdbsam backend in which a particular user
> got
> > listed twice with pdbedit.
> > (http://www.mail-archive.com/sa...@lists.samba.org/msg109110.html)
> >
> > Without much hope in fixing it, I am planning to re-generating passdb.tdb
> on
> > my PDC by:
> > (1)exporting tdbsam to smbpasswd backend
> > (2)delete passdb.tdb
> > (3)re-import smbpasswd to tdbsam backend
>
> If you do this you lose a lot of the extra
> data that tdbsam stores that smbpasswd does
> not.
>
> Jeremy.
>

I see. I remember I read from somewhere that the extra missing data can
probably be re-generated, though it won't be user-specific (I can't find
where I read that, and the list of difference). With my current samba
acting as a PDC, would there be any critical data that I will be missing
doing this re-import procedure?
Of cos, I probably still need to fix the RID error when I am exporting to
smbpasswd, in which I still don't have much clue.

Abe

0 new messages