Difference between revisions of "Samba"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
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.
 
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.
 +
 +
= 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 =
 
= Mounting a network drive =
To mount a shared drive from a Windows computer, use
+
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=''user'',password=''password'' //''computer''/''share'' ''/mountpoint''
+
  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.
+
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".
 +
 
 +
= See also =
 +
* [[Interoperability]]
 +
* [[NFS]]

Latest revision as of 08:18, 17 May 2016

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.

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
/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".

See also