Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Declarations for type attributes.
Chris PeBenito 31b7c0
# 
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# A type attribute can be used to identify a set of types with a similar
Chris PeBenito 31b7c0
# property.  Each type can have any number of attributes, and each
Chris PeBenito 31b7c0
# attribute can be associated with any number of types.  Attributes are
Chris PeBenito 31b7c0
# explicitly declared here, and can then be associated with particular
Chris PeBenito 31b7c0
# types in type declarations.  Attribute names can then be used throughout 
Chris PeBenito 31b7c0
# the configuration to express the set of types that are associated with 
Chris PeBenito 31b7c0
# the attribute.  Attributes have no implicit meaning to SELinux.  The
Chris PeBenito 31b7c0
# meaning of all attributes are completely defined through their
Chris PeBenito 31b7c0
# usage within the configuration, but should be documented here as
Chris PeBenito 31b7c0
# comments preceding the attribute declaration.  
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#####################
Chris PeBenito 31b7c0
# Attributes for MLS:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Common Terminology
Chris PeBenito 31b7c0
# 	MLS Range: low-high
Chris PeBenito 31b7c0
#		low referred to as "Effective Sensitivity Label (SL)"
Chris PeBenito 31b7c0
#		high referred to as "Clearance SL"
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# File System MLS attributes/privileges
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant MLS read access to files not dominated by the process Effective SL
Chris PeBenito 31b7c0
attribute mlsfileread;
Chris PeBenito 31b7c0
# Grant MLS read access to files dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsfilereadtoclr;
Chris PeBenito 31b7c0
# Grant MLS write access to files not equal to the Effective SL
Chris PeBenito 31b7c0
attribute mlsfilewrite;
Chris PeBenito 31b7c0
# Grant MLS write access to files which dominate the process Effective SL
Chris PeBenito 31b7c0
# and are dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsfilewritetoclr;
Chris PeBenito 31b7c0
# Grant MLS ability to change file label to a new label which dominates
Chris PeBenito 31b7c0
# the old label  
Chris PeBenito 31b7c0
attribute mlsfileupgrade;
Chris PeBenito 31b7c0
# Grant MLS ability to change file label to a new label which is
Chris PeBenito 31b7c0
# dominated by or incomparable to the old label
Chris PeBenito 31b7c0
attribute mlsfiledowngrade;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Network MLS attributes/privileges
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant MLS read access to packets not dominated by the process Effective SL
Chris PeBenito 31b7c0
attribute mlsnetread;
Chris PeBenito 31b7c0
# Grant MLS read access to packets dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsnetreadtoclr;
Chris PeBenito 31b7c0
# Grant MLS write access to packets not equal to the Effective SL
Chris PeBenito 31b7c0
attribute mlsnetwrite;
Chris PeBenito 31b7c0
# Grant MLS write access to packets which dominate the Effective SL
Chris PeBenito 31b7c0
# and are dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsnetwritetoclr;
Chris PeBenito 31b7c0
# Grant MLS read access to packets from hosts or interfaces which dominate
Chris PeBenito 31b7c0
# or incomparable to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsnetrecvall;
Chris PeBenito 31b7c0
# Grant MLS ability to change socket label to a new label which dominates
Chris PeBenito 31b7c0
# the old label  
Chris PeBenito 31b7c0
attribute mlsnetupgrade;
Chris PeBenito 31b7c0
# Grant MLS ability to change socket label to a new label which is
Chris PeBenito 31b7c0
# dominated by or incomparable to the old label
Chris PeBenito 31b7c0
attribute mlsnetdowngrade;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# IPC MLS attributes/privileges
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant MLS read access to IPC objects not dominated by the process Effective SL
Chris PeBenito 31b7c0
attribute mlsipcread;
Chris PeBenito 31b7c0
# Grant MLS read access to IPC objects dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsipcreadtoclr;
Chris PeBenito 31b7c0
# Grant MLS write access to IPC objects not equal to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsipcwrite;
Chris PeBenito 31b7c0
# Grant MLS write access to IPC objects which dominate the process Effective SL
Chris PeBenito 31b7c0
# and are dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsipcwritetoclr;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Process MLS attributes/privileges
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant MLS read access to processes not dominated by the process Effective SL
Chris PeBenito 31b7c0
attribute mlsprocread;
Chris PeBenito 31b7c0
# Grant MLS read access to processes dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsprocreadtoclr;
Chris PeBenito 31b7c0
# Grant MLS write access to processes not equal to the Effective SL
Chris PeBenito 31b7c0
attribute mlsprocwrite;
Chris PeBenito 31b7c0
# Grant MLS write access to processes which dominate the process Effective SL
Chris PeBenito 31b7c0
# and are dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsprocwritetoclr;
Chris PeBenito 31b7c0
# Grant MLS ability to change Effective SL or Clearance SL of process to a
Chris PeBenito 31b7c0
# label dominated by the Clearance SL
Chris PeBenito 31b7c0
attribute mlsprocsetsl;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# X Window MLS attributes/privileges
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant MLS read access to X objects not dominated by the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinread;
Chris PeBenito 31b7c0
# Grant MLS read access to X objects dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsxwinreadtoclr;
Chris PeBenito 31b7c0
# Grant MLS write access to X objects not equal to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinwrite;
Chris PeBenito 31b7c0
# Grant MLS write access to X objects which dominate the process Effective SL
Chris PeBenito 31b7c0
# and are dominated by the process Clearance SL
Chris PeBenito 31b7c0
attribute mlsxwinwritetoclr;
Chris PeBenito 31b7c0
# Grant MLS read access to X properties not dominated by
Chris PeBenito 31b7c0
# the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinreadproperty;
Chris PeBenito 31b7c0
# Grant MLS write access to X properties not equal to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinwriteproperty;
Chris PeBenito 31b7c0
# Grant MLS read access to X colormaps not dominated by
Chris PeBenito 31b7c0
# the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinreadcolormap;
Chris PeBenito 31b7c0
# Grant MLS write access to X colormaps not equal to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinwritecolormap;
Chris PeBenito 31b7c0
# Grant MLS write access to X xinputs not equal to the process Effective SL
Chris PeBenito 31b7c0
attribute mlsxwinwritexinput;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Grant MLS read/write access to objects which internally arbitrate MLS
Chris PeBenito 31b7c0
attribute mlstrustedobject;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Both of the following attributes are needed for a range transition to succeed
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# Grant ability for the current domain to change SL upon process transition
Chris PeBenito 31b7c0
attribute privrangetrans;
Chris PeBenito 31b7c0
# Grant ability for the new process domain to change SL upon process transition
Chris PeBenito 31b7c0
attribute mlsrangetrans;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#########################
Chris PeBenito 31b7c0
# Attributes for domains:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The domain attribute identifies every type that can be 
Chris PeBenito 31b7c0
# assigned to a process.  This attribute is used in TE rules 
Chris PeBenito 31b7c0
# that should be applied to all domains, e.g. permitting 
Chris PeBenito 31b7c0
# init to kill all processes.
Chris PeBenito 31b7c0
attribute domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The daemon attribute identifies domains for system processes created via
Chris PeBenito 31b7c0
# the daemon_domain, daemon_base_domain, and init_service_domain macros.
Chris PeBenito 31b7c0
attribute daemon;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privuser attribute identifies every domain that can 
Chris PeBenito 31b7c0
# change its SELinux user identity.  This attribute is used 
Chris PeBenito 31b7c0
# in the constraints configuration.  NOTE:  This attribute
Chris PeBenito 31b7c0
# is not required for domains that merely change the Linux
Chris PeBenito 31b7c0
# uid attributes, only for domains that must change the
Chris PeBenito 31b7c0
# SELinux user identity.  Also note that this attribute makes
Chris PeBenito 31b7c0
# no sense without the privrole attribute.
Chris PeBenito 31b7c0
attribute privuser;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privrole attribute identifies every domain that can 
Chris PeBenito 31b7c0
# change its SELinux role.  This attribute is used in the 
Chris PeBenito 31b7c0
# constraints configuration.
Chris PeBenito 31b7c0
attribute privrole;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The userspace_objmgr attribute identifies every domain
Chris PeBenito 31b7c0
# which enforces its own policy.
Chris PeBenito 31b7c0
attribute userspace_objmgr;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The priv_system_role attribute identifies every domain that can
Chris PeBenito 31b7c0
# change role from a user role to system_r role, and identity from a user
Chris PeBenito 31b7c0
# identity to system_u.  It is used in the constraints configuration.
Chris PeBenito 31b7c0
attribute priv_system_role;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privowner attribute identifies every domain that can 
Chris PeBenito 31b7c0
# assign a different SELinux user identity to a file, or that
Chris PeBenito 31b7c0
# can create a file with an identity that is not the same as the
Chris PeBenito 31b7c0
# process identity.  This attribute is used in the constraints
Chris PeBenito 31b7c0
# configuration.
Chris PeBenito 31b7c0
attribute privowner;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privlog attribute identifies every domain that can 
Chris PeBenito 31b7c0
# communicate with syslogd through its Unix domain socket.
Chris PeBenito 31b7c0
# There is an assertion that other domains can not do it,
Chris PeBenito 31b7c0
# and an allow rule to permit it
Chris PeBenito 31b7c0
attribute privlog;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privmodule attribute identifies every domain that can run
Chris PeBenito 31b7c0
# modprobe, there is an assertion that other domains can not do it,
Chris PeBenito 31b7c0
# and an allow rule to permit it
Chris PeBenito 31b7c0
attribute privmodule;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privsysmod attribute identifies every domain that can have the
Chris PeBenito 31b7c0
# sys_module capability
Chris PeBenito 31b7c0
attribute privsysmod;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privmem attribute identifies every domain that can 
Chris PeBenito 31b7c0
# access kernel memory devices.
Chris PeBenito 31b7c0
# This attribute is used in the TE assertions to verify
Chris PeBenito 31b7c0
# that such access is limited to domains that are explicitly
Chris PeBenito 31b7c0
# tagged with this attribute.
Chris PeBenito 31b7c0
attribute privmem;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privkmsg attribute identifies every domain that can 
Chris PeBenito 31b7c0
# read kernel messages (/proc/kmsg)
Chris PeBenito 31b7c0
# This attribute is used in the TE assertions to verify
Chris PeBenito 31b7c0
# that such access is limited to domains that are explicitly
Chris PeBenito 31b7c0
# tagged with this attribute.
Chris PeBenito 31b7c0
attribute privkmsg;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privfd attribute identifies every domain that should have
Chris PeBenito 31b7c0
# file handles inherited widely (IE sshd_t and getty_t).
Chris PeBenito 31b7c0
attribute privfd;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The privhome attribute identifies every domain that can create files under
Chris PeBenito 31b7c0
# regular user home directories in the regular context (IE act on behalf of
Chris PeBenito 31b7c0
# a user in writing regular files)
Chris PeBenito 31b7c0
attribute privhome;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The auth attribute identifies every domain that needs
Chris PeBenito 31b7c0
# to read /etc/shadow, and grants the permission.
Chris PeBenito 31b7c0
attribute auth;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The auth_bool attribute identifies every domain that can 
Chris PeBenito 31b7c0
# read /etc/shadow if its boolean is set;
Chris PeBenito 31b7c0
attribute auth_bool;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The auth_write attribute identifies every domain that can have write or
Chris PeBenito 31b7c0
# relabel access to /etc/shadow, but does not grant it.
Chris PeBenito 31b7c0
attribute auth_write;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The auth_chkpwd attribute identifies every system domain that can
Chris PeBenito 31b7c0
# authenticate users by running unix_chkpwd
Chris PeBenito 31b7c0
attribute auth_chkpwd;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The change_context attribute identifies setfiles_t, restorecon_t, and other
Chris PeBenito 31b7c0
# system domains that change the context of most/all files on the system
Chris PeBenito 31b7c0
attribute change_context;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The etc_writer attribute identifies every domain that can write to etc_t
Chris PeBenito 31b7c0
attribute etc_writer;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The sysctl_kernel_writer attribute identifies domains that can write to
Chris PeBenito 31b7c0
# sysctl_kernel_t, in addition the admin attribute is permitted write access
Chris PeBenito 31b7c0
attribute sysctl_kernel_writer;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# the sysctl_net_writer attribute identifies domains that can write to
Chris PeBenito 31b7c0
# sysctl_net_t files.
Chris PeBenito 31b7c0
attribute sysctl_net_writer;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The sysctl_type attribute identifies every type that is assigned
Chris PeBenito 31b7c0
# to a sysctl entry.  This can be used in allow rules to grant
Chris PeBenito 31b7c0
# permissions to all sysctl entries without enumerating each individual
Chris PeBenito 31b7c0
# type, but should be used with care.
Chris PeBenito 31b7c0
attribute sysctl_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The admin attribute identifies every administrator domain.
Chris PeBenito 31b7c0
# It is used in TE assertions when verifying that only administrator 
Chris PeBenito 31b7c0
# domains have certain permissions.  
Chris PeBenito 31b7c0
# This attribute is presently associated with sysadm_t and 
Chris PeBenito 31b7c0
# certain administrator utility domains.  
Chris PeBenito 31b7c0
# XXX The use of this attribute should be reviewed for consistency.
Chris PeBenito 31b7c0
# XXX Might want to partition into several finer-grained attributes 
Chris PeBenito 31b7c0
# XXX used in different assertions within assert.te.
Chris PeBenito 31b7c0
attribute admin;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The secadmin attribute identifies every security administrator domain.
Chris PeBenito 31b7c0
# It is used in TE assertions when verifying that only administrator 
Chris PeBenito 31b7c0
# domains have certain permissions.  
Chris PeBenito 31b7c0
# This attribute is presently associated with sysadm_t and secadm_t
Chris PeBenito 31b7c0
attribute secadmin;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The userdomain attribute identifies every user domain, presently
Chris PeBenito 31b7c0
# user_t and sysadm_t.  It is used in TE rules that should be applied
Chris PeBenito 31b7c0
# to all user domains.
Chris PeBenito 31b7c0
attribute userdomain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# for a small domain that can only be used for newrole
Chris PeBenito 31b7c0
attribute user_mini_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# pty for the mini domain
Chris PeBenito 31b7c0
attribute mini_pty_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# pty created by a server such as sshd
Chris PeBenito 31b7c0
attribute server_pty;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# attribute for all non-administrative devpts types
Chris PeBenito 31b7c0
attribute userpty_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The user_tty_type identifies every type for a tty or pty owned by an
Chris PeBenito 31b7c0
# unpriviledged user
Chris PeBenito 31b7c0
attribute user_tty_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The admin_tty_type identifies every type for a tty or pty owned by a
Chris PeBenito 31b7c0
# priviledged user
Chris PeBenito 31b7c0
attribute admin_tty_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The user_crond_domain attribute identifies every user_crond domain, presently
Chris PeBenito 31b7c0
# user_crond_t and sysadm_crond_t.  It is used in TE rules that should be
Chris PeBenito 31b7c0
# applied to all user domains.
Chris PeBenito 31b7c0
attribute user_crond_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The unpriv_userdomain identifies non-administrative users (default user_t)
Chris PeBenito 31b7c0
attribute unpriv_userdomain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# This attribute is for the main user home directory for unpriv users
Chris PeBenito 31b7c0
attribute user_home_dir_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The gphdomain attribute identifies every gnome-pty-helper derived
Chris PeBenito 31b7c0
# domain.  It is used in TE rules to permit inheritance and use of
Chris PeBenito 31b7c0
# descriptors created by these domains.
Chris PeBenito 31b7c0
attribute gphdomain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The fs_domain identifies every domain that may directly access a fixed disk
Chris PeBenito 31b7c0
attribute fs_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# This attribute is for all domains for the userhelper program.
Chris PeBenito 31b7c0
attribute userhelperdomain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
############################
Chris PeBenito 31b7c0
# Attributes for file types:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The file_type attribute identifies all types assigned to files 
Chris PeBenito 31b7c0
# in persistent filesystems.  It is used in TE rules to permit
Chris PeBenito 31b7c0
# the association of all such file types with persistent filesystem
Chris PeBenito 31b7c0
# types, and to permit certain domains to access all such types as 
Chris PeBenito 31b7c0
# appropriate.
Chris PeBenito 31b7c0
attribute file_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The secure_file_type attribute identifies files 
Chris PeBenito 31b7c0
# which will be treated with a higer level of security.
Chris PeBenito 31b7c0
# Most domains will be prevented from manipulating files in this domain
Chris PeBenito 31b7c0
attribute secure_file_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The device_type attribute identifies all types assigned to device nodes
Chris PeBenito 31b7c0
attribute device_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The proc_fs attribute identifies all types that may be assigned to
Chris PeBenito 31b7c0
# files under /proc.
Chris PeBenito 31b7c0
attribute proc_fs;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The dev_fs attribute identifies all types that may be assigned to
Chris PeBenito 31b7c0
# files, sockets, or pipes under /dev.
Chris PeBenito 31b7c0
attribute dev_fs;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The sysadmfile attribute identifies all types assigned to files 
Chris PeBenito 31b7c0
# that should be completely accessible to administrators.  It is used
Chris PeBenito 31b7c0
# in TE rules to grant such access for administrator domains.
Chris PeBenito 31b7c0
attribute sysadmfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The secadmfile attribute identifies all types assigned to files 
Chris PeBenito 31b7c0
# that should be only accessible to security administrators.  It is used
Chris PeBenito 31b7c0
# in TE rules to grant such access for security administrator domains.
Chris PeBenito 31b7c0
attribute secadmfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The fs_type attribute identifies all types assigned to filesystems
Chris PeBenito 31b7c0
# (not limited to persistent filesystems).
Chris PeBenito 31b7c0
# It is used in TE rules to permit certain domains to mount
Chris PeBenito 31b7c0
# any filesystem and to permit most domains to obtain the
Chris PeBenito 31b7c0
# overall filesystem statistics.
Chris PeBenito 31b7c0
attribute fs_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The mount_point attribute identifies all types that can serve
Chris PeBenito 31b7c0
# as a mount point (for the mount binary). It is used in the mount 
Chris PeBenito 31b7c0
# policy to grant mounton permission, and in other domains to grant 
Chris PeBenito 31b7c0
# getattr permission over all the mount points.
Chris PeBenito 31b7c0
attribute mount_point;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The exec_type attribute identifies all types assigned
Chris PeBenito 31b7c0
# to entrypoint executables for domains.  This attribute is 
Chris PeBenito 31b7c0
# used in TE rules and assertions that should be applied to all 
Chris PeBenito 31b7c0
# such executables.
Chris PeBenito 31b7c0
attribute exec_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The tmpfile attribute identifies all types assigned to temporary 
Chris PeBenito 31b7c0
# files.  This attribute is used in TE rules to grant certain 
Chris PeBenito 31b7c0
# domains the ability to remove all such files (e.g. init, crond).
Chris PeBenito 31b7c0
attribute tmpfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The user_tmpfile attribute identifies all types associated with temporary
Chris PeBenito 31b7c0
# files for unpriv_userdomain domains.
Chris PeBenito 31b7c0
attribute user_tmpfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# for the user_xserver_tmp_t etc
Chris PeBenito 31b7c0
attribute xserver_tmpfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The tmpfsfile attribute identifies all types defined for tmpfs 
Chris PeBenito 31b7c0
# type transitions. 
Chris PeBenito 31b7c0
# It is used in TE rules to grant certain domains the ability to
Chris PeBenito 31b7c0
# access all such files.
Chris PeBenito 31b7c0
attribute tmpfsfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The home_type attribute identifies all types assigned to home
Chris PeBenito 31b7c0
# directories.  This attribute is used in TE rules to grant certain
Chris PeBenito 31b7c0
# domains the ability to access all home directory types.
Chris PeBenito 31b7c0
attribute home_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# This attribute is for the main user home directory /home/user, to
Chris PeBenito 31b7c0
# distinguish it from sub-dirs.  Often you want a process to be able to
Chris PeBenito 31b7c0
# read the user home directory but not read the regular directories under it.
Chris PeBenito 31b7c0
attribute home_dir_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The ttyfile attribute identifies all types assigned to ttys.
Chris PeBenito 31b7c0
# It is used in TE rules to grant certain domains the ability to
Chris PeBenito 31b7c0
# access all ttys.
Chris PeBenito 31b7c0
attribute ttyfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The ptyfile attribute identifies all types assigned to ptys.
Chris PeBenito 31b7c0
# It is used in TE rules to grant certain domains the ability to
Chris PeBenito 31b7c0
# access all ptys.
Chris PeBenito 31b7c0
attribute ptyfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The pidfile attribute identifies all types assigned to pid files.
Chris PeBenito 31b7c0
# It is used in TE rules to grant certain domains the ability to
Chris PeBenito 31b7c0
# access all such files.
Chris PeBenito 31b7c0
attribute pidfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
############################
Chris PeBenito 31b7c0
# Attributes for network types:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The socket_type attribute identifies all types assigned to 
Chris PeBenito 31b7c0
# kernel-created sockets.  Ordinary sockets are assigned the 
Chris PeBenito 31b7c0
# domain of the creating process.
Chris PeBenito 31b7c0
# XXX This attribute is unused.  Remove?
Chris PeBenito 31b7c0
attribute socket_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies all types assigned to port numbers to control binding.
Chris PeBenito 31b7c0
attribute port_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies all types assigned to reserved port (<1024) numbers to control binding.
Chris PeBenito 31b7c0
attribute reserved_port_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies all types assigned to network interfaces to control
Chris PeBenito 31b7c0
# operations on the interface (XXX obsolete, not supported via LSM) 
Chris PeBenito 31b7c0
# and to control traffic sent or received on the interface.
Chris PeBenito 31b7c0
attribute netif_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies all default types assigned to packets received 
Chris PeBenito 31b7c0
# on network interfaces.  
Chris PeBenito 31b7c0
attribute netmsg_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies all types assigned to network nodes/hosts to control
Chris PeBenito 31b7c0
# traffic sent to or received from the node.
Chris PeBenito 31b7c0
attribute node_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifier for log files or directories that only exist for log files.
Chris PeBenito 31b7c0
attribute logfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifier for lock files (/var/lock/*) or directories that only exist for
Chris PeBenito 31b7c0
# lock files.
Chris PeBenito 31b7c0
attribute lockfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
##############################
Chris PeBenito 31b7c0
# Attributes for security policy types:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# The login_contexts attribute idenitifies the files used
Chris PeBenito 31b7c0
# to define default contexts for login types (e.g., login, cron).
Chris PeBenito 31b7c0
attribute login_contexts;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifier for a domain used by "sendmail -t" (IE user_mail_t,
Chris PeBenito 31b7c0
# sysadm_mail_t, etc)
Chris PeBenito 31b7c0
attribute user_mail_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Identifies domains that can transition to system_mail_t
Chris PeBenito 31b7c0
attribute privmail;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Type for non-sysadm home directory
Chris PeBenito 31b7c0
attribute user_home_type;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For domains that are part of a mail server and need to read user files and
Chris PeBenito 31b7c0
# fifos, and inherit file handles to enable user email to get to the mail
Chris PeBenito 31b7c0
# spool
Chris PeBenito 31b7c0
attribute mta_user_agent;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For domains that are part of a mail server for delivering messages to the
Chris PeBenito 31b7c0
# user
Chris PeBenito 31b7c0
attribute mta_delivery_agent;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For domains that make outbound TCP port 25 connections to send mail from the
Chris PeBenito 31b7c0
# mail server.
Chris PeBenito 31b7c0
attribute mail_server_sender;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For a mail server process that takes TCP connections on port 25
Chris PeBenito 31b7c0
attribute mail_server_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For web clients such as netscape and squid
Chris PeBenito 31b7c0
attribute web_client_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For X Window System server domains
Chris PeBenito 31b7c0
attribute xserver;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For X Window System client domains
Chris PeBenito 31b7c0
attribute xclient;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For X Window System protocol extensions
Chris PeBenito 31b7c0
attribute xextension;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For X Window System property types
Chris PeBenito 31b7c0
attribute xproperty;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# For file systems that do not have extended attributes but need to be
Chris PeBenito 31b7c0
# r/w by users
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
attribute noexattrfile;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# For filetypes that the usercan read
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
attribute usercanread;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
# For serial devices
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
attribute serial_device;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Attribute to designate unrestricted access
Chris PeBenito 31b7c0
attribute unrestricted;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# Attribute to designate can transition to unconfined_t
Chris PeBenito 31b7c0
attribute unconfinedtrans;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For clients of nscd.
Chris PeBenito 31b7c0
attribute nscd_client_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For clients of nscd that can use shmem interface.
Chris PeBenito 31b7c0
attribute nscd_shmem_domain;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For labeling of content for httpd.  This attribute is only used by
Chris PeBenito 31b7c0
# the httpd_unified domain, which says treat all httpdcontent the
Chris PeBenito 31b7c0
# same.  If you want content to be served in a "non-unified" system
Chris PeBenito 31b7c0
# you must specifically add "r_dir_file(httpd_t, your_content_t)" to
Chris PeBenito 31b7c0
# your policy.
Chris PeBenito 31b7c0
attribute httpdcontent;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For labeling of domains whos transition can be disabled
Chris PeBenito 31b7c0
attribute transitionbool;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For labelling daemons that should not have a range transition to "s0"
Chris PeBenito 31b7c0
# included in the daemon_base_domain macro
Chris PeBenito 31b7c0
attribute no_daemon_range_trans;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For labeling of file_context domains which users can change files to rather
Chris PeBenito 31b7c0
# then the default file context.  These file_context can survive a relabeling
Chris PeBenito 31b7c0
# of the file system.
Chris PeBenito 31b7c0
attribute customizable;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
##############################
Chris PeBenito 31b7c0
# Attributes for polyinstatiation support:
Chris PeBenito 31b7c0
#
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# For labeling types that are to be polyinstantiated
Chris PeBenito 31b7c0
attribute polydir;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# And for labeling the parent directories of those polyinstantiated directories
Chris PeBenito 31b7c0
# This is necessary for remounting the original in the parent to give
Chris PeBenito 31b7c0
# security aware apps access
Chris PeBenito 31b7c0
attribute polyparent;
Chris PeBenito 31b7c0
Chris PeBenito 31b7c0
# And labeling for the member directories
Chris PeBenito 31b7c0
attribute polymember;
Chris PeBenito 31b7c0