Oreon-Lime-R2/selinux-policy/selinux-policy-d9f4a2b/selinux-policy-d9f4a2bbeb91fd95d0c35a90936efb9ea99d2455/policy/modules/admin/sudo.te

143 lines
4 KiB
Text

policy_module(sudo, 1.10.0)
gen_require(`
class passwd { passwd rootok };
')
########################################
#
# Declarations
attribute sudodomain;
type sudo_exec_t;
application_executable_file(sudo_exec_t)
type sudo_db_t;
files_type(sudo_db_t)
mls_trusted_object(sudo_db_t)
type sudo_log_t;
logging_log_file(sudo_log_t)
manage_dirs_pattern(sudodomain, sudo_db_t, sudo_db_t)
manage_files_pattern(sudodomain, sudo_db_t, sudo_db_t)
manage_dirs_pattern(sudodomain, sudo_log_t, sudo_log_t)
manage_files_pattern(sudodomain, sudo_log_t, sudo_log_t)
logging_log_filetrans(sudodomain, sudo_log_t, dir, "sudo-io")
logging_log_filetrans(sudodomain, sudo_log_t, file, "sudo.log")
##############################
#
# Local Policy
#
# Use capabilities.
allow sudodomain self:capability { chown fowner setuid setgid dac_read_search dac_override sys_nice sys_resource };
dontaudit sudodomain self:capability net_admin;
allow sudodomain self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
allow sudodomain self:process { setexec setrlimit };
allow sudodomain self:fd use;
allow sudodomain self:fifo_file rw_fifo_file_perms;
allow sudodomain self:shm create_shm_perms;
allow sudodomain self:sem create_sem_perms;
allow sudodomain self:msgq create_msgq_perms;
allow sudodomain self:msg { send receive };
allow sudodomain self:unix_dgram_socket create_socket_perms;
allow sudodomain self:unix_stream_socket create_stream_socket_perms;
allow sudodomain self:unix_dgram_socket sendto;
allow sudodomain self:unix_stream_socket connectto;
allow sudodomain self:key manage_key_perms;
allow sudodomain self:netlink_kobject_uevent_socket create_socket_perms;
allow sudodomain self:netlink_selinux_socket create_socket_perms;
allow sudodomain self:passwd { passwd rootok };
kernel_getattr_core_if(sudodomain)
kernel_link_key(sudodomain)
kernel_read_kernel_sysctls(sudodomain)
corecmd_read_bin_symlinks(sudodomain)
corecmd_exec_all_executables(sudodomain)
dev_getattr_fs(sudodomain)
dev_read_urand(sudodomain)
dev_rw_generic_usb_dev(sudodomain)
dev_read_sysfs(sudodomain)
dev_dontaudit_getattr_all(sudodomain)
domain_use_interactive_fds(sudodomain)
domain_sigchld_interactive_fds(sudodomain)
domain_getattr_all_entry_files(sudodomain)
files_read_etc_files(sudodomain)
files_read_var_files(sudodomain)
files_read_usr_files(sudodomain)
# for some PAM modules and for cwd
files_dontaudit_search_home(sudodomain)
files_list_tmp(sudodomain)
fs_search_auto_mountpoints(sudodomain)
fs_getattr_all_fs(sudodomain)
selinux_validate_context(sudodomain)
selinux_compute_relabel_context(sudodomain)
selinux_compute_access_vector(sudodomain)
term_getattr_pty_fs(sudodomain)
term_relabel_all_ttys(sudodomain)
term_relabel_all_ptys(sudodomain)
term_use_ptmx(sudodomain)
#auth_run_chk_passwd(sudodomain)
# sudo stores a token in the pam_pid directory
auth_manage_pam_pid(sudodomain)
auth_manage_faillog(sudodomain)
auth_read_var_auth(sudodomain)
auth_rw_lastlog(sudodomain)
application_signal(sudodomain)
init_rw_utmp(sudodomain)
logging_send_audit_msgs(sudodomain)
logging_set_audit_parameters(sudodomain)
seutil_read_default_contexts(sudodomain)
userdom_spec_domtrans_all_users(sudodomain)
userdom_manage_user_home_content_files(sudodomain)
userdom_manage_user_home_content_symlinks(sudodomain)
userdom_manage_user_tmp_files(sudodomain)
userdom_manage_user_tmp_symlinks(sudodomain)
userdom_use_user_terminals(sudodomain)
userdom_signal_all_users(sudodomain)
userdom_exec_user_home_content_files(sudodomain)
# for some PAM modules and for cwd
userdom_search_user_home_content(sudodomain)
userdom_search_admin_dir(sudodomain)
userdom_manage_all_users_keys(sudodomain)
tunable_policy(`authlogin_yubikey',`
auth_manage_home_content(sudodomain)
')
optional_policy(`
dbus_system_bus_client(sudodomain)
optional_policy(`
systemd_dbus_chat_logind(sudodomain)
init_getpgid(sudodomain)
')
')
optional_policy(`
ssh_signull(sudodomain)
')
optional_policy(`
systemd_write_inherited_logind_sessions_pipes(sudodomain)
')
optional_policy(`
fprintd_dbus_chat(sudodomain)
')