---
name: "samba_selinux"
section: "8"
platform: "linux"
package: "selinux-policy-doc"
version: "2:2.20250213-13~deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/samba_selinux"
---

# samba\_selinux(8)

Security Enhanced Linux Policy for Samba

## NAME

samba\_selinux - Security Enhanced Linux Policy for Samba

## DESCRIPTION

Security-Enhanced Linux secures the Samba server via flexible mandatory access control.

## FILE\_CONTEXTS

SELinux requires files to have an extended attribute to define the file type. Policy governs the access daemons have to these files. If you want to share files other than home directories, those files must be labeled samba\_share\_t.  So if you created a special directory /var/eng, you would need to label the directory with the chcon tool.

- chcon -t samba\_share\_t /var/eng

  - To make this change permanent (survive a relabel), use the semanage command to add the change to file context configuration:

  - semanage fcontext -a -t samba\_share\_t "/var/eng(/.\*)?"

  - This command adds the following entry to /etc/selinux/POLICYTYPE/contexts/files/file\_contexts.local:

  - /var/eng(/.\*)? system\_u:object\_r:samba\_share\_t:s0

  - Run the restorecon command to apply the changes:

  - restorecon -R -v /var/eng/

  ## SHARING FILES

If you want to share files with multiple domains (Apache, FTP, rsync, Samba), you can set a file context of public\_content\_t and public\_content\_rw\_t.  These context allow any of the above domains to read the content.  If you want a particular domain to write to the public\_content\_rw\_t domain, you must set the appropriate boolean.  allow\_DOMAIN\_anon\_write.  So for samba you would execute:

setsebool -P allow\_smbd\_anon\_write=1

## BOOLEANS

SELinux policy is customizable based on least access required.  So by default SELinux policy turns off SELinux sharing of home directories and the use of Samba shares from a remote machine as a home directory.

- If you are setting up this machine as a Samba server and wish to share the home directories, you need to set the samba\_enable\_home\_dirs boolean.

  setsebool -P samba\_enable\_home\_dirs 1

- If you want to use a remote Samba server for the home directories on this machine, you must set the use\_samba\_home\_dirs boolean.

  setsebool -P use\_samba\_home\_dirs 1

- system-config-selinux is a GUI tool available to customize SELinux policy settings.

  ## AUTHOR

This manual page was written by Dan Walsh \<dwalsh@redhat.com\>.

## SEE ALSO

[selinux(8)](/selinux/8.md), [samba(7)](/samba/7.md), [chcon(1)](/chcon/1.md), [setsebool(8)](/setsebool/8.md), [semanage(8)](/semanage/8.md)
