Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Simple Samba File Sharing (like Ubuntu)

Share your HowTo, Documentation, Tips and Tricks. Not for support questions!.
Post Reply
Message
Author
User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Simple Samba File Sharing (like Ubuntu)

#1 Post by grege »

Note: The upgrade to Samba 4 does not change the procedure. It works just as well under Samba 4 as it has under Samba 3

I have a home network which has a Multimedia PC and a WDTV Live network media player and I need to share a folder in my home folder to stream my home movies to a TV. Standard Samba makes this difficult. The simple way that Ubuntu sets up passwordless Samba shares makes this very easy. This HowTo is for those users who have the need to set up shares in this manner. The instructions should work for Squeeze and newer.

To get started install samba and nautilus-share through Synaptic. You will need to edit /etc/samba/smb.conf as Superuser (su).

1
In the global section of /etc/samba/smb.conf add the line

usershare allow guests = Yes

Find the line ; security = user and add this line directly after
map to guest = bad user

In newer installations this line will already exist.

2
As su run these two commands from a term

chgrp sambashare /var/lib/samba/usershares

chmod 1770 /var/lib/samba/usershares

Ensure the group sambashare is added to your user profile - Just go into "Users and Groups" and check, add if necessary. Look in Manage Groups, scroll down to sambashare and select properties and select you user name to be a group member. It is not enough that your login name is in the list, it must also be selected. If Users and Groups is not in your menus you need to install the package "gnome-system-tools".

3
Restart and you should be able to right click on a folder and select "sharing options" just like in Ubuntu, and others on your network (including media players) should be able to see and browse the shared folders.

The share definitions are stored in /var/lib/samba/usershares automatically by nautilus-share. The share definitions are NOT stored in smb.conf

A user called Altair4 on the Linux Mint Debian Edition forums helped refine this howto with his critique of my slightly out of date approach that I used before.

I have tried to make it as short and simple as I can, anyone with ideas or improvements please speak up .
Last edited by grege on 2013-12-08 10:57, edited 3 times in total.

Turn
Posts: 2
Joined: 2010-12-27 21:11

Re: Simple Samba File Sharing (like Ubuntu)

#2 Post by Turn »

hello,

I followed this howto, and i can share folders now..
but from other pc's, io cant see them :(

i can see the pc, and i can even open it, but no shares show up!

User avatar
sqlpython
Posts: 214
Joined: 2008-09-05 01:36
Location: USA

Re: Simple Samba File Sharing (like Ubuntu)

#3 Post by sqlpython »

Edit: Post Deleted
Last edited by sqlpython on 2011-04-18 02:28, edited 1 time in total.
Criticism accepted for solutions that work! ;^)

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#4 Post by grege »

@sqlpython

The instructions in the link you provide are not going to work to create Ubuntu style click and share folders. Share definitions in smb.conf will not work in this manner. They must be in /var/lib/samba/usershares

My howto is for a very specific style of share and is not intended as a general howto for Samba.

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#5 Post by grege »

Turn wrote:hello,

I followed this howto, and i can share folders now..
but from other pc's, io cant see them :(

i can see the pc, and i can even open it, but no shares show up!
I have tested the instructions on 6 different Debian installs - Squeeze or newer - and it has always worked. So please review all the steps and look for spelling errors.

First question - as a normal user when you right click and share do you get a hand symbol on the folder to indicate it is shared?

It is important to do all of the steps, the chgrp and chmod commands allow for the appropriate permissions. Also it is vitally important that you are a member of the group sambashare. In Users and Groups go to manage groups and scroll down to sambashare and select properties. Your username will be in the list, but it needs to be selected to be active.

let me know how you go.

EDIT:

On your Debian machine can you see your own shares in Nautilus when you select network? If not it is just not working.

I have occasionally had my network just not work for no logical reason. If my WD TV Live is the first device active then it blocks the rest. Sometimes the order of starting is important. Windows machines, particularly Windows 7, can block a Samba share for no apparent reason. I have a friend with a Billion router and two Ubuntu machines and his shares just never work. I have a Billion router (different model) and a mix of Debian, Ubuntu and XP with various network devices and it all just works as long as I turn off the WD TV Live when I have to restart the network. Once running i can turn the WD TV Live back on and it functions properly.

So, also try a bit of trial and error.

User avatar
Zero
Posts: 162
Joined: 2007-12-12 10:42
Location: Western Australia

Re: Simple Samba File Sharing (like Ubuntu)

#6 Post by Zero »

Thanks for this, followed your exact instructions and works fine for me. Much appreciated. Cheers. :)

Turn
Posts: 2
Joined: 2010-12-27 21:11

Re: Simple Samba File Sharing (like Ubuntu)

#7 Post by Turn »

grege wrote:
Turn wrote:hello,

I followed this howto, and i can share folders now..
but from other pc's, io cant see them :(

i can see the pc, and i can even open it, but no shares show up!
I have tested the instructions on 6 different Debian installs - Squeeze or newer - and it has always worked. So please review all the steps and look for spelling errors.

First question - as a normal user when you right click and share do you get a hand symbol on the folder to indicate it is shared?

It is important to do all of the steps, the chgrp and chmod commands allow for the appropriate permissions. Also it is vitally important that you are a member of the group sambashare. In Users and Groups go to manage groups and scroll down to sambashare and select properties. Your username will be in the list, but it needs to be selected to be active.

let me know how you go.

EDIT:

On your Debian machine can you see your own shares in Nautilus when you select network? If not it is just not working.

I have occasionally had my network just not work for no logical reason. If my WD TV Live is the first device active then it blocks the rest. Sometimes the order of starting is important. Windows machines, particularly Windows 7, can block a Samba share for no apparent reason. I have a friend with a Billion router and two Ubuntu machines and his shares just never work. I have a Billion router (different model) and a mix of Debian, Ubuntu and XP with various network devices and it all just works as long as I turn off the WD TV Live when I have to restart the network. Once running i can turn the WD TV Live back on and it functions properly.

So, also try a bit of trial and error.
Sorry i didnt respond sooner, i moved to Ubuntu shortly after, but somehow it doesnt seem right :D
i'll be having a go at this again over the weekend, and then i'll post the results

User avatar
Airix
Posts: 46
Joined: 2012-07-02 00:21
Location: MA USA

Re: Simple Samba File Sharing (like Ubuntu)

#8 Post by Airix »

Thanks for this post i had to copy the smb.conf file from my ubuntu computer to get the files to be visible but all works well and good now... this issue was puzzling me so thanks a whole bunch for a good tutorial
It's just a thought

BLTicklemonster
Posts: 8
Joined: 2012-08-07 17:24

Re: Simple Samba File Sharing (like Ubuntu)

#9 Post by BLTicklemonster »

We use a Sony PS3 and I was wondering if this would make my Debian machine visible on our network? At present all the PS3 detects is my wife's Windows 7 machine. (boo hiss eh?)

Thank you for this How To. Can't wait to get home and give it a go.

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#10 Post by grege »

BLTicklemonster wrote:We use a Sony PS3 and I was wondering if this would make my Debian machine visible on our network? At present all the PS3 detects is my wife's Windows 7 machine. (boo hiss eh?)

Thank you for this How To. Can't wait to get home and give it a go.
It should work, however sometimes Windows 7 machines on the network can block access.

On my network I have one Windows 7 machine, two Debian and one Ubuntu, plus three media players and a NAS, and it all works fine. Each device can see the others and one of the Debian machines is the main repository of multimedia content.

BLTicklemonster
Posts: 8
Joined: 2012-08-07 17:24

Re: Simple Samba File Sharing (like Ubuntu)

#11 Post by BLTicklemonster »

Brilliant, thank you! Easiest ever!

User avatar
ethyrdude
Posts: 221
Joined: 2006-03-18 01:30
Location: Georgina, Ontario, Canada

Re: Simple Samba File Sharing (like Ubuntu)

#12 Post by ethyrdude »

This worked pretty sweet, I can share files easily on my Debian computer with my Windows 7 computer, am working on getting it to work the other way but I have confidence I will solve that shortly too, as I am running thru another how to now.

gychang
Posts: 35
Joined: 2010-04-15 19:11
Has thanked: 3 times

Re: Simple Samba File Sharing (like Ubuntu)

#13 Post by gychang »

grege wrote: To get started install samba and nautilus-share through Synaptic. You will need to edit /etc/samba/smb.conf as Superuser (su).

1
In the global section of /etc/samba/smb.conf add the line

usershare allow guests = Yes

Find the line ; security = user and add this line directly after
map to guest = bad user

In newer installations this line will already exist.

2
As su run these two commands from a term

chgrp sambashare /var/lib/samba/usershares

chmod 1770 /var/lib/samba/usershares

Ensure the group sambashare is added to your user profile - Just go into "Users and Groups" and check, add if necessary. Look in Manage Groups, scroll down to sambashare and select properties and select you user name to be a group member. It is not enough that your login name is in the list, it must also be selected. If Users and Groups is not in your menus you need to install the package "gnome-system-tools".
I am trying to use this in my crunchbang machine. I am lost after 2 terminal commands. How do I ensure group sambashare is added?, is it done in smb.conf, ?nautilus?

thanks for all your efforts.

gychang

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#14 Post by grege »

gychang wrote:I am trying to use this in my crunchbang machine. I am lost after 2 terminal commands. How do I ensure group sambashare is added?, is it done in smb.conf, ?nautilus?

thanks for all your efforts.

gychang
Group sambashare will be created automatically when you install samba and nautilus-share.

agh_
Posts: 1
Joined: 2014-04-04 17:44

Re: Simple Samba File Sharing (like Ubuntu)

#15 Post by agh_ »

I followed this howto on Debian wheezy but after I installed nautilus-share I had to solve a problem with smbd not starting with the default configuration of /etc/samba/smb.conf (I had to change guest account to guest account = nobody) that gave me error

Code: Select all

'net usershare' returned error 255: net usershare add: cannot convert name "Everyone" to a SID. The connection was refused. Maybe smbd is not running.
After I changed that, I can now make shares but they do not appear on the network, don't know why.

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#16 Post by grege »

agh_ wrote:I followed this howto on Debian wheezy but after I installed nautilus-share I had to solve a problem with smbd not starting with the default configuration of /etc/samba/smb.conf (I had to change guest account to guest account = nobody) that gave me error

Code: Select all

'net usershare' returned error 255: net usershare add: cannot convert name "Everyone" to a SID. The connection was refused. Maybe smbd is not running.
After I changed that, I can now make shares but they do not appear on the network, don't know why.
I think you are possibly suffering from a bug in Samba. Some new installs are putting in a faulty smb.conf. Rename your smb.conf to smb.conf.sav and then replace it with

Code: Select all

 
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which 
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
#  - When such options are commented with ";", the proposed setting
#    differs from the default Samba behaviour
#  - When commented with "#", the proposed setting is the default
#    behaviour of Samba but the option is considered important
#    enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic 
# errors. 

#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
#   wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
   dns proxy = no

usershare allow guests = yes

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
;   interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
;   bind interfaces only = yes



#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
   log file = /var/log/samba/log.%m

# Cap the size of the individual log files (in KiB).
   max log size = 1000

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
#   syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
   syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
   panic action = /usr/share/samba/panic-action %d


####### Authentication #######

# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller". 
#
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
   server role = standalone server

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.  
   passdb backend = tdbsam

   obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
   unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
   pam password change = yes

# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
   map to guest = bad user

########## Domains ###########

#
# The following settings only takes effect if 'server role = primary
# classic domain controller', 'server role = backup domain controller'
# or 'domain logons' is set 
#

# It specifies the location of the user's
# profile directory from the client point of view) The following
# required a [profiles] share to be setup on the samba server (see
# below)
;   logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
#   logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
;   logon drive = H:
#   logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
;   logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe.  The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# This allows machine accounts to be created on the domain controller via the 
# SAMR RPC pipe.  
# The following assumes a "machines" group exists on the system
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.  
; add group script = /usr/sbin/addgroup --force-badname %g

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
;   include = /home/samba/etc/smb.conf.%m

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

# Setup usershare options to enable non-root users to share folders
# with the net usershare command.

# Maximum number of usershare. 0 (default) means that usershare is disabled.
;   usershare max shares = 100

# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
   usershare allow guests = yes

#======================= Share Definitions =======================

[homes]
   comment = Home Directories
   browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
   read only = yes

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
   create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
   directory mask = 0700

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# The following parameter makes sure that only "username" can connect
# to \\server\username
# This might need tweaking when using external authentication schemes
   valid users = %S

# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
;   write list = root, @lpadmin
Then restart and try again. Also try the permissions changes I sent in the private message.

User avatar
grege
Posts: 214
Joined: 2009-08-13 11:10
Location: Melbourne, Australia

Re: Simple Samba File Sharing (like Ubuntu)

#17 Post by grege »

@Agh_ I am a Testing and Sid user so I cannot test things on Wheezy. There have been many issues with Samba and shares over the years. Another thing to try is restarting Samba after the system has booted.

As superuser

Code: Select all

/etc/init.d/samba restart
If that solves the problem then add it to you auto start programs.

Also you could try a different approach

http://www.thomas-krenn.com/en/wiki/Sim ... _in_Debian

Post Reply