]> git.ipfire.org Git - people/stevee/selinux-policy.git/blob - policy/modules/admin/quota.te
Allow to setup users homedir with quota.group
[people/stevee/selinux-policy.git] / policy / modules / admin / quota.te
1 policy_module(quota, 1.5.0)
2
3 ########################################
4 #
5 # Declarations
6 #
7
8 type quota_t;
9 type quota_exec_t;
10 init_system_domain(quota_t, quota_exec_t)
11
12 type quota_db_t;
13 files_type(quota_db_t)
14
15 type quota_flag_t;
16 files_type(quota_flag_t)
17
18 type quota_nld_t;
19 type quota_nld_exec_t;
20 init_daemon_domain(quota_nld_t, quota_nld_exec_t)
21
22 type quota_nld_var_run_t;
23 files_pid_file(quota_nld_var_run_t)
24
25 ########################################
26 #
27 # Local policy
28 #
29
30 allow quota_t self:capability { sys_admin dac_override };
31 dontaudit quota_t self:capability sys_tty_config;
32 allow quota_t self:process signal_perms;
33
34 # for /quota.*
35 allow quota_t quota_db_t:file { manage_file_perms quotaon };
36 files_root_filetrans(quota_t, quota_db_t, file)
37 files_boot_filetrans(quota_t, quota_db_t, file)
38 files_etc_filetrans(quota_t, quota_db_t, file)
39 files_tmp_filetrans(quota_t, quota_db_t, file)
40 files_home_filetrans(quota_t, quota_db_t, file)
41 files_usr_filetrans(quota_t, quota_db_t, file)
42 files_var_filetrans(quota_t, quota_db_t, file)
43 files_spool_filetrans(quota_t, quota_db_t, file)
44 userdom_user_home_dir_filetransquota_t, quota_db_t, file)
45
46 optional_policy(`
47 mta_spool_filetrans(quota_t, quota_db_t, file)
48 mta_spool_filetrans(quota_t, quota_db_t, file)
49 mta_spool_filetrans_queue(quota_t, quota_db_t, file)
50 ')
51
52 kernel_list_proc(quota_t)
53 kernel_read_proc_symlinks(quota_t)
54 kernel_read_kernel_sysctls(quota_t)
55 kernel_setsched(quota_t)
56
57 dev_read_sysfs(quota_t)
58 dev_getattr_all_blk_files(quota_t)
59 dev_getattr_all_chr_files(quota_t)
60
61 fs_get_xattr_fs_quotas(quota_t)
62 fs_set_xattr_fs_quotas(quota_t)
63 fs_getattr_xattr_fs(quota_t)
64 fs_remount_xattr_fs(quota_t)
65 fs_search_auto_mountpoints(quota_t)
66
67 mls_file_read_all_levels(quota_t)
68
69 storage_raw_read_fixed_disk(quota_t)
70
71 term_dontaudit_use_console(quota_t)
72
73 domain_use_interactive_fds(quota_t)
74
75 files_list_all(quota_t)
76 files_read_all_files(quota_t)
77 files_read_all_symlinks(quota_t)
78 files_getattr_all_pipes(quota_t)
79 files_getattr_all_sockets(quota_t)
80 files_getattr_all_file_type_fs(quota_t)
81 # Read /etc/mtab.
82 files_read_etc_runtime_files(quota_t)
83
84 init_use_fds(quota_t)
85 init_use_script_ptys(quota_t)
86
87 logging_send_syslog_msg(quota_t)
88
89 userdom_use_inherited_user_terminals(quota_t)
90 userdom_dontaudit_use_unpriv_user_fds(quota_t)
91
92 optional_policy(`
93 seutil_sigchld_newrole(quota_t)
94 ')
95
96 optional_policy(`
97 udev_read_db(quota_t)
98 ')
99
100 #######################################
101 #
102 # Local policy
103 #
104
105 allow quota_nld_t self:fifo_file rw_fifo_file_perms;
106 allow quota_nld_t self:netlink_socket create_socket_perms;
107 allow quota_nld_t self:unix_stream_socket create_stream_socket_perms;
108
109 manage_files_pattern(quota_nld_t, quota_nld_var_run_t, quota_nld_var_run_t)
110 files_pid_filetrans(quota_nld_t, quota_nld_var_run_t, { file })
111
112 kernel_read_network_state(quota_nld_t)
113
114 files_read_etc_files(quota_nld_t)
115
116 auth_use_nsswitch(quota_nld_t)
117
118 init_read_utmp(quota_nld_t)
119
120 logging_send_syslog_msg(quota_nld_t)
121
122 miscfiles_read_localization(quota_nld_t)
123
124 userdom_use_user_terminals(quota_nld_t)
125
126 optional_policy(`
127 dbus_system_bus_client(quota_nld_t)
128 dbus_connect_system_bus(quota_nld_t)
129 ')