From Gentoo Wiki
Jump to: navigation, search

Samba is a re-implementation of the SMB/CIFS networking protocol, a MS Windows alternative to NFS.

For in-depth configuration instructions see the Samba configuration guide.



Activate the following kernel options:

File Systems --->
    [*] Network File Systems --->
        [*] CIFS support (advanced network filesystem, SMBFS successor)--->
            [*] CIFS Statistics
                [*] Extended Statistics
            [*] CIFS Extended Attributes
                [*] CIFS POSIX Extentions


USE flags

Optional USE flags for net-fs/samba:
USE flag (what is that?) Default Recommended Description
acl No Add support for Access Control Lists
addns No Enable AD DNS integration
ads No Enable Active Directory support
aio No Enable asynchronous IO support
avahi No Add avahi/Zeroconf support
caps No Use Linux capabilities library to control privilege
cluster No Enable support for clustering
client No Enables the client part
cups No Add support for CUPS (Common Unix Printing System)
debug No Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see
dmapi No Enable support for DMAPI. This currently works only in combination with XFS.
doc No Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
examples No Install examples, usually source code
fam No Enable FAM (File Alteration Monitor) support
ldap No Add LDAP support (Lightweight Directory Access Protocol)
ldb No Enable the ldb tools
netapi No Enable building of netapi bits
pam No Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
quota No Enables support for user quotas
readline No Enable support for libreadline, a GNU line-editing library that almost everyone wants
server No Enables the server part
smbclient No Enable smbclient tool
smbsharemodes No Enable special smb share modes (?)
selinux No  !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
swat No Enables support for swat configuration gui
syslog No Enable support for syslog
winbind No Enables support for the winbind auth daemon


root #emerge --ask net-fs/samba


USE flags

If the full samba package is not needed, install the net-fs/cifs-utils package.

Optional USE flags for net-fs/cifs-utils:
USE flag (what is that?) Default Recommended Description
ads No Enable Active Directory support
caps No libcap support
caps-ng No libcap-ng support
creds No cifs credentials support


root #emerge --ask cifs-utils


root #rc-service samba start
root #rc-update add samba default

CIFS share

Mount the shared content

Once the client is fully configured, the shares can be accessed by following the next steps.

Create the mount point:

root #mkdir -p /mnt/My-Disk/{Media,Shared}

Mount the exported folders:

root #mount.cifs //O2-Foobar/Media /mnt/My-Disk/Media -o guest
root #mount.cifs //O2-Foobar/Shared /mnt/My-Disk/Shared -o guest

To automatically mount shares on every boot, edit the fstab to look like this:

FILE /etc/fstab
//O2-Foobar/Media  /mnt/My-Disk/Media  cifs guest
//O2-Foobar/Shared /mnt/My-Disk/Shared cifs guest
  • In the case of permission problems are encountered when trying to create files and folders on the disk, try to use gid=<user's_gid>, uid=<user's_uid>
  • Be sure to replace <user's_gid> with the user ID of choice.


The following problems may occur when trying to mount new CIFS shares.

Cannot resolve <server-name>

More specifically, the actual error:

root #mount.cifs ...
"mount error: could not find target server. TCP name foo/bar not found. No ip
address specified and hostname not found"

This can easily be fixed by editing /etc/nsswitch and appending wins next to the hosts entry:

FILE /etc/nsswitch
hosts: files dns wins

If this does not work, use the NFS server's IP address instead of the O2-Foobar hostname. The nmblookup utility (provided by net-fs/samba) comes in handy when trying to find the IP address of an NFS host:

root #nmblookup O2-Foobar

Shutdown process hangs when trying to unmount CIFS shares

If the system fails to shutdown or reboot properly, users must make sure the CIFS shares are unmounted properly before udev tries to stop.

The easy way is to create a local.d script:

root #echo "umount -a -t cifs -f" > /etc/local.d/cifs.stop

Windows asking for passwords

security = share

See also

External resources