]> git.proxmox.com Git - ceph.git/blame - ceph/selinux/ceph.te
update sources to v12.1.0
[ceph.git] / ceph / selinux / ceph.te
CommitLineData
7c673cae
FG
1policy_module(ceph, 1.1.1)
2
3require {
4 type sysfs_t;
5 type var_run_t;
6 type random_device_t;
7 type urandom_device_t;
8 type setfiles_t;
9 class sock_file unlink;
10 class lnk_file read;
11 class dir read;
12 class file { getattr read open };
13}
14
15########################################
16#
17# Declarations
18#
19
20type ceph_t;
21type ceph_exec_t;
22init_daemon_domain(ceph_t, ceph_exec_t)
23
24permissive ceph_t;
25
26type ceph_initrc_exec_t;
27init_script_file(ceph_initrc_exec_t)
28
29type ceph_log_t;
30logging_log_file(ceph_log_t)
31
32type ceph_var_lib_t;
33files_type(ceph_var_lib_t)
34
35type ceph_var_run_t;
36files_pid_file(ceph_var_run_t)
37
38########################################
39#
40# ceph local policy
41#
42
43allow ceph_t self:process { signal_perms };
44allow ceph_t self:fifo_file rw_fifo_file_perms;
45allow ceph_t self:unix_stream_socket create_stream_socket_perms;
46allow ceph_t self:capability { setuid setgid dac_override };
47
48manage_dirs_pattern(ceph_t, ceph_log_t, ceph_log_t)
49manage_files_pattern(ceph_t, ceph_log_t, ceph_log_t)
50manage_lnk_files_pattern(ceph_t, ceph_log_t, ceph_log_t)
51
52manage_dirs_pattern(ceph_t, ceph_var_lib_t, ceph_var_lib_t)
53manage_files_pattern(ceph_t, ceph_var_lib_t, ceph_var_lib_t)
54manage_lnk_files_pattern(ceph_t, ceph_var_lib_t, ceph_var_lib_t)
55
56manage_dirs_pattern(ceph_t, ceph_var_run_t, ceph_var_run_t)
57manage_files_pattern(ceph_t, ceph_var_run_t, ceph_var_run_t)
58manage_lnk_files_pattern(ceph_t, ceph_var_run_t, ceph_var_run_t)
59
60kernel_read_system_state(ceph_t)
61kernel_read_network_state(ceph_t)
62
63corenet_all_recvfrom_unlabeled(ceph_t)
64corenet_all_recvfrom_netlabel(ceph_t)
65corenet_udp_sendrecv_generic_if(ceph_t)
66corenet_udp_sendrecv_generic_node(ceph_t)
67corenet_udp_bind_generic_node(ceph_t)
68corenet_tcp_bind_generic_node(ceph_t)
69
70corenet_sendrecv_cyphesis_server_packets(ceph_t)
71corenet_tcp_bind_cyphesis_port(ceph_t)
72corenet_tcp_sendrecv_cyphesis_port(ceph_t)
73
74corecmd_exec_bin(ceph_t)
75corecmd_exec_shell(ceph_t)
76
77dev_read_urand(ceph_t)
78
79domain_read_all_domains_state(ceph_t)
80
81fs_getattr_all_fs(ceph_t)
82
83auth_use_nsswitch(ceph_t)
84
85logging_send_syslog_msg(ceph_t)
86
87sysnet_dns_name_resolve(ceph_t)
88
89# basis for future security review
90allow ceph_t ceph_var_run_t:sock_file { create unlink write setattr };
91allow ceph_t self:capability { sys_rawio chown };
92
93allow ceph_t self:tcp_socket { accept listen };
94corenet_tcp_connect_cyphesis_port(ceph_t)
95corenet_tcp_connect_generic_port(ceph_t)
96files_list_tmp(ceph_t)
97files_manage_generic_tmp_files(ceph_t)
98fstools_exec(ceph_t)
99nis_use_ypbind_uncond(ceph_t)
100storage_raw_rw_fixed_disk(ceph_t)
101files_manage_generic_locks(ceph_t)
102
103allow ceph_t sysfs_t:dir read;
104allow ceph_t sysfs_t:file { read getattr open };
105allow ceph_t sysfs_t:lnk_file read;
106
107allow ceph_t random_device_t:chr_file getattr;
108allow ceph_t urandom_device_t:chr_file getattr;
109allow ceph_t self:process setpgid;
110allow ceph_t var_run_t:dir { write create add_name };
31f18b77 111allow ceph_t var_run_t:file { read write create open getattr };
7c673cae
FG
112
113fsadm_manage_pid(ceph_t)
114
115#============= setfiles_t ==============
116allow setfiles_t ceph_var_lib_t:file write;