Samba
Samba allows you to access network drives on Windows computers from your Linux computer and to provide network drives for Windows computer on your Linux computer. If your computer accesses a network drive, you are using the Samba client. If you provide a network drive on your computer, you are running the Samba server.
Contents
Find out what is mountable
To find out what network shares are provided by a Windows server use the command
smbclient --user "windowsdomain\windowsuser" -L server
Mounting a network drive
You are on a Linux computer and want to mount a Windows computer's shared drive. To do this, open a console and type
mount -o username="windowsdomain\windowsuser",password=password //computer/share /mountpoint
Here you replace user by your user name, password by your password, computer by your computer's name, share by your share's name and /mountpoint by your mountpoint, e.g. /mnt/samba. Note that your mountpoint has to be an existing directory. This example has been tested with SUSE Linux Enterprise Server 10 and Windows Enterprise Server 2008 but should work same or similar with any distribution.
Providing a network drive
To provide your /tmp folder as a network drive that is accessible for Windows and Linux computers in the network using SAMBA:
- make sure SAMBA is installed, e.g. on SUSE Linux:
yast -i samba
- make sure /etc/samba/smb.conf contains the following:
[global] security = share [tmp] comment = Temporary file space path = /tmp read only = no public = yes
- Then open a console and issue
/etc/init.d/smb restart
- Then mount the tmp share
mount //localhost/tmp /mnt/smb
If this works, congratulations! Your samba is dancing now (ha, ha, bad joke ;) To make samba startup after a reboot, say
chkconfig smb on
TroubleShooting
Permission denied
If you get
mount error 13 = Permission denied
You may have to add the samba user for the mount. Like this:
smbpasswd -a root
If you get "Permission denied" when trying to write to a samba share, the option "force user" helped. If your folder on the samba server is writeable by "myuser", add
force user = myuser
to /etc/samba/smb.conf. Then samba will access the directory as myuser. Otherwise it will use (depending on configuration) the user nobody.
No such device or address
# mount -o username="server\Administrator",password=password //server/mydata /mnt/samba retrying with upper case share name mount error(6): No such device or address Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
In this case it helped to go to the Windows server, click on "Advanced Sharing" -> "share this folder".