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.)


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.

| improve this answer | |
  • That looks like exactly what I was after, thanks! – Kromey Apr 15 '11 at 0:07
  • Nope, doesn't work. I get tdbsam_open: Failed to open/create TDB passwd [/var/lib/samba/private/passdb.tdb] – starbeamrainbowlabs Apr 17 '16 at 16:20
  • 3
    @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! – Brian Cowan Mar 27 '17 at 17:12

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

| improve this answer | |
  • 2
    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.