Question

In MacOS, is it possible to list and/or define SMB shares at the command-line?

On a Linux machine with Samba, I can use the testparm command and the /etc/samba/smb.conf file.

On Windows it would be the net share ... command.

On Mac, I only know the "System Preferences" > "Sharing" GUI. But to check or set these shares on multiple machines, I would like to be able to do it through SSH sessions and the command-line.

Is this possible?

Was it helpful?

Solution

On macOS open Terminal and type man sharing to review the manual page. You can use sharing -l to list AFP/SMB share info. You can add and remove shares using this command line tool.

You can use the df -h command or mount command to list externally mounted volumes & shares.

OTHER TIPS

As suggested in James Brickley's answer, there is indeed the (well hidden) sharing command.

It can be used for both listing and managing shares.

To list shares:

sharing -l

To create a share:

sudo sharing -a /Volumes/SomeDisk 

or, for example to share only over SMB (not AFP), and give the share a different name (here "X_SomeDisk") :

sudo sharing -a /Volumes/SomeDisk -S X_SomeDisk -n X_SomeDisk -s 001

To remove the share created above:

sudo sharing -r X_SomeDisk

There's is a utility called smbutil that can be used to view SMB shares

For example:

% smbutil view -G //servername.domain

Will display the shares that are available via guest access

Licensed under: CC-BY-SA with attribution
Not affiliated with apple.stackexchange
scroll top