noble (8) selinux.8.gz

Provided by: selinux-utils_3.5-2ubuntu2.1_amd64 bug

NAME

       SELinux - NSA Security-Enhanced Linux (SELinux)

DESCRIPTION

       NSA  Security-Enhanced  Linux  (SELinux)  is  an  implementation  of  a flexible mandatory access control
       architecture in the Linux operating system.  The SELinux architecture provides general  support  for  the
       enforcement  of many kinds of mandatory access control policies, including those based on the concepts of
       Type Enforcement®, Role- Based Access Control, and  Multi-Level  Security.   Background  information  and
       technical documentation about SELinux can be found at https://github.com/SELinuxProject.

       The  /etc/selinux/config  configuration  file  controls  whether  SELinux  is enabled or disabled, and if
       enabled, whether SELinux operates in permissive mode or enforcing mode.  The SELINUX variable may be  set
       to  any  one of disabled, permissive, or enforcing to select one of these options.  The disabled disables
       most of the SELinux kernel  and  application  code,  leaving  the  system  running  without  any  SELinux
       protection.   The  permissive  option  enables the SELinux code, but causes it to operate in a mode where
       accesses that would be denied by policy are permitted but audited.   The  enforcing  option  enables  the
       SELinux code and causes it to enforce access denials as well as auditing them.  permissive mode may yield
       a different set of denials than enforcing mode, both because enforcing mode  will  prevent  an  operation
       from  proceeding  past  the  first  denial  and  because  some  application code will fall back to a less
       privileged mode of operation if denied access.

       NOTE: Disabling SELinux by setting SELINUX=disabled in /etc/selinux/config is deprecated and depending on
       kernel  version  and configuration it might not lead to SELinux being completely disabled.  Specifically,
       the SELinux hooks will still be executed internally, but the SELinux policy will not  be  loaded  and  no
       operation  will  be denied.  In such state, the system will act as if SELinux was disabled, although some
       operations might behave slightly differently.  To properly disable SELinux, it is recommended to use  the
       selinux=0 kernel boot option instead.  In that case SELinux will be disabled regardless of what is set in
       the /etc/selinux/config file.

       The /etc/selinux/config configuration file also controls what policy is active on  the  system.   SELinux
       allows  for  multiple  policies  to  be installed on the system, but only one policy may be active at any
       given time.  At present, multiple kinds of SELinux policy exist: targeted, mls for example.  The targeted
       policy  is designed as a policy where most user processes operate without restrictions, and only specific
       services are placed into distinct security domains that are confined by the  policy.   For  example,  the
       user  would  run in a completely unconfined domain while the named daemon or apache daemon would run in a
       specific domain tailored to its operation.  The MLS (Multi-Level Security) policy is designed as a policy
       where  all processes are partitioned into fine-grained security domains and confined by policy.  MLS also
       supports the Bell And LaPadula model, where processes are not only confined by  the  type  but  also  the
       level of the data.

       You  can  define  which  policy  you  will  run  by  setting  the SELINUXTYPE environment variable within
       /etc/selinux/config.  You must reboot and possibly relabel if you change the policy type to have it  take
       effect  on  the system.  The corresponding policy configuration for each such policy must be installed in
       the /etc/selinux/{SELINUXTYPE}/ directories.

       A given SELinux policy can be customized further based on a set of compile-time tunable options and a set
       of runtime policy booleans.  system-config-selinux allows customization of these booleans and tunables.

       Many  domains  that  are  protected by SELinux also include SELinux man pages explaining how to customize
       their policy.

FILE LABELING

       All files, directories, devices ... have a security context/label associated with  them.   These  context
       are  stored  in  the  extended attributes of the file system.  Problems with SELinux often arise from the
       file system being mislabeled. This can be caused by booting the machine with a non  SELinux  kernel.   If
       you  see  an  error  message  containing file_t, that is usually a good indicator that you have a serious
       problem with file system labeling.

       The best way to  relabel  the  file  system  is  to  create  the  flag  file  /.autorelabel  and  reboot.
       system-config-selinux, also has this capability.  The restorecon/fixfiles commands are also available for
       relabeling files.

       Please note that using mount flag nosuid also disables  SELinux  domain  transitions,  unless  permission
       nosuid_transition  is  used  in  the  policy  to  allow  this, which in turn needs also policy capability
       nnp_nosuid_transition.

AUTHOR

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

FILES

       /etc/selinux/config

SEE ALSO

       booleans(8), setsebool(8), sepolicy(8), system-config-selinux(8), togglesebool(8), restorecon(8),
       fixfiles(8), setfiles(8), semanage(8), sepolicy(8)

       Every confined service on the system has a man page in the following format:

       <servicename>_selinux(8)

       For example, httpd has the httpd_selinux(8) man page.

       man -k selinux

       Will list all SELinux man pages.