Changeset 157

Show
Ignore:
Timestamp:
01/08/08 12:50:13 (11 months ago)
Author:
bwilliams
Message:

changed secure mode to be more useful

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branch/refpol-merged/src/selinux-policy-refpol/policy/modules/kernel/selinux.if

    r156 r157  
    1 ## <summary> 
     1## <summary 
    22##      Policy for kernel security interface, in particular, selinuxfs. 
    33## </summary> 
     
    198198        if(!secure_mode_policyload) { 
    199199                allow $1 security_t:security setenforce; 
    200  
    201                 ifdef(`distro_rhel4',` 
    202                         # needed for systems without audit support 
    203                         auditallow $1 security_t:security setenforce; 
    204                 ') 
    205200        } 
    206201') 
     
    220215                type security_t; 
    221216                attribute can_load_policy; 
     217                bool secure_mode_policyload; 
    222218        ') 
    223219 
     
    228224        if(!secure_mode_policyload) { 
    229225                allow $1 security_t:security load_policy; 
    230  
    231                 ifdef(`distro_rhel4',` 
    232                         # needed for systems without audit support 
    233                         auditallow $1 security_t:security load_policy; 
    234                 ') 
    235226        } 
    236227') 
     
    265256        allow $1 security_t:dir list_dir_perms; 
    266257        allow $1 security_t:file { getattr read write }; 
     258        allow $1 security_t:security setbool; 
    267259 
    268260        if(!secure_mode_policyload) { 
    269                 allow $1 security_t:security setbool; 
    270  
    271                 ifdef(`distro_rhel4',` 
    272                         # needed for systems without audit support 
    273                         auditallow $1 security_t:security setbool; 
    274                 ') 
     261                allow $1 secure_mode_policyload_bool_t:file write; 
    275262        } 
    276263') 
     264 
     265 
     266######################################## 
     267## <summary> 
     268##      Allow caller to change from secure_mode to unsecure_mode 
     269## </summary> 
     270## <desc> 
     271##      <p> 
     272##      Allow caller to set the state of Booleans to 
     273##      enable or disable conditional portions of the policy. 
     274##      </p> 
     275##      <p> 
     276##      Since this is a security event, this action is 
     277##      always audited. 
     278##      </p> 
     279## </desc> 
     280## <param name="domain"> 
     281##      <summary> 
     282##      The process type allowed to set the Boolean. 
     283##      </summary> 
     284## </param> 
     285## <rolecap/> 
     286# 
     287interface(`selinux_set_secure_mode',` 
     288        gen_require(` 
     289                type secure_mode_policyload_bool_t; 
     290        ') 
     291         
     292        selinux_set_boolean($1) 
     293 
     294        allow $1 secure_mode_policyload_bool_t:file write; 
     295') 
     296 
     297 
    277298 
    278299######################################## 
  • branch/refpol-merged/src/selinux-policy-refpol/policy/modules/kernel/selinux.te

    r153 r157  
    2323genfscon selinuxfs / gen_context(system_u:object_r:security_t,s0) 
    2424 
     25type secure_mode_policyload_bool_t; 
     26files_type(secure_mode_policyload_bool_t) 
     27genfscon selinuxfs /booleans/secure_mode_policyload gen_context(system_u:object_r:secure_mode_policyload_bool_t,s0) 
     28 
     29 
    2530neverallow ~{ selinux_unconfined_type can_load_policy } security_t:security load_policy; 
    2631neverallow ~{ selinux_unconfined_type can_setenforce } security_t:security setenforce; 
     
    3742 
    3843# Access the security API. 
    39 allow selinux_unconfined_type security_t:security ~{ load_policy setenforce setbool }; 
     44allow selinux_unconfined_type security_t:security ~{ load_policy setenforce }; 
     45 
     46ifdef(`distro_rhel4',` 
     47        # needed for systems without audit support 
     48        auditallow { domain unlabeled_t } security_t:security { load_policy setenforce setbool}; 
     49') 
    4050 
    4151if(!secure_mode_policyload) { 
    42         allow selinux_unconfined_type security_t:security { load_policy setenforce setbool }; 
    43  
    44         ifdef(`distro_rhel4',` 
    45                 # needed for systems without audit support 
    46                 auditallow selinux_unconfined_type security_t:security { load_policy setenforce setbool }; 
    47         ') 
     52        allow selinux_unconfined_type security_t:security { load_policy setenforce }; 
     53        allow selinux_unconfined_type secure_mode_policyload_bool_t:file write; 
    4854} 
  • branch/refpol-merged/src/selinux-policy-refpol/policy/modules/system/userdomain.if

    r153 r157  
    14231423        selinux_set_enforce_mode($1) 
    14241424        selinux_set_boolean($1) 
     1425        selinux_set_secure_mode($1) 
    14251426        selinux_set_parameters($1) 
    14261427