selinux-refpolicy/refpolicy/policy/modules/system/getty.te

101 lines
2.3 KiB
Plaintext

policy_module(getty,1.0)
########################################
#
# Declarations
#
# real declaration moved to mls until
# range_transition works in loadable modules
gen_require(`
type getty_t;
')
type getty_exec_t;
init_domain(getty_t,getty_exec_t)
domain_wide_inherit_fd(getty_t)
type getty_etc_t;
typealias getty_etc_t alias etc_getty_t;
files_type(getty_etc_t)
type getty_lock_t;
files_lock_file(getty_lock_t)
type getty_log_t;
logging_log_file(getty_log_t)
type getty_tmp_t;
files_tmp_file(getty_tmp_t)
type getty_var_run_t;
files_pid_file(getty_var_run_t)
########################################
#
# Getty local policy
#
# Use capabilities.
allow getty_t self:capability { dac_override chown sys_resource sys_tty_config fowner fsetid };
allow getty_t self:process { getpgid getsession };
allow getty_t getty_etc_t:dir r_dir_perms;
allow getty_t getty_etc_t:file r_file_perms;
files_create_etc_config(getty_t,getty_etc_t,{ file dir })
allow getty_t getty_lock_t:file create_file_perms;
files_create_lock(getty_t,getty_lock_t)
allow getty_t getty_log_t:file { getattr append setattr };
allow getty_t getty_tmp_t:file { getattr create read setattr write setattr unlink };
allow getty_t getty_tmp_t:dir { getattr search create read setattr write setattr unlink rmdir };
files_create_tmp_files(getty_t,getty_tmp_t,{ file dir })
allow getty_t getty_var_run_t:file create_file_perms;
allow getty_t getty_var_run_t:dir create_dir_perms;
files_create_pid(getty_t,getty_var_run_t)
dev_read_sysfs(getty_t)
# for error condition handling
fs_getattr_xattr_fs(getty_t)
# Chown, chmod, read and write ttys.
term_use_all_user_ttys(getty_t)
term_use_unallocated_tty(getty_t)
term_setattr_all_user_ttys(getty_t)
term_setattr_unallocated_ttys(getty_t)
term_setattr_console(getty_t)
auth_rw_login_records(getty_t)
corecmd_search_bin(getty_t)
corecmd_search_sbin(getty_t)
files_rw_generic_pids(getty_t)
files_read_etc_runtime_files(getty_t)
files_read_etc_files(getty_t)
init_rw_script_pid(getty_t)
init_use_script_pty(getty_t)
libs_use_ld_so(getty_t)
libs_use_shared_libs(getty_t)
locallogin_domtrans(getty_t)
logging_send_syslog_msg(getty_t)
miscfiles_read_localization(getty_t)
ifdef(`TODO',`
#
# getty needs to be able to run pppd
#
ifdef(`pppd.te', `
domain_auto_trans(getty_t, pppd_exec_t, pppd_t)
')
') dnl end TODO