165

So yesterday evening I was pulling my hair out (figuratively -- I'm bald) for over an hour trying to figure out why smbpasswd kept rejecting my attempts to reset the password for one of my Samba users. Anyway, long story short, it was apparently because the user didn't exist yet (smbpasswd -a added her without complaint, and now everything's hunky-dory), even though I still swear up and down that I did indeed add her already.

Anyway, if I could have simply listed the users in the smbpasswd database, it would saved me a lot of grief. Is there a command or utility that can do that? (Samba's using that new-fangled .tdb database, otherwise I would have just cat /etc/smbpasswd.)

240

I believe the command your looking for is pdbedit.

From the man page "pdbedit - manage the SAM database (Database of Samba Users)"

sudo pdbedit -L -v

-L to list users. -v to be verbose.

3
  • Nope, doesn't work. I get tdbsam_open: Failed to open/create TDB passwd [/var/lib/samba/private/passdb.tdb] Apr 17 '16 at 16:20
  • 7
    @starbeamrainbowlabs I get this error, too, when I run that command WITHOUT sudo! running it with sudo works fine
    – eli
    Jan 13 '17 at 11:56
  • This saved me some time and trouble. Thanks! Mar 27 '17 at 17:12
12

In Samba 4 and later, there's also samba-tool user list and other useful user management commands

1
  • 4
    I believe this is only if you set up Samba to be an AD server. With a workgroup or NT4 domain Samba server, you need pdbedit -L as in the accepted answer.
    – mivk
    Jan 9 '19 at 12:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.