]> git.ipfire.org Git - people/stevee/selinux-policy.git/blame - refpolicy/policy/modules/system/fstools.te
link fix
[people/stevee/selinux-policy.git] / refpolicy / policy / modules / system / fstools.te
CommitLineData
58c3da55
CP
1
2policy_module(fstools,1.0)
3
4########################################
5#
6# Declarations
7#
8type fsadm_t;
9type fsadm_exec_t;
10init_system_domain(fsadm_t,fsadm_exec_t)
11role system_r types fsadm_t;
12
13type fsadm_tmp_t;
14files_tmp_file(fsadm_tmp_t)
15
16type swapfile_t;
17files_file_type(swapfile_t)
18
19########################################
20
21# ipc_lock is for losetup
22allow fsadm_t self:capability { ipc_lock sys_rawio sys_admin sys_tty_config };
23allow fsadm_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem dyntransition };
24allow fsadm_t self:fd use;
25allow fsadm_t self:fifo_file rw_file_perms;
26allow fsadm_t self:unix_dgram_socket create_socket_perms;
27allow fsadm_t self:unix_stream_socket create_stream_socket_perms;
28allow fsadm_t self:unix_dgram_socket sendto;
29allow fsadm_t self:unix_stream_socket connectto;
30allow fsadm_t self:shm create_shm_perms;
31allow fsadm_t self:sem create_sem_perms;
32allow fsadm_t self:msgq create_msgq_perms;
33allow fsadm_t self:msg { send receive };
34
35can_exec(fsadm_t, fsadm_exec_t)
36
37allow fsadm_t fsadm_tmp_t:dir create_dir_perms;
38allow fsadm_t fsadm_tmp_t:file create_file_perms;
39files_create_tmp_files(fsadm_t, fsadm_tmp_t, { file dir })
40
41# Enable swapping to files
42allow fsadm_t swapfile_t:file { getattr swapon };
43
44kernel_read_system_state(fsadm_t)
45kernel_read_kernel_sysctl(fsadm_t)
46# Allow console log change (updfstab)
47kernel_change_ring_buffer_level(fsadm_t)
48
49# mkreiserfs and other programs need this for UUID
50dev_read_rand(fsadm_t)
51dev_read_urand(fsadm_t)
52# Recreate /dev/cdrom.
53dev_manage_generic_symlinks(fsadm_t)
54# Access to /initrd devices
55dev_search_usbfs(fsadm_t)
783b3834
CP
56# for swapon
57dev_getattr_sysfs_dir(fsadm_t)
58dev_search_sysfs(fsadm_t)
58c3da55
CP
59
60fs_search_auto_mountpoints(fsadm_t)
61fs_getattr_xattr_fs(fsadm_t)
62# remount file system to apply changes
63fs_remount_xattr_fs(fsadm_t)
64
65storage_raw_read_fixed_disk(fsadm_t)
66storage_raw_write_fixed_disk(fsadm_t)
67storage_raw_read_removable_device(fsadm_t)
68storage_raw_write_removable_device(fsadm_t)
69storage_read_scsi_generic(fsadm_t)
783b3834 70storage_swapon_fixed_disk(fsadm_t)
58c3da55
CP
71
72domain_use_wide_inherit_fd(fsadm_t)
73
74files_list_home(fsadm_t)
75files_read_usr_files(fsadm_t)
76files_read_generic_etc_files(fsadm_t)
77files_list_mnt(fsadm_t)
cbca03f5 78files_manage_lost_found(fsadm_t)
58c3da55
CP
79# Write to /etc/mtab.
80files_manage_etc_runtime_files(fsadm_t)
81# Access to /initrd devices
82files_rw_isid_type_dir(fsadm_t)
83files_rw_isid_type_blk_node(fsadm_t)
84
85init_use_fd(fsadm_t)
86init_use_script_pty(fsadm_t)
87
88libs_use_ld_so(fsadm_t)
89libs_use_shared_libs(fsadm_t)
90
91logging_send_syslog_msg(fsadm_t)
92
93miscfiles_read_localization(fsadm_t)
94
95modutils_read_module_conf(fsadm_t)
96
97seutil_read_config(fsadm_t)
98
99userdom_use_unpriv_users_fd(fsadm_t)
100
783b3834
CP
101optional_policy(`cron.te',`
102 # for smartctl cron jobs
103 cron_system_entry(fsadm_t,fsadm_exec_t)
104')
105
58c3da55
CP
106optional_policy(`nis.te',`
107 nis_use_ypbind(fsadm_t)
108')
109
110ifdef(`TODO',`
58c3da55
CP
111# for /dev/shm
112allow fsadm_t tmpfs_t:dir { getattr search };
113
114allow fsadm_t bin_t:dir r_dir_perms;
115allow fsadm_t bin_t:notdevfile_class_set r_file_perms;
116allow fsadm_t sbin_t:dir r_dir_perms;
117allow fsadm_t sbin_t:notdevfile_class_set r_file_perms;
118if (read_default_t) {
119allow fsadm_t default_t:dir r_dir_perms;
120allow fsadm_t default_t:notdevfile_class_set r_file_perms;
121}
122
123# mkreiserfs needs this
124allow fsadm_t proc_t:filesystem getattr;
125
58c3da55
CP
126allow fsadm_t file_t:dir { search read getattr rmdir create };
127
128# Recreate /mnt/cdrom.
129allow fsadm_t mnt_t:dir { rmdir create };
130
58c3da55
CP
131# Access terminals.
132ifdef(`gnome-pty-helper.te', `allow fsadm_t sysadm_gph_t:fd use;')
133
58c3da55
CP
134# Access to /initrd devices
135allow fsadm_t unlabeled_t:dir rw_dir_perms;
136allow fsadm_t unlabeled_t:blk_file rw_file_perms;
137allow fsadm_t usbfs_t:dir getattr;
138
139') dnl end TODO