Samba: Difference between revisions

From miki
Jump to navigation Jump to search
No edit summary
Line 23: Line 23:
//mnemosyne/backup /net/mnemosyne/backuprw cifs username=backup,allow_utime=22,umask=002,uid=999,gid=124
//mnemosyne/backup /net/mnemosyne/backuprw cifs username=backup,allow_utime=22,umask=002,uid=999,gid=124
</pre>}}
</pre>}}

== Samba Server ==
(From [http://www.howtogeek.com/howto/ubuntu/install-samba-server-on-ubuntu/])

* Install Samba
<source lang="bash">
sudo apt-get install samba smbfs
</source>
* Edit the configuration file <tt>/etc/samba/smb.conf</tt>
** Uncomment the line <tt>security = user</tt>, and add link to <tt>smbusers</tt> file
<source lang="bash">
security = user
username map = /etc/samba/smbusers # ... does not seems mandatory though
</source>
* Add the user
<source lang="bash">
sudo smbpasswd -a beq06659
</source>
* Create the user mapping file that maps samba user to linux user in file <tt>/etc/samba/smbusers</tt>:
<source lang="text">
<linuxuser>="<sambauser>"
</source>
*Uncomment the section corresponding to the shares you want to enable:
<source lang="bash">
[homes]
comment = Home Directories
browseable = no
[c]
comment = Windows Drive C
browseable = yes
path = /win/c
printable = no
guest ok = no
read only = yes
create mask = 0700

[d]
comment = Windows Drive D
browseable = yes
path = /win/d
printable = no
guest ok = no
read only = yes
create mask = 0700
</source>

* Don't forget to open the ports on your '''firewall''' !!!


== Mount as User ==
== Mount as User ==

Revision as of 16:01, 5 July 2011

This page is part of the Linux Disk Management pages.

References

Packages

In Ubuntu, install the packages samba and smbfs.

Samba Client

  • To mount a samba share in Linux (see [1]):
$ mkdir -p /windows/winshare
$ mount -t cifs //winmachine/testshare /windows/winshare
$ mount -t cifs -o username=user,password=secret //winmachine/testshare /windows/winshare
$ sudo mount -t cifs -o username=baddreams,allow_utime=22,umask=002,uid=1000,gid=124 //phoenix/D$ /net/phoenix/d
  • Or make it an entry in /etc/fstab. Note that gid=124 refers to group sambashare.
//mnemosyne/backup /net/mnemosyne/backuprw	cifs	username=backup,allow_utime=22,umask=002,uid=999,gid=124

Samba Server

(From [2])

  • Install Samba
sudo apt-get install samba smbfs
  • Edit the configuration file /etc/samba/smb.conf
    • Uncomment the line security = user, and add link to smbusers file
security = user
username map = /etc/samba/smbusers             # ... does not seems mandatory though
  • Add the user
sudo smbpasswd -a beq06659
  • Create the user mapping file that maps samba user to linux user in file /etc/samba/smbusers:
<linuxuser>="<sambauser>"
  • Uncomment the section corresponding to the shares you want to enable:
[homes]
   comment = Home Directories
   browseable = no
 
[c]
   comment = Windows Drive C
   browseable = yes
   path = /win/c
   printable = no
   guest ok = no
   read only = yes
   create mask = 0700

[d]
   comment = Windows Drive D
   browseable = yes
   path = /win/d
   printable = no
   guest ok = no
   read only = yes
   create mask = 0700
  • Don't forget to open the ports on your firewall !!!

Mount as User

To mount a samba share as a regular user (i.e. without sudo), the following conditions must be met:

  • /bin/mount, /bin/umount, /sbin/mount.cifs, /sbin/umount.cifs must be setuid (sudo chmod +s ...)
  • share point must be owned by the user (chown username mountpoint).
    • May be optional, but does not hurt, set group of mount point to sambashare, and verify that the user is in that group
  • mount spec in fstab must contain the option user (or users to let any user unmount).
    • It seems that option suid should be present as well, but does not seem to do anything good to me.
//mnemosyne/public /net/mnemosyne/publicrw	cifs	noauto,users,guest,allow_utime=22,umask=002	0 0
//mnemosyne/public /net/mnemosyne/public	cifs	noauto,users,ro,guest,allow_utime=22,umask=002,suid 	0 0