Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 1 | ##################################### |
| 2 | # Common groupings of object classes. |
| 3 | # |
Benjamin Gordon | 9b2e0cb | 2017-11-09 15:51:26 -0700 | [diff] [blame] | 4 | define(`capability_class_set', `{ capability capability2 cap_userns cap2_userns }') |
| 5 | define(`global_capability_class_set', `{ capability cap_userns }') |
| 6 | define(`global_capability2_class_set', `{ capability2 cap2_userns }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 7 | |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 8 | define(`devfile_class_set', `{ chr_file blk_file }') |
William Roberts | 7104df5 | 2012-10-03 09:55:28 -0700 | [diff] [blame] | 9 | define(`notdevfile_class_set', `{ file lnk_file sock_file fifo_file }') |
| 10 | define(`file_class_set', `{ devfile_class_set notdevfile_class_set }') |
| 11 | define(`dir_file_class_set', `{ dir file_class_set }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 12 | |
Nick Kralevich | a194d37 | 2018-11-16 02:48:03 -0800 | [diff] [blame] | 13 | define(`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_tcpdiag_socket netlink_nflog_socket netlink_xfrm_socket netlink_selinux_socket netlink_audit_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 sctp_socket icmp_socket ax25_socket ipx_socket netrom_socket atmpvc_socket x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket xdp_socket }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 14 | define(`dgram_socket_class_set', `{ udp_socket unix_dgram_socket }') |
Nick Kralevich | ea1775d | 2018-11-01 19:39:44 -0700 | [diff] [blame] | 15 | define(`stream_socket_class_set', `{ tcp_socket unix_stream_socket sctp_socket }') |
| 16 | define(`unpriv_socket_class_set', `{ tcp_socket udp_socket unix_stream_socket unix_dgram_socket sctp_socket }') |
Jeff Vander Stoep | 561aa01 | 2019-01-17 14:44:29 -0800 | [diff] [blame] | 17 | define(`network_socket_class_set', `{ icmp_socket rawip_socket tcp_socket udp_socket }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 18 | |
| 19 | define(`ipc_class_set', `{ sem msgq shm ipc }') |
| 20 | |
| 21 | ##################################### |
| 22 | # Common groupings of permissions. |
| 23 | # |
Stephen Smalley | 4397f08 | 2017-07-10 09:32:10 -0400 | [diff] [blame] | 24 | define(`x_file_perms', `{ getattr execute execute_no_trans map }') |
Nick Kralevich | c4ab8ed | 2019-08-28 12:23:20 -0700 | [diff] [blame] | 25 | define(`r_file_perms', `{ getattr open read ioctl lock map watch watch_reads }') |
Stephen Smalley | 4397f08 | 2017-07-10 09:32:10 -0400 | [diff] [blame] | 26 | define(`w_file_perms', `{ open append write lock map }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 27 | define(`rx_file_perms', `{ r_file_perms x_file_perms }') |
| 28 | define(`ra_file_perms', `{ r_file_perms append }') |
| 29 | define(`rw_file_perms', `{ r_file_perms w_file_perms }') |
| 30 | define(`rwx_file_perms', `{ rw_file_perms x_file_perms }') |
Nick Kralevich | 85ce2c7 | 2015-03-26 18:18:03 -0700 | [diff] [blame] | 31 | define(`create_file_perms', `{ create rename setattr unlink rw_file_perms }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 32 | |
Nick Kralevich | c4ab8ed | 2019-08-28 12:23:20 -0700 | [diff] [blame] | 33 | define(`r_dir_perms', `{ open getattr read search ioctl lock watch watch_reads }') |
Nick Kralevich | 4ee494c | 2016-03-21 18:15:05 -0700 | [diff] [blame] | 34 | define(`w_dir_perms', `{ open search write add_name remove_name lock }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 35 | define(`ra_dir_perms', `{ r_dir_perms add_name write }') |
| 36 | define(`rw_dir_perms', `{ r_dir_perms w_dir_perms }') |
Nick Kralevich | 85ce2c7 | 2015-03-26 18:18:03 -0700 | [diff] [blame] | 37 | define(`create_dir_perms', `{ create reparent rename rmdir setattr rw_dir_perms }') |
Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 38 | |
| 39 | define(`r_ipc_perms', `{ getattr read associate unix_read }') |
| 40 | define(`w_ipc_perms', `{ write unix_write }') |
| 41 | define(`rw_ipc_perms', `{ r_ipc_perms w_ipc_perms }') |
| 42 | define(`create_ipc_perms', `{ create setattr destroy rw_ipc_perms }') |
Robert Craig | 18b5f87 | 2013-01-07 09:21:18 -0500 | [diff] [blame] | 43 | |
| 44 | ##################################### |
| 45 | # Common socket permission sets. |
Nick Kralevich | 9c22895 | 2018-10-15 21:24:57 -0700 | [diff] [blame] | 46 | define(`rw_socket_perms', `{ ioctl read getattr write setattr lock append bind connect getopt setopt shutdown map }') |
| 47 | define(`rw_socket_perms_no_ioctl', `{ read getattr write setattr lock append bind connect getopt setopt shutdown map }') |
Robert Craig | 18b5f87 | 2013-01-07 09:21:18 -0500 | [diff] [blame] | 48 | define(`create_socket_perms', `{ create rw_socket_perms }') |
Jeff Vander Stoep | eab8a8b | 2016-09-09 12:48:45 -0700 | [diff] [blame] | 49 | define(`create_socket_perms_no_ioctl', `{ create rw_socket_perms_no_ioctl }') |
Stephen Smalley | 85708ec | 2014-02-24 10:48:03 -0500 | [diff] [blame] | 50 | define(`rw_stream_socket_perms', `{ rw_socket_perms listen accept }') |
| 51 | define(`create_stream_socket_perms', `{ create rw_stream_socket_perms }') |