99

Looking for a simple way to do this from the command line.

List samba shares and the users who can access each of them.

List samba shares and the users currently connected to them.

List samba shares and every connection (log, including user) that has been established to each of them.

Any ideas? Anything you use that's currently available that will give me the bits I need to put this together?

Cheers!

komputes
  • 3,303

9 Answers9

58

Try smbclient -L ip_of_net_interface -U your_user_name. This option allows you to look at what services are available on a server. You use it as smbclient -L host and a list should appear.

Hans Ginzel
  • 917
  • 7
  • 12
51

Try to use smbstatus, it seems to be what you need.

Max Kochubey
  • 651
  • 5
  • 4
30
smbstatus --shares

Will retrieve what's being shared and which machine (if any) is connected to what.

Zanna
  • 72,312
adriano72
  • 655
20

Try net usershare info --long.

/usr/bin/net -> /etc/alternatives/net
/etc/alternatives/net -> /usr/bin/net.samba3

$ man net
net - Tool for administration of Samba and remote CIFS servers.
Zanna
  • 72,312
Hans Ginzel
  • 917
  • 7
  • 12
14

Also, on most systems, typing testparm will give you info about the samba shares of the machine you're currently using. After you press enter at the prompt it'll also show you every uncommented line of smb.conf which can be useful.

Aurelius
  • 149
10

Use the command pdbedit.

sudo pdbedit -L -v

Where -L is to list users & -v is to be verbose.

nbk
  • 720
6

Getting the users

net rpc user

Getting the shares per user

Less verbose than smbclient -L is net rpc share list -U $USERNAME

You'll need both because the list of visible shares differs per user.

Zanna
  • 72,312
MSalters
  • 325
3

While smbstatus --shares list active connections in your computer, you may want to know which folders are selected as samba shared, even when no current connection is active.

Go into this directory and you will get the name of such folders:

cd /var/lib/samba/usershares
2

I am sharing the list of command that everyone need if you are using smb, I hope this will help you all. if need any help for the same, please comment, I will try to help you to have solution for your problems.

you can write sudo smbstatus command to see the logs shared folder and status of that as well

Samba version 4.7.6-Ubuntu
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------

you can write the command sudo smbtree to get the tree of root folder and subfolders

WORKGROUP
\\SSHEEL-HP             ssheel-HP server (Samba, Ubuntu)
    \\SSHEEL-HP\Screenshots     
    \\SSHEEL-HP\Movie           
    \\SSHEEL-HP\IPC$            IPC Service (ssheel-HP server (Samba, Ubuntu))
    \\SSHEEL-HP\sambashare      Network Shared Folder by Samba Server on Ubuntu
    \\SSHEEL-HP\print$          Printer Drivers

you can also type sudo smbcontrol command to get all list of controls that you can use with suffix of that command

if you are getting problem to login so you can also set password for smb to get access of shared folders sudo smbpasswd -a ssheel

ssheel@ssheel-HP:~/Videos$ sudo smbpasswd -a ssheel
New SMB password:
Retype new SMB password:
Added user ssheel.