blob: eb3c9d239522eb0ec467cbca73bb5719df59c740 [file] [log] [blame]
Stephen Smalley2dd4e512012-01-04 12:33:27 -05001#####################################
2# Common groupings of object classes.
3#
4define(`capability_class_set', `{ capability capability2 }')
5
Stephen Smalley2dd4e512012-01-04 12:33:27 -05006define(`devfile_class_set', `{ chr_file blk_file }')
William Roberts7104df52012-10-03 09:55:28 -07007define(`notdevfile_class_set', `{ file lnk_file sock_file fifo_file }')
8define(`file_class_set', `{ devfile_class_set notdevfile_class_set }')
9define(`dir_file_class_set', `{ dir file_class_set }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050010
Stephen Smalley423fd192015-05-21 16:17:26 -040011define(`socket_class_set', `{ socket tcp_socket udp_socket rawip_socket netlink_socket packet_socket key_socket unix_stream_socket unix_dgram_socket appletalk_socket netlink_route_socket netlink_firewall_socket netlink_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_socket netlink_ip6fw_socket netlink_dnrt_socket netlink_kobject_uevent_socket tun_socket netlink_iscsi_socket netlink_fib_lookup_socket netlink_connector_socket netlink_netfilter_socket netlink_generic_socket netlink_scsitransport_socket netlink_rdma_socket netlink_crypto_socket }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050012define(`dgram_socket_class_set', `{ udp_socket unix_dgram_socket }')
13define(`stream_socket_class_set', `{ tcp_socket unix_stream_socket }')
14define(`unpriv_socket_class_set', `{ tcp_socket udp_socket unix_stream_socket unix_dgram_socket }')
15
16define(`ipc_class_set', `{ sem msgq shm ipc }')
17
18#####################################
19# Common groupings of permissions.
20#
21define(`x_file_perms', `{ getattr execute execute_no_trans }')
22define(`r_file_perms', `{ getattr open read ioctl lock }')
Nick Kralevich4ee494c2016-03-21 18:15:05 -070023define(`w_file_perms', `{ open append write lock }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050024define(`rx_file_perms', `{ r_file_perms x_file_perms }')
25define(`ra_file_perms', `{ r_file_perms append }')
26define(`rw_file_perms', `{ r_file_perms w_file_perms }')
27define(`rwx_file_perms', `{ rw_file_perms x_file_perms }')
Nick Kralevich85ce2c72015-03-26 18:18:03 -070028define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050029
Nick Kralevich4ee494c2016-03-21 18:15:05 -070030define(`r_dir_perms', `{ open getattr read search ioctl lock }')
31define(`w_dir_perms', `{ open search write add_name remove_name lock }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050032define(`ra_dir_perms', `{ r_dir_perms add_name write }')
33define(`rw_dir_perms', `{ r_dir_perms w_dir_perms }')
Nick Kralevich85ce2c72015-03-26 18:18:03 -070034define(`create_dir_perms', `{ create reparent rename rmdir setattr rw_dir_perms }')
Stephen Smalley2dd4e512012-01-04 12:33:27 -050035
36define(`r_ipc_perms', `{ getattr read associate unix_read }')
37define(`w_ipc_perms', `{ write unix_write }')
38define(`rw_ipc_perms', `{ r_ipc_perms w_ipc_perms }')
39define(`create_ipc_perms', `{ create setattr destroy rw_ipc_perms }')
Robert Craig18b5f872013-01-07 09:21:18 -050040
41#####################################
42# Common socket permission sets.
Stephen Smalley2c759182014-12-11 11:45:51 -050043define(`rw_socket_perms', `{ ioctl read getattr write setattr lock append bind connect getopt setopt shutdown }')
Jeff Vander Stoepeab8a8b2016-09-09 12:48:45 -070044define(`rw_socket_perms_no_ioctl', `{ read getattr write setattr lock append bind connect getopt setopt shutdown }')
Robert Craig18b5f872013-01-07 09:21:18 -050045define(`create_socket_perms', `{ create rw_socket_perms }')
Jeff Vander Stoepeab8a8b2016-09-09 12:48:45 -070046define(`create_socket_perms_no_ioctl', `{ create rw_socket_perms_no_ioctl }')
Stephen Smalley85708ec2014-02-24 10:48:03 -050047define(`rw_stream_socket_perms', `{ rw_socket_perms listen accept }')
48define(`create_stream_socket_perms', `{ create rw_stream_socket_perms }')