Translation(s): English - 简体中文

Samba file sharing server

This is a minimal Samba setup to let other machines access files on a Debian machine.

Installation and configuration

In the [global] section, set the name of the workgroup. You will need to specify the workgroup name when connecting from a Windows machine.

   workgroup = EXAMPLE

page cleanup/reorganization in progress below this point

Sharing home directories

Locate the home share definition:


In that section you may enable read-write access to the home directories:

   read only = no

To share files in some other path on the system, add another share definition such as:

   comment = Some useful files
   read only = no
   path = /path_to_our_files
   guest ok = no

See smb.conf man page for details.

Add Samba users

Samba uses it's own password system so users need to be added by root. Note that the users have to exist in /etc/passwd

# smbpasswd -a me
# smbpasswd -a you

You will be prompted for a password for each of those users.

To list existing Samba users:

pdbedit -w -L

Restart the Samba file sharing daemon

# service smbd restart

Add firewall rules

Allow access from machines in the local LAN:

iptables -A INPUT -p udp --dport 137 -s -m state --state NEW -j ACCEPT
iptables -A INPUT -p udp --dport 138 -s -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -s -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -s -m state --state NEW -j ACCEPT

Try to access the shares (as a normal user)

Try locally first, then from another machine on the network which also installed samba client. When prompted, use the password entered when adding the user to Samba.

To access my share:

$ smbclient //ourmachine/me

To access your share:

$ smbclient -U you //ourmachine/you

To access our shared(!) share:

$ smbclient //ourmachine/ourfiles

See also

CategoryNetwork | CategorySoftware | CategoryObsolete | CategorySystemAdministration | ToDo: group with other Samba pages