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