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