configuration-templates – Rev 162

Subversion Repositories:
Rev:
###########################################################################
##  Copyright (C) Wizardry and Steamworks 2017 - License: GNU GPLv3      ##
##  Please see: http://www.gnu.org/licenses/gpl.html for legal details,  ##
##  rights of fair usage, the disclaimer and warranty conditions.        ##
###########################################################################
## Optimized standalone configuration template for Samba servers.        ##
##                                                                       ##
## Ideal for:                                                            ##
##   * Virtual machine file sharing                                      ##
##                                                                       ##
## Requirements:                                                         ##
##   * Samba 4.x                                                         ##
##                                                                       ##
## File placement layout:                                                ##
##  /                                                                    ##
##  `-- etc                                                              ##
##     `-- samba                                                         ##
##         |-- smb.conf                                                  ##
##         |-- smb.conf.local                                            ##
##         |-- smb.conf.share                                            ##
##         `-- smb.conf.ldap                                             ##
##                                                                       ##
## Files Description:                                                    ##
##   * /etc/samba/smb.conf (this file)                                   ##
##   * /etc/samba/smb.conf.local (local server-site settings)            ##
##   * /etc/samba/smb.conf.share (samba shares go here)                  ##
##   * /etc/samba/smb.conf.ldap (optional ldab configuration)            ##
##                                                                       ##
###########################################################################

[global]
    bind interfaces only = yes
    name resolve order = lmhosts host wins bcast

    # Standalone.
    local master = no
    domain master = no
    preferred master = no
    security = user
    # For compatibility with scripts.
    passdb backend = smbpasswd
    map to guest = Bad Password
    guest account = nobody
    # For compatibility with clients.
    #client use spnego = no
    #client ntlmv2 auth = no
    acl allow execute always = True
    # Extended attributes on files.
    ea support = yes
    map acl inherit = yes
    store dos attributes = yes

    # Samba modules.
    vfs objects = shadow_copy2 catia fruit streams_xattr acl_xattr recycle aio_pthread
    shadow: snapdir = .zfs/snapshot
    shadow: sort = desc
    shadow: format = zfs-auto-snap_%S-%Y-%m-%d-%H%M
    shadow:localtime = no
    recycle:repository = .recycle/%U
    recycle:keeptree = yes
    recycle:versions = yes
    recycle:touch = yes
    recycle:directory_mode = 0777
    recycle:subdir_mode = 0700
    fruit:resource = file
    fruit:metadata = netatalk
    fruit:locking = netatalk
    fruit:encoding = native
    fruit:resource = xattr
    fruit:time machine = no
    fruit:metadata = stream
    fruit:locking = none
    fruit:encoding = native
    fruit:veto_appledouble = yes
    fruit:posix_rename = yes
    readdir_attr:aapl_finder_info = yes
    readdir_attr:aapl_max_access = yes
    readdir_attr:aapl_rsize = yes
    streams_xattr:store_stream_type = yes
    aio_linux:aio num events = 256
    aio_pthread:aio open = true

    # Turn off host mDFS for now.
    host msdfs = no

    ### Tweaks
    # Don't tweak Linux buffers: SO_RCVBUF=131072 SO_SNDBUF=131072
    socket options=TCP_NODELAY IPTOS_LOWDELAY
    # No extent-based allocation: ZFS
    strict allocate = no
    # Slowing down SMB4
    server signing = no
    # No sendfile on: ZFS
    use sendfile = no
    max open files = 65535
    min receivefile size = 16384
    # Use max packet size possible in negotiation.
    max xmit = 65536
    # Requires aio_linux as last module in vfs_objects
    aio read size = 1
    aio write size = 1
    # 1 MiB cache per file
    #write cache size = 1048576
    getwd cache = true
    read raw = yes
    write raw = yes
    # Consistency accross filesystems.
    oplocks = on
    kernel oplocks = yes
    server multi channel support = yes
    # Kill stale connections without open files.
    deadtime = 15
    max protocol = SMB2

    # Logging
    # 0 -> LOG_ERR, 1 -> LOG_WARNING, 2 -> LOG_NOTICE, 3 -> LOG_DEBUG
    log level = 1

    # Include LDAP configuration.
    #include = /etc/samba/smb.conf.ldap
    
    # Include local settings.
    include = /etc/samba/smb.conf.local

    # Include shares.
    include = /etc/samba/smb.conf.share

    # Include DFS.
    #include = /etc/samba/smb.conf.dfs