So you want to share files over the network with perhaps windows machines or you want to be able to have networked file systems that are not requiring Kerberos to become secure but there are something fishy going on with your Samba installation?
Read on, here is the recipe to get it going. First of all make sure you have samba installed. An easy way to check this is to type the following two comnmands:
# service smbd status smbd start/running, process 27562 # service nmbd status nmbd start/running, process 27540
If either of those are not running, please install the samba package on your machine according to your OS recommendations, it may differ slightly depending on Linux distribution.
When you are done with this it’s time to modify the configuration file for Samba. Use your favorite editor (as root) and start by backing up your original configuration file.
# cp -a /etc/samba/smb.cfg /etc/samba/smb.bak
Then start your favorite editor and start off with this configuration:
[global] workgroup = WORKGROUP # change this to be unique on your network domain master = yes # there can only be one master local master = yes preferred master = yes os level = 65 server string = %h server (Samba, Ubuntu) name resolve order = bcast host interfaces = 127.0.0.1 lo eth0 bind interfaces only = yes log file = /var/log/samba/log.%m max log size = 10000 syslog only = no syslog = 0 map to guest = bad user [guest] comment = networked file system path = /mnt/guest # set this to your preferred place read only = yes guest ok = yes [anders] comment = private file system for anders path = /home/anders # be careful with your home folders read only = no guest ok = no valid users = anders [google-drive] comment = private file system anders path = /mnt/raid/google-drive # another folder requiring password read only = no guest ok = no valid users = anders [upload] comment = put your upload here path = /mnt/raid/upload # something where anyone can upload read only = no valid users = %S
Make sure the folders you have pointed out are actually valid folders. Then create the users needed to access the system:
# smbpasswd -a username
Type the password and create the users needed as per the shares that you have defined above. The valid users = %S means any user in the system can use that if they give the right password. To delete users from your samba system when no longer needed
# smbpasswd -x username
Next thing is to restard the name server for Samba and the actual server daemon:
# service nmbd restart nmbd stop/waiting nmbd start/running, process 28297 # service smbd restart smbd stop/waiting smbd start/running, process 28309
When this is done you should be able to connect giving the right username/password or as a guest if you have created the shares for the guest accounts.
Mounting the smb file system on a command line is done like this:
# mount -t cifs //server.name.or.ip/share /mnt/share -o username=yourname
If needed it will ask for your password also.
To list shares on an SMB server, use the following:
# smbclient -L //server.name.or.ip/ -U user%pass
You can skip -U user%pass if you prefer working as guest.
This should get you up and running easily. It’s not sophisticated and you have to manually work the passwords and they are not synced with with the rest of the users on the local machine, that is more complex to set up, this was meant to be a quick starter to get you going.
If you need to list the users in the database (to remove any you do not want any more) you can use the command:
# pdbedit -L
Read the man page for more information.