187

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

Kromey
  • 5,115
  • 2
  • 27
  • 27

2 Answers2

273

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.

Cristian Ciupitu
  • 5,513
  • 2
  • 37
  • 47
James T
  • 9,941
  • 4
  • 28
  • 30
17

In Samba 4 and later, if yours is an AD server, there's also samba-tool user list and other useful user management commands.

For Workgroup or NT4 domain Samba servers, pbdedit -L -v as above.

andybjackson
  • 232
  • 1
  • 3
  • 14
McX
  • 279
  • 2
  • 3
  • 9
    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 09 '19 at 12:54
  • 1
    `samba-tool` also doesn’t seem to be available from standard RHEL/CentOS RPM repositories: https://forums.centos.org/viewtopic.php?t=6368 – Anthony Geoghegan Nov 09 '21 at 22:11