Changeset 475
- Timestamp:
- 07/07/05 12:25:53 (3 years ago)
- Files:
-
- tags/RELEASE_20050707 (copied) (copied from trunk)
- tags/RELEASE_20050707/docs/macro_conversion_guide (modified) (43 diffs)
- tags/RELEASE_20050707/refpolicy/VERSION (modified) (1 diff)
- tags/RELEASE_20050707/www (copied) (copied from trunk/www)
- trunk/docs/macro_conversion_guide (modified) (43 diffs)
- trunk/refpolicy/VERSION (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
tags/RELEASE_20050707/docs/macro_conversion_guide
r182 r475 9 9 ######################################## 10 10 # 11 # Object class sets12 #13 14 #15 # devfile_class_set16 #17 { chr_file blk_file }18 19 #20 # dgram_socket_class_set21 #22 { udp_socket unix_dgram_socket }23 24 #25 # dir_file_class_set26 #27 { dir file lnk_file sock_file fifo_file chr_file blk_file }28 29 #30 # file_class_set31 #32 { file lnk_file sock_file fifo_file chr_file blk_file }33 34 #35 # notdevfile_class_set36 #37 { file lnk_file sock_file fifo_file }38 39 #40 # socket_class_set41 #42 { tcp_socket udp_socket rawip_socket netlink_socket packet_socket unix_stream_socket unix_dgram_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 }43 44 #45 # stream_socket_class_set46 #47 { tcp_socket unix_stream_socket }48 49 #50 # unpriv_socket_class_set51 #52 { tcp_socket udp_socket unix_stream_socket unix_dgram_socket }53 54 ########################################55 #56 # Permission Sets57 #58 59 #60 # connected_socket_perms61 #62 { create ioctl read getattr write setattr append bind getopt setopt shutdown }63 64 #65 # connected_stream_socket_perms66 #67 { create ioctl read getattr write setattr append bind getopt setopt shutdown listen accept }68 69 #70 # create_dir_perms71 #72 { create read getattr lock setattr ioctl link unlink rename search add_name remove_name reparent write rmdir }73 74 #75 # create_file_perms76 #77 { create ioctl read getattr lock write setattr append link unlink rename }78 79 #80 # create_lnk_perms81 #82 { create read getattr setattr link unlink rename }83 84 #85 # create_msgq_perms86 #87 { associate getattr setattr create destroy read write enqueue unix_read unix_write }88 89 #90 # create_netlink_socket_perms91 #92 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }93 94 #95 # create_sem_perms96 #97 { associate getattr setattr create destroy read write unix_read unix_write }98 99 #100 # create_shm_perms101 #102 { associate getattr setattr create destroy read write lock unix_read unix_write }103 104 #105 # create_socket_perms106 #107 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown }108 109 #110 # create_stream_socket_perms111 #112 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown listen accept }113 114 #115 # link_file_perms116 #117 { getattr link unlink rename }118 119 #120 # mount_fs_perms121 #122 { mount remount unmount getattr }123 124 #125 # packet_perms126 #127 { tcp_recv tcp_send udp_recv udp_send rawip_recv rawip_send }128 129 #130 # r_dir_perms131 #132 { read getattr lock search ioctl }133 134 #135 # r_file_perms136 #137 { read getattr lock ioctl }138 139 #140 # r_msgq_perms141 #142 { associate getattr read unix_read }143 144 #145 # r_netlink_socket_perms146 #147 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read }148 149 #150 # r_sem_perms151 #152 { associate getattr read unix_read }153 154 #155 # r_shm_perms156 #157 { associate getattr read unix_read }158 159 #160 # ra_dir_perms161 #162 { read getattr lock search ioctl add_name write }163 164 #165 # ra_file_perms166 #167 { ioctl read getattr lock append }168 169 #170 # rw_dir_perms171 #172 { read getattr lock search ioctl add_name remove_name write }173 174 #175 # rw_file_perms176 #177 { getattr read write append ioctl lock }178 179 #180 # rw_msgq_perms181 #182 { associate getattr read write enqueue unix_read unix_write }183 184 #185 # rw_netlink_socket_perms186 #187 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }188 189 #190 # rw_sem_perms191 #192 { associate getattr read write unix_read unix_write }193 194 #195 # rw_shm_perms196 #197 { associate getattr read write lock unix_read unix_write }198 199 #200 # rw_socket_perms201 #202 { ioctl read getattr write setattr append bind connect getopt setopt shutdown }203 204 #205 # rw_stream_socket_perms206 #207 { ioctl read getattr write setattr append bind connect getopt setopt shutdown listen accept }208 209 #210 # rx_file_perms211 #212 { read getattr lock execute ioctl }213 214 #215 # signal_perms216 #217 { sigchld sigkill sigstop signull signal }218 219 #220 # stat_file_perms221 #222 { getattr }223 224 #225 # x_file_perms226 #227 { getattr execute }228 229 ########################################230 #231 11 # Attributes 232 12 # … … 241 21 # auth: complete 242 22 # 243 auth login_read_shadow_passwords($1)23 auth_read_shadow($1) 244 24 245 25 # 246 26 # auth_chkpwd: complete 247 27 # 248 auth login_check_password_transition($1)28 auth_domtrans_chk_passwd($1) 249 29 250 30 # 251 31 # file_type: complete 252 32 # 253 files_ make_file($1)33 files_file_type($1) 254 34 255 35 # … … 263 43 # privfd: complete 264 44 # 265 domain_ make_file_descriptors_widely_inheritable($1)45 domain_wide_inherit_fd($1) 266 46 267 47 # 268 48 # privlog: complete 269 49 # 270 logging_send_sys tem_log_message($1)50 logging_send_syslog_msg($1) 271 51 272 52 # … … 282 62 # privmodule: complete 283 63 # 284 modutils_ insmod_transition($1)64 modutils_domtrans_insmod($1) 285 65 286 66 # 287 67 # privowner: complete 288 68 # 289 kernel_make_object_identity_change_constraint_exception($1)69 domain_obj_id_change_exempt($1) 290 70 291 71 # 292 72 # privrole: complete 293 73 # 294 kernel_make_role_change_constraint_exception($1)74 domain_role_change_exempt($1) 295 75 296 76 # 297 77 # privuser: complete 298 78 # 299 kernel_make_process_identity_change_constraint_exception($1)79 domain_subj_id_change_exempt($1) 300 80 301 81 ######################################## … … 313 93 314 94 # 315 # admin_domain():316 #317 318 #319 95 # append_log_domain(): 320 96 # 321 97 type $1_log_t; 322 logging_ make_log_file($1_log_t)98 logging_log_file($1_log_t) 323 99 allow $1_t var_log_t:dir ra_dir_perms; 324 100 allow $1_t $1_log_t:file { create ra_file_perms }; … … 329 105 # 330 106 type $1_log_t; 331 logging_ make_log_file($1_log_t)107 logging_log_file($1_log_t) 332 108 allow $1_t var_log_t:dir ra_dir_perms; 333 109 allow $1_t $1_log_t:dir { setattr ra_dir_perms }; … … 340 116 type $1_t; 341 117 type $1_exec_t; 342 domain_ make_domain($1_t)343 domain_ make_entrypoint_file($1_t,$1_exec_t)118 domain_type($1_t) 119 domain_entry_file($1_t,$1_exec_t) 344 120 role sysadm_r types $1_t; 345 121 domain_auto_trans(sysadm_t, $1_exec_t, $1_t) 346 lib raries_use_dynamic_loader($1_t)347 lib raries_use_shared_libraries($1_t)122 libs_use_ld_so($1_t) 123 libs_use_shared_libs($1_t) 348 124 349 125 # 350 126 # base_can_network($1,$2): 351 127 # 352 allow $1 self:$2_socket { create ioctl read getattr write setattr append bind getopt setopt shutdown };353 corenet work_network_$2_on_all_interfaces($1)354 corenet work_network_raw_on_all_interfaces($1)355 corenet work_network_$2_on_all_nodes($1)356 corenet work_network_raw_on_all_nodes($1)357 corenet work_bind_$2_on_all_nodes($1)358 corenet work_network_$2_on_all_ports($1)359 sysnet work_read_network_config($1)128 allow $1 self:$2_socket connected_socket_perms; 129 corenet_$2_sendrecv_all_if($1) 130 corenet_raw_sendrecv_all_if($1) 131 corenet_$2_sendrecv_all_nodes($1) 132 corenet_raw_sendrecv_all_nodes($1) 133 corenet_$2_sendrecv_all_ports($1) 134 corenet_$2_bind_all_nodes($1) 135 sysnet_read_config($1) 360 136 361 137 # 362 138 # base_can_network($1,$2,$3): 363 139 # 364 allow $1 self:$2_socket { create ioctl read getattr write setattr append bind getopt setopt shutdown };365 corenet work_network_$2_on_all_interfaces($1)366 corenet work_network_raw_on_all_interfaces($1)367 corenet work_network_$2_on_all_nodes($1)368 corenet work_network_raw_on_all_nodes($1)369 corenet work_bind_$2_on_all_nodes($1)370 corenet work_network_$2_on_$3_port($1)371 sysnet work_read_network_config($1)140 allow $1 self:$2_socket connected_socket_perms; 141 corenet_$2_sendrecv_all_if($1) 142 corenet_raw_sendrecv_all_if($1) 143 corenet_$2_sendrecv_all_nodes($1) 144 corenet_raw_sendrecv_all_nodes($1) 145 corenet_$2_bind_all_nodes($1) 146 corenet_$2_sendrecv_$3_port($1) 147 sysnet_read_config($1) 372 148 373 149 # 374 150 # base_file_read_access(): 375 151 # 376 files_list_home _directories($1)377 files_read_ general_application_resources($1)152 files_list_home($1) 153 files_read_usr_files($1) 378 154 allow $1 bin_t:dir r_dir_perms; 379 155 allow $1 bin_t:notdevfile_class_set r_file_perms; … … 381 157 allow $1 sbin_t:notdevfile_class_set r_file_perms; 382 158 kernel_read_kernel_sysctl($1) 383 se linux_read_config($1)159 seutil_read_config($1) 384 160 if (read_default_t) { 385 161 allow $1 default_t:dir r_dir_perms; … … 396 172 397 173 # 398 # base_user_domain():399 #400 401 #402 174 # can_create(): 403 175 # … … 423 195 # can_create_other_pty(): complete 424 196 # 425 term inal_create_private_pseudoterminal($1_t,$2_devpts_t)197 term_create_pty($1_t,$2_devpts_t) 426 198 allow $1_t $2_devpts_t:chr_file { setattr ioctl read getattr lock write append }; 427 199 … … 431 203 # $2 may require more conversion 432 204 type $1_devpts_t $2; 433 term inal_make_pseudoterminal($1_devpts_t)205 term_pty($1_devpts_t) 434 206 allow $1_t $1_devpts_t:chr_file { setattr ioctl read getattr lock write append }; 435 terminal_create_private_pseudoterminal($1_t,$1_devpts_t) 436 437 # 438 # can_exec(): complete 439 # 440 allow $1 $2:file { getattr read execute execute_no_trans }; 207 term_create_pty($1_t,$1_devpts_t) 441 208 442 209 # 443 210 # can_exec_any(): complete 444 211 # 445 domain_exec ute_all_entrypoint_programs($1)446 files_exec ute_system_config_script($1)447 corec ommands_execute_general_programs($1)448 corec ommands_execute_system_programs($1)449 lib raries_use_dynamic_loader($1)450 lib raries_use_shared_libraries($1)451 lib raries_execute_dynamic_loader($1)452 lib raries_execute_library_scripts($1)212 domain_exec_all_entry_files($1) 213 files_exec_generic_etc_files($1) 214 corecmd_exec_bin($1) 215 corecmd_exec_sbin($1) 216 libs_use_ld_so($1) 217 libs_use_shared_libs($1) 218 libs_exec_ld_so($1) 219 libs_exec_lib_files($1) 453 220 454 221 # … … 461 228 # can_getsecurity(): complete 462 229 # 463 kernel_get_selinuxfs_mount_point($1) 464 kernel_validate_selinux_context($1) 465 kernel_compute_selinux_access_vector($1) 466 kernel_compute_selinux_create_context($1) 467 kernel_compute_selinux_relabel_context($1) 468 kernel_compute_selinux_reachable_user_contexts($1) 469 470 # 471 # can_kerberos(): 472 # 473 ifdef(`kerberos.te',` 474 if (allow_kerberos) { 475 can_network_client($1, `kerberos_port_t') 476 can_resolve($1) 477 } 478 ') dnl kerberos.te 479 dontaudit $1 krb5_conf_t:file write; 480 allow $1 krb5_conf_t:file { getattr read }; 481 482 # 483 # can_ldap(): 484 # 485 ifdef(`slapd.te',` 486 can_network_client_tcp($1, `ldap_port_t') 230 selinux_get_fs_mount($1) 231 selinux_validate_context($1) 232 selinux_compute_access_vector($1) 233 selinux_compute_create_context($1) 234 selinux_compute_relabel_context($1) 235 selinux_compute_user_contexts($1) 236 237 # 238 # can_kerberos(): complete 239 # 240 optional_policy(`kerberos.te',` 241 kerberos_use($1) 242 ') 243 244 # 245 # can_ldap(): complete 246 # 247 optional_policy(`ldap.te',` 248 allow $1 self:tcp_socket create_socket_perms; 249 corenet_tcp_sendrecv_all_if($1) 250 corenet_raw_sendrecv_all_if($1) 251 corenet_tcp_sendrecv_all_nodes($1) 252 corenet_raw_sendrecv_all_nodes($1) 253 corenet_tcp_sendrecv_ldap_port($1) 254 corenet_tcp_bind_all_nodes($1) 255 sysnet_read_config($1) 487 256 ') 488 257 … … 490 259 # can_loadpol(): complete 491 260 # 492 kernel_get_selinuxfs_mount_point($1)493 kernel_load_selinux_policy($1)261 selinux_get_fs_mount($1) 262 selinux_load_policy($1) 494 263 495 264 # … … 511 280 # can_network_client_tcp($1): complete 512 281 # 513 allow $1 self:tcp_socket { create connect ioctl read getattr write setattr append bind getopt setopt shutdown };514 corenet work_network_tcp_on_all_interfaces($1)515 corenet work_network_raw_on_all_interfaces($1)516 corenet work_network_tcp_on_all_nodes($1)517 corenet work_network_raw_on_all_nodes($1)518 corenet work_bind_tcp_on_all_nodes($1)519 corenet work_network_tcp_on_all_ports($1)520 sysnet work_read_network_config($1)282 allow $1 self:tcp_socket create_socket_perms; 283 corenet_tcp_sendrecv_all_if($1) 284 corenet_raw_sendrecv_all_if($1) 285 corenet_tcp_sendrecv_all_nodes($1) 286 corenet_raw_sendrecv_all_nodes($1) 287 corenet_tcp_sendrecv_all_ports($1) 288 corenet_tcp_bind_all_nodes($1) 289 sysnet_read_config($1) 521 290 522 291 # … … 524 293 # 525 294 # remove _port_t from $2 526 allow system_mail_t self:tcp_socket { create connect ioctl read getattr write setattr append bind getopt setopt shutdown };527 corenet work_network_tcp_on_all_interfaces(system_mail_t)528 corenet work_network_raw_on_all_interfaces(system_mail_t)529 corenet work_network_tcp_on_all_nodes(system_mail_t)530 corenet work_network_raw_on_all_nodes(system_mail_t)531 corenet work_bind_tcp_on_all_nodes(system_mail_t)532 corenet work_network_tcp_on_$2_port(system_mail_t)533 sysnet work_read_network_config(system_mail_t)295 allow $1 self:tcp_socket create_socket_perms; 296 corenet_tcp_sendrecv_all_if($1) 297 corenet_raw_sendrecv_all_if($1) 298 corenet_tcp_sendrecv_all_nodes($1) 299 corenet_raw_sendrecv_all_nodes($1) 300 corenet_tcp_sendrecv_$2_port($1) 301 corenet_tcp_bind_all_nodes($1) 302 sysnet_read_config($1) 534 303 535 304 # 536 305 # can_network_server(): 537 306 # 538 allow $1 self:tcp_socket { listen accept };307 allow $1 self:tcp_socket create_stream_socket_perms; 539 308 base_can_network($1, tcp, `$2') 540 309 … … 542 311 # can_network_server_tcp(): 543 312 # 544 allow $1 self:tcp_socket { listen accept };313 allow $1 self:tcp_socket create_stream_socket_perms; 545 314 base_can_network($1, tcp, `$2') 546 315 … … 576 345 577 346 # 578 # can_resolve(): 347 # can_resolve(): complete 579 348 # 580 349 tunable_policy(`use_dns',` 581 allow $1 self:udp_socket { create ioctl read getattr write setattr append bind getopt setopt shutdown connect };582 corenetwork_network_udp_on_all_interfaces($1)583 corenetwork_network_raw_on_all_interfaces($1)584 corenetwork_network_udp_on_all_nodes($1)585 corenetwork_network_raw_on_all_nodes($1)586 corenetwork_bind_udp_on_all_nodes($1)587 corenetwork_network_udp_on_dns_port($1)588 sysnetwork_read_network_config($1)350 allow $1 self:udp_socket create_socket_perms; 351 corenet_udp_sendrecv_all_if($1) 352 corenet_raw_sendrecv_all_if($1) 353 corenet_udp_sendrecv_all_nodes($1) 354 corenet_raw_sendrecv_all_nodes($1) 355 corenet_udp_sendrecv_dns_port($1) 356 corenet_udp_bind_all_nodes($1) 357 sysnet_read_config($1) 589 358 ') 590 359 … … 592 361 # can_setbool(): complete 593 362 # 594 kernel_get_selinuxfs_mount_point($1)595 kernel_set_selinux_boolean($1)363 selinux_get_fs_mount($1) 364 selinux_set_boolean($1) 596 365 597 366 # … … 601 370 # 602 371 allow $1 self:process setcurrent; 603 kernel_get_selinuxfs_mount_point($1)372 selinux_get_fs_mount($1) 604 373 605 374 # … … 608 377 # get mount point is due to libselinux init 609 378 # 610 kernel_get_selinuxfs_mount_point($1)611 kernel_set_selinux_enforcement_mode($1)379 selinux_get_fs_mount($1) 380 selinux_set_enforce_mode($1) 612 381 613 382 # … … 617 386 # 618 387 allow $1 self:process setexec; 619 kernel_get_selinuxfs_mount_point($1)388 selinux_get_fs_mount($1) 620 389 621 390 # … … 625 394 # 626 395 allow $1 self:process setfscreate; 627 kernel_get_selinuxfs_mount_point($1)396 selinux_get_fs_mount($1) 628 397 629 398 # … … 632 401 # get mount point is due to libselinux init 633 402 # 634 kernel_get_selinuxfs_mount_point($1)403 selinux_get_fs_mount($1) 635 404 kernel_setsecparam($1) 636 405 … … 638 407 # can_sysctl(): complete 639 408 # 640 kernel_ modify_all_sysctl($1)409 kernel_rw_all_sysctl($1) 641 410 642 411 # 643 412 # can_tcp_connect 644 # (policy is commented out) 645 # Irrelevant until we have labeled networking. 646 # 647 #allow $1 $2:tcp_socket { connectto recvfrom }; 648 #allow $2 $1:tcp_socket { acceptfrom recvfrom }; 649 #allow $2 kernel_t:tcp_socket recvfrom; 650 #allow $1 kernel_t:tcp_socket recvfrom; 413 # 414 allow $1 $2:tcp_socket { connectto recvfrom }; 415 allow $2 $1:tcp_socket { acceptfrom recvfrom }; 416 allow $2 kernel_t:tcp_socket recvfrom; 417 allow $1 kernel_t:tcp_socket recvfrom; 651 418 652 419 # 653 420 # can_udp_send(): 654 # (policy is commented out) 655 # Irrelevant until we have labeled networking. 656 # 657 #allow $1 $2:udp_socket sendto; 658 #allow $2 $1:udp_socket recvfrom; 421 # 422 allow $1 $2:udp_socket sendto; 423 allow $2 $1:udp_socket recvfrom; 659 424 660 425 # … … 669 434 670 435 # 671 # can_ypbind(): 672 # 436 # can_ypbind(): complete 437 # 438 optional_policy(`nis.te',` 439 nis_use_ypbind($1) 440 ') 673 441 674 442 # … … 697 465 type $1_t; 698 466 type $1_exec_t; 699 init_ make_daemon_domain($1_t,$1_exec_t)467 init_daemon_domain($1_t,$1_exec_t) 700 468 role system_r types $1_t; 701 469 dontaudit $1_t self:capability sys_tty_config; 702 470 allow $1_t self:process { sigchld sigkill sigstop signull signal }; 703 471 kernel_read_kernel_sysctl($1_t) 704 kernel_read_hardware_state($1_t) 705 terminal_ignore_use_console($1_t) 706 init_use_file_descriptors($1_t) 707 init_script_use_pseudoterminal($1_t) 708 domain_use_widely_inheritable_file_descriptors($1_t) 709 libraries_use_dynamic_loader($1_t) 710 libraries_use_shared_libraries($1_t) 711 logging_send_system_log_message($1_t) 472 dev_read_sysfs($1_t) 473 fs_search_auto_mountpoints($1_t) 474 term_dontaudit_use_console($1_t) 475 domain_use_wide_inherit_fd($1_t) 476 init_use_fd($1_t) 477 init_use_script_pty($1_t) 478 libs_use_ld_so($1_t) 479 libs_use_shared_libs($1_t) 480 logging_send_syslog_msg($1_t) 481 userdom_dontaudit_use_unpriv_user_fd($1_t) 482 ifdef(`targeted_policy',` 483 term_dontaudit_use_unallocated_tty($1_t) 484 term_dontaudit_use_generic_pty($1_t) 485 files_dontaudit_read_root_file($1_t) 486 ') 487 optional_policy(`rhgb.te',` 488 rhgb_domain($1_t) 489 ') 490 optional_policy(`selinux.te',` 491 seutil_newrole_sigchld($1_t) 492 ') 493 optional_policy(`udev.te', ` 494 udev_read_db($1_t) 495 ') 712 496 allow $1_t proc_t:dir r_dir_perms; 713 497 allow $1_t proc_t:lnk_file read; 714 tunable_policy(`direct_sysadm_daemon', `715 dontaudit $1_t admin_tty_type:chr_file rw_file_perms;716 ')717 tunable_policy(`targeted_policy', `718 terminal_ignore_use_general_physical_terminal($1_t)719 terminal_ignore_use_general_pseudoterminal($1_t)720 files_ignore_read_rootfs_file($1_t)721 ')722 optional_policy(`rhgb.te', `723 allow $1_t rhgb_t:process sigchld;724 allow $1_t rhgb_t:fd use;725 allow $1_t rhgb_t:fifo_file { read write };726 ')727 optional_policy(`selinux.te',`728 selinux_newrole_sigchld($1_t)729 ')730 optional_policy(`udev.te', `731 udev_read_database($1_t)732 ')733 dontaudit $1_t unpriv_userdomain:fd use;734 allow $1_t autofs_t:dir { search getattr };735 498 736 499 … … 740 503 type $1_t; 741 504 type $1_exec_t; 742 init_ make_daemon_domain($1_t,$1_exec_t)505 init_daemon_domain($1_t,$1_exec_t) 743 506 type $1_var_run_t; 744 files_make_daemon_runtime_file($1_var_run_t) 507 files_pid_file($1_var_run_t) 508 dontaudit $1_t self:capability sys_tty_config; 745 509 allow $1_t $1_var_run_t:file { getattr create read write append setattr unlink }; 746 files_create_daemon_runtime_data($1_t,$1_var_run_t) 747 dontaudit $1_t self:capability sys_tty_config; 510 files_create_pid($1_t,$1_var_run_t) 748 511 kernel_read_kernel_sysctl($1_t) 749 kernel_read_hardware_state($1_t) 750 filesystem_get_all_filesystems_attributes($1_t) 751 terminal_ignore_use_console($1_t) 752 init_use_file_descriptors($1_t) 753 init_script_use_pseudoterminal($1_t) 754 domain_use_widely_inheritable_file_descriptors($1_t) 755 logging_send_system_log_message($1_t) 756 libraries_use_dynamic_loader($1_t) 757 libraries_use_shared_libraries($1_t) 512 dev_read_sysfs($1_t) 513 fs_getattr_all_fs($1_t) 514 fs_search_auto_mountpoints($1_t) 515 term_dontaudit_use_console($1_t) 516 domain_use_wide_inherit_fd($1_t) 517 init_use_fd($1_t) 518 init_use_script_pty($1_t) 519 libs_use_ld_so($1_t) 520 libs_use_shared_libs($1_t) 521 logging_send_syslog_msg($1_t) 758 522 miscfiles_read_localization($1_t) 759 tunable_policy(`targeted_policy', ` 760 terminal_ignore_use_general_physical_terminal($1_t) 761 terminal_ignore_use_general_pseudoterminal($1_t) 762 files_ignore_read_rootfs_file($1_t) 763 ') 764 optional_policy(`rhgb.te', ` 765 allow $1_t rhgb_t:process sigchld; 766 allow $1_t rhgb_t:fd use; 767 allow $1_t rhgb_t:fifo_file { read write }; 523 userdom_dontaudit_use_unpriv_user_fd($1_t) 524 ifdef(`targeted_policy', ` 525 term_dontaudit_use_unallocated_tty($1_t) 526 term_dontaudit_use_generic_pty($1_t) 527 files_dontaudit_read_root_file($1_t) 528 ') 529 optional_policy(`rhgb.te',` 530 rhgb_domain($1_t) 768 531 ') 769 532 optional_policy(`selinux.te',` 770 selinux_newrole_sigchld($1_t)533 seutil_newrole_sigchld($1_t) 771 534 ') 772 535 optional_policy(`udev.te', ` 773 udev_read_database($1_t)536 udev_read_db($1_t) 774 537 ') 775 538 allow $1_t proc_t:dir r_dir_perms; 776 539 allow $1_t proc_t:lnk_file read; 777 dontaudit $1_t unpriv_userdomain:fd use;778 allow $1_t autofs_t:dir { search getattr };779 540 dontaudit $1_t sysadm_home_dir_t:dir search; 780 541 … … 791 552 allow $2_t $1:process sigchld; 792 553 allow $2_t self:process signal_perms; 793 lib raries_use_dynamic_loader($2_t)794 lib raries_use_shared_libraries($2_t)554 libs_use_ld_so($2_t) 555 libs_use_shared_libs($2_t) 795 556 allow $2_t proc_t:dir r_dir_perms; 796 557 allow $2_t proc_t:lnk_file read; … … 801 562 # 802 563 type $1_etc_t; #, usercanread; 803 files_ make_file($1_etc_t)564 files_file_type($1_etc_t) 804 565 allow $1_t $1_etc_t:file { getattr read }; 805 566 … … 808 569 # 809 570 type $1_etc_t; #, usercanread; 810 files_ make_file($1_etc_t)571 files_file_type($1_etc_t) 811 572 allow $1_t $1_etc_t:file r_file_perms; 812 573 allow $1_t $1_etc_t:dir r_dir_perms; … … 832 593 833 594 # 834 # full_user_role(): 835 # 836 837 # 838 # general_domain_access(): 595 # general_domain_access(): complete 839 596 # 840 597 allow $1 self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem dyntransition }; 841 598 allow $1 self:fd use; 842 allow $1 self:fifo_file { read getattr lock ioctl write append };843 allow $1 self:unix_dgram_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown };844 allow $1 self:unix_stream_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown listen accept };599 allow $1 self:fifo_file rw_file_perms; 600 allow $1 self:unix_dgram_socket create_socket_perms; 601 allow $1 self:unix_stream_socket create_stream_socket_perms; 845 602 allow $1 self:unix_dgram_socket sendto; 846 603 allow $1 self:unix_stream_socket connectto; 847 allow $1 self:shm { associate getattr setattr create destroy read write lock unix_read unix_write };848 allow $1 self:sem { associate getattr setattr create destroy read write unix_read unix_write };849 allow $1 self:msgq { associate getattr setattr create destroy read write enqueue unix_read unix_write };604 allow $1 self:shm create_shm_perms; 605 allow $1 self:sem create_sem_perms; 606 allow $1 self:msgq create_msgq_perms; 850 607 allow $1 self:msg { send receive }; 851 allow $1 unpriv_userdomain:fd use; 852 can_ypbind($1)853 ifdef(`automount.te',`854 allow $1 autofs_t:dir { search getattr }; 608 fs_search_auto_mountpoints($1) 609 userdom_use_unpriv_user_fd($1) 610 optional_policy(`nis.te',` 611 nis_use_ypbind($1) 855 612 ') 856 613 … … 859 616 # 860 617 kernel_read_system_state($1) 861 kernel_read_ network_state($1)618 kernel_read_sendrecv_state($1) 862 619 kernel_read_software_raid_state($1) 863 kernel_get _core_interface_attributes($1)864 kernel_get _message_interface_attributes($1)620 kernel_getattr_core($1) 621 kernel_getattr_message_if($1) 865 622 kernel_read_kernel_sysctl($1) 866 623 … … 892 649 type $1_t; 893 650 type $1_exec_t; 894 init_ make_daemon_domain($1_t,$1_exec_t)651 init_daemon_domain($1_t,$1_exec_t) 895 652 dontaudit $1_t self:capability sys_tty_config; 896 kernel_read_hardware_state($1_t)897 term inal_ignore_use_console($1_t)898 init_use_f ile_descriptors($1_t)899 lib raries_use_dynamic_loader($1_t)900 lib raries_use_shared_libraries($1_t)901 logging_send_sys tem_log_message($1_t)653 dev_read_sysfs($1_t) 654 term_dontaudit_use_console($1_t) 655 init_use_fd($1_t) 656 libs_use_ld_so($1_t) 657 libs_use_shared_libs($1_t) 658 logging_send_syslog_msg($1_t) 902 659 tunable_policy(`targeted_policy', ` 903 term inal_ignore_use_general_physical_terminal($1_t)904 term inal_ignore_use_general_pseudoterminal($1_t)905 files_ ignore_read_rootfs_file($1_t)660 term_dontaudit_use_unallocated_tty($1_t) 661 term_dontaudit_use_generic_pty($1_t) 662 files_dontaudit_read_root_file($1_t) 906 663 ')dnl end targeted_policy tunable 907 664 allow $1_t proc_t:dir r_dir_perms; 908 665 allow $1_t proc_t:lnk_file read; 909 666 optional_policy(`udev.te', ` 910 udev_read_d atabase($1_t)667 udev_read_db($1_t) 911 668 ') 912 669 allow $1_t autofs_t:dir { search getattr }; … … 914 671 915 672 # 673 # inetd_child_domain(): 674 # 675 type $1_t; #, nscd_client_domain; 676 type $1_exec_t; 677 inetd_(udp_|tcp_)?service_domain($1_t,$1_exec_t) 678 role system_r types $1_t; 679 type $1_tmp_t; 680 files_tmp_file($1_tmp_t) 681 type $1_var_run_t; 682 files_pid_file($1_var_run_t) 683 allow $1_t self:process signal_perms; 684 allow $1_t self:fifo_file rw_file_perms; 685 allow $1_t self:tcp_socket { listen accept connected_socket_perms } 686 # for identd 687 # cjp: this should probably only be inetd_child rules? 688 allow $1_t self:netlink_tcpdiag_socket r_netlink_socket_perms; 689 allow $1_t self:capability { setuid setgid }; 690 allow $1_t self:dir search; 691 allow $1_t self:{ lnk_file file } { getattr read }; 692 #allow $1_t home_root_t:dir search; 693 #can_kerberos($1_t) 694 #end for identd 695 allow $1_t $1_tmp_t:dir create_dir_perms; 696 allow $1_t $1_tmp_t:file create_file_perms; 697 files_create_tmp_files($1_t, $1_tmp_t, { file dir }) 698 allow $1_t $1_var_run_t:file create_file_perms; 699 files_create_pid($1_t,$1_var_run_t) 700 kernel_read_kernel_sysctl($1_t) 701 kernel_read_system_state($1_t) 702 kernel_read_network_state($1_t) 703 corenet_sendrecv_tcp_on_all_interfaces($1_t) 704 corenet_sendrecv_raw_on_all_interfaces($1_t) 705 corenet_sendrecv_tcp_on_all_nodes($1_t) 706 corenet_sendrecv_raw_on_all_nodes($1_t) 707 corenet_bind_tcp_on_all_nodes($1_t) 708 corenet_sendrecv_tcp_on_all_ports($1_t) 709 dev_read_urand($1_t) 710 fs_getattr_xattr_fs($1_t) 711 files_read_generic_etc_files($1_t) 712 libs_use_ld_so($1_t) 713 libs_use_shared_libs($1_t) 714 logging_send_syslog_msg($1_t) 715 miscfiles_read_localization($1_t) 716 sysnet_read_config($1_t) 717 optional_policy(`nis.te',` 718 nis_use_ypbind($1_t) 719 ') 720 721 # 916 722 # legacy_domain(): complete 917 723 # 918 724 allow $1_t self:process execmem; 919 lib raries_legacy_use_shared_libraries($1_t)920 lib raries_legacy_use_dynamic_loader($1_t)725 libs_legacy_use_shared_libs($1_t) 726 libs_legacy_use_ld_so($1_t) 921 727 922 728 # … … 924 730 # 925 731 type $1_lock_t; 926 files_ make_lock_file($1_lock_t)927 allow $1_t $1_lock_t:file { create ioctl read getattr lock write setattr append link unlink rename };928 files_create_ private_lock_file($1_t,$1_lock_t)732 files_lock_file($1_lock_t) 733 allow $1_t $1_lock_t:file create_file_perms; 734 files_create_lock_file($1_t,$1_lock_t) 929 735 930 736 # … … 932 738 # 933 739 type $1_log_t; 934 logging_ make_log_file($1_log_t)935 allow $1_t $1_log_t:file { create ioctl read getattr lock write setattr append link unlink rename };936 logging_create_ private_log($1_t,$1_log_t)740 logging_log_file($1_log_t) 741 allow $1_t $1_log_t:file create_file_perms; 742 logging_create_log($1_t,$1_log_t) 937 743 938 744 # … … 940 746 # 941 747 type $1_log_t; 942 logging_ make_log_file($1_log_t)943 allow $1_t $1_log_t:file { create ioctl read getattr lock write setattr append link unlink rename };944 allow $1_t $1_log_t:dir { getattr search read lock ioctl add_name remove_name write setattr };945 logging_ create_private_log($1_t,$1_log_t,{ file dir })748 logging_log_file($1_log_t) 749 allow $1_t $1_log_t:file create_file_perms; 750 allow $1_t $1_log_t:dir rw_dir_perms; 751 logging_search_logs($1_t,$1_log_t,{ file dir }) 946 752 947 753 # … … 1027 833 # 1028 834 type $1_t; 1029 domain_ make_domain($1_t)835 domain_type($1_t) 1030 836 role system_r types $1_t; 1031 837 type $1_exec_t; 1032 domain_ make_entrypoint_file($1_t,$1_exec_t)1033 lib raries_use_dynamic_loader($1_t)1034 lib raries_use_shared_libraries($1_t)1035 logging_send_sys tem_log_message($1_t)838 domain_entry_file($1_t,$1_exec_t) 839 libs_use_ld_so($1_t) 840 libs_use_shared_libs($1_t) 841 logging_send_syslog_msg($1_t) 1036 842 allow $1_t etc_t:dir r_dir_perms; 1037 843 … … 1042 848 # 1043 849 type $1_tmp_t $2; 1044 files_ make_temporary_file($1_tmp_t)850 files_tmp_file($1_tmp_t) 1045 851 # no class specified: 1046 allow $1_t $1_tmp_t:dir { create read getattr lock setattr ioctl link unlink rename search add_name remove_name reparent write rmdir };1047 allow $1_t $1_tmp_t:file { create ioctl read getattr lock write setattr append link unlink rename };1048 files_create_ private_tmp_data($1_t, $1_tmp_t, { file dir })852 allow $1_t $1_tmp_t:dir create_dir_perms; 853 allow $1_t $1_tmp_t:file create_file_perms; 854 files_create_tmp_files($1_t, $1_tmp_t, { file dir }) 1049 855 # class specified: 1050 files_create_ private_tmp_data($1_t, $1_tmp_t, $3)856 files_create_tmp_files($1_t, $1_tmp_t, $3) 1051 857 # $3 manage object perms here 1052 858 … … 1057 863 # 1058 864 type $1_tmp_t $2; 1059 files_ make_temporary_file($1_tmp_t)1060 files_create_ private_tmp_data($1_t, $1_tmp_t, $3)865 files_tmp_file($1_tmp_t) 866 files_create_tmp_files($1_t, $1_tmp_t, $3) 1061 867 allow $1_t $1_tmp_t:$3 manage_obj_perms; 1062 868 1063 869 # 1064 # tmpfs_domain(): 1065 # 1066 type $1_tmpfs_t, file_type, sysadmfile, tmpfsfile; 1067 file_type_auto_trans($1_t, tmpfs_t, $1_tmpfs_t) 1068 allow $1_tmpfs_t tmpfs_t:filesystem associate; 870 # tmpfs_domain(): complete 871 # 872 type $1_tmpfs_t; 873 files_tmpfs_file($1_tmpfs_t) 874 allow $1_t $1_tmpfs_t:dir { read getattr lock search ioctl add_name remove_name write }; 875 allow $1_t $1_tmpfs_t:file { create ioctl read getattr lock write setattr append link unlink rename }; 876 allow $1_t $1_tmpfs_t:lnk_file { create read getattr setattr link unlink rename }; 877 allow $1_t $1_tmpfs_t:sock_file { create ioctl read getattr lock write setattr append link unlink rename }; 878 allow $1_t $1_tmpfs_t:fifo_file { create ioctl read getattr lock write setattr append link unlink rename }; 879 filesystem_create_private_tmpfs_data($1_t,$1_tmpfs_t,{ dir file lnk_file sock_file fifo_file }) 1069 880 1070 881 # … … 1079 890 role sysadm_r types $1_t; 1080 891 domain_auto_trans(sysadm_t, $1_exec_t, $1_t) 1081 lib raries_use_dynamic_loader($1_t)1082 lib raries_use_shared_libraries($1_t)892 libs_use_ld_so($1_t) 893 libs_use_shared_libs($1_t) 1083 894 in_user_role($1_t) 1084 895 domain_auto_trans(userdomain, $1_exec_t, $1_t) 1085 1086 #1087 # user_domain():1088 #1089 896 1090 897 # … … 1097 904 1098 905 # 1099 # uses_shlib(): complete1100 #1101 libraries_use_dynamic_loader($1)1102 libraries_use_shared_libraries($1)1103 1104 #1105 906 # var_lib_domain(): 1106 907 # … … 1108 909 typealias $1_var_lib_t alias var_lib_$1_t; 1109 910 file_type_auto_trans($1_t, var_lib_t, $1_var_lib_t, file) 1110 allow $1_t $1_var_lib_t:dir { read getattr lock search ioctl add_name remove_name write };911 allow $1_t $1_var_lib_t:dir rw_dir_perms; 1111 912 1112 913 # 1113 914 # var_run_domain($1): 1114 915 # 1115 type $1_var_run_t , file_type, sysadmfile, pidfile;1116 file _type_auto_trans($1_t, var_run_t, $1_var_run_t, file)1117 allow $1_t var_t:dir search;1118 allow $1_t $1_var_run_t:dir { read getattr lock search ioctl add_name remove_name write }; 916 type $1_var_run_t; 917 files_pid_file($1_var_run_t) 918 allow $1_t $1_var_run_t:file create_file_perms; 919 files_create_pid($1_t,$1_var_run_t) 1119 920 1120 921 # tags/RELEASE_20050707/refpolicy/VERSION
r347 r475 1 20050 6151 20050707 trunk/docs/macro_conversion_guide
r182 r475 9 9 ######################################## 10 10 # 11 # Object class sets12 #13 14 #15 # devfile_class_set16 #17 { chr_file blk_file }18 19 #20 # dgram_socket_class_set21 #22 { udp_socket unix_dgram_socket }23 24 #25 # dir_file_class_set26 #27 { dir file lnk_file sock_file fifo_file chr_file blk_file }28 29 #30 # file_class_set31 #32 { file lnk_file sock_file fifo_file chr_file blk_file }33 34 #35 # notdevfile_class_set36 #37 { file lnk_file sock_file fifo_file }38 39 #40 # socket_class_set41 #42 { tcp_socket udp_socket rawip_socket netlink_socket packet_socket unix_stream_socket unix_dgram_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 }43 44 #45 # stream_socket_class_set46 #47 { tcp_socket unix_stream_socket }48 49 #50 # unpriv_socket_class_set51 #52 { tcp_socket udp_socket unix_stream_socket unix_dgram_socket }53 54 ########################################55 #56 # Permission Sets57 #58 59 #60 # connected_socket_perms61 #62 { create ioctl read getattr write setattr append bind getopt setopt shutdown }63 64 #65 # connected_stream_socket_perms66 #67 { create ioctl read getattr write setattr append bind getopt setopt shutdown listen accept }68 69 #70 # create_dir_perms71 #72 { create read getattr lock setattr ioctl link unlink rename search add_name remove_name reparent write rmdir }73 74 #75 # create_file_perms76 #77 { create ioctl read getattr lock write setattr append link unlink rename }78 79 #80 # create_lnk_perms81 #82 { create read getattr setattr link unlink rename }83 84 #85 # create_msgq_perms86 #87 { associate getattr setattr create destroy read write enqueue unix_read unix_write }88 89 #90 # create_netlink_socket_perms91 #92 { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write }93 94 #95 # create_sem_perms96 #97 { associate getattr setattr create destroy read write unix_read unix_write }98 99 #100 # create_shm_perms101 #102 { associate getattr setattr create destroy read write lock unix_read unix_write }103 104 #
