convert relevant conditionals into tunable_policy
This commit is contained in:
parent
65a27ee05d
commit
3eed10909e
@ -30,6 +30,11 @@ gen_tunable(cron_can_relabel,false)
|
|||||||
## </tunable>
|
## </tunable>
|
||||||
gen_tunable(fcron_crond,false)
|
gen_tunable(fcron_crond,false)
|
||||||
|
|
||||||
|
## <tunable name="allow_gpg_execstack" dftval="false">
|
||||||
|
## Allow gpg executable stack
|
||||||
|
## </tunable>
|
||||||
|
gen_tunable(allow_gpg_execstack,false)
|
||||||
|
|
||||||
## <tunable name="read_default_t" dftval="false">
|
## <tunable name="read_default_t" dftval="false">
|
||||||
## Allow reading of default_t files.
|
## Allow reading of default_t files.
|
||||||
## </tunable>
|
## </tunable>
|
||||||
@ -72,6 +77,11 @@ gen_tunable(user_dmesg,false)
|
|||||||
## </tunable>
|
## </tunable>
|
||||||
gen_tunable(user_net_control,false)
|
gen_tunable(user_net_control,false)
|
||||||
|
|
||||||
|
## <tunable name="user_ping" dftval="false">
|
||||||
|
## Control users use of ping and traceroute
|
||||||
|
## </tunable>
|
||||||
|
gen_tunable(user_ping,false)
|
||||||
|
|
||||||
## <tunable name="user_rw_noexattrfile" dftval="false">
|
## <tunable name="user_rw_noexattrfile" dftval="false">
|
||||||
## Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)
|
## Allow user to r/w noextattrfile (FAT, CDROM, FLOPPY)
|
||||||
## </tunable>
|
## </tunable>
|
||||||
|
@ -73,21 +73,7 @@ allow consoletype_t nfs_t:file write;
|
|||||||
allow consoletype_t crond_t:fifo_file r_file_perms;
|
allow consoletype_t crond_t:fifo_file r_file_perms;
|
||||||
allow consoletype_t system_crond_t:fd use;
|
allow consoletype_t system_crond_t:fd use;
|
||||||
|
|
||||||
optional_policy(`ypbind.te', `
|
can_ypbind(consoletype_t)
|
||||||
if (allow_ypbind) {
|
|
||||||
can_network(consoletype_t)
|
|
||||||
r_dir_file(consoletype_t,var_yp_t)
|
|
||||||
corenet_tcp_bind_generic_port(consoletype_t)
|
|
||||||
corenet_udp_bind_generic_port(consoletype_t)
|
|
||||||
corenet_tcp_bind_reserved_port(consoletype_t)
|
|
||||||
corenet_udp_bind_reserved_port(consoletype_t)
|
|
||||||
corenet_dontaudit_tcp_bind_all_reserved_ports(consoletype_t)
|
|
||||||
corenet_dontaudit_udp_bind_all_reserved_ports(consoletype_t)
|
|
||||||
dontaudit consoletype_t self:capability net_bind_service;
|
|
||||||
} else {
|
|
||||||
dontaudit consoletype_t var_yp_t:dir search;
|
|
||||||
}
|
|
||||||
') dnl end ypbind optional_policy
|
|
||||||
|
|
||||||
optional_policy(`automount.te', `
|
optional_policy(`automount.te', `
|
||||||
allow consoletype_t autofs_t:dir { search getattr };
|
allow consoletype_t autofs_t:dir { search getattr };
|
||||||
|
@ -24,11 +24,6 @@ type traceroute_exec_t;
|
|||||||
init_system_domain(traceroute_t,traceroute_exec_t)
|
init_system_domain(traceroute_t,traceroute_exec_t)
|
||||||
role system_r types traceroute_t;
|
role system_r types traceroute_t;
|
||||||
|
|
||||||
#
|
|
||||||
# Control users use of ping and traceroute
|
|
||||||
#
|
|
||||||
bool user_ping false;
|
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
#
|
#
|
||||||
# Netutils local policy
|
# Netutils local policy
|
||||||
@ -129,10 +124,10 @@ sysnet_read_config(ping_t)
|
|||||||
|
|
||||||
logging_send_syslog_msg(ping_t)
|
logging_send_syslog_msg(ping_t)
|
||||||
|
|
||||||
if (user_ping) {
|
tunable_policy(`user_ping',`
|
||||||
term_use_all_user_ttys(ping_t)
|
term_use_all_user_ttys(ping_t)
|
||||||
term_use_all_user_ptys(ping_t)
|
term_use_all_user_ptys(ping_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
ifdef(`TODO',`
|
ifdef(`TODO',`
|
||||||
can_ypbind(ping_t)
|
can_ypbind(ping_t)
|
||||||
@ -143,10 +138,11 @@ allow ping_t admin_tty_type:chr_file rw_file_perms;
|
|||||||
ifdef(`gnome-pty-helper.te', `allow ping_t sysadm_gph_t:fd use;')
|
ifdef(`gnome-pty-helper.te', `allow ping_t sysadm_gph_t:fd use;')
|
||||||
|
|
||||||
in_user_role(ping_t)
|
in_user_role(ping_t)
|
||||||
if (user_ping) {
|
tunable_policy(`user_ping',`
|
||||||
domain_auto_trans(unpriv_userdomain, ping_exec_t, ping_t)
|
domain_auto_trans(unpriv_userdomain, ping_exec_t, ping_t)
|
||||||
ifdef(`gnome-pty-helper.te', `allow ping_t gphdomain:fd use;')
|
ifdef(`gnome-pty-helper.te', `allow ping_t gphdomain:fd use;')
|
||||||
}
|
')
|
||||||
|
|
||||||
') dnl end TODO
|
') dnl end TODO
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
@ -192,10 +188,10 @@ dev_read_rand(traceroute_t)
|
|||||||
dev_read_urand(traceroute_t)
|
dev_read_urand(traceroute_t)
|
||||||
files_read_usr_files(traceroute_t)
|
files_read_usr_files(traceroute_t)
|
||||||
|
|
||||||
if (user_ping) {
|
tunable_policy(`user_ping',`
|
||||||
term_use_all_user_ttys(traceroute_t)
|
term_use_all_user_ttys(traceroute_t)
|
||||||
term_use_all_user_ptys(traceroute_t)
|
term_use_all_user_ptys(traceroute_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
ifdef(`TODO',`
|
ifdef(`TODO',`
|
||||||
role sysadm_r types traceroute_t;
|
role sysadm_r types traceroute_t;
|
||||||
@ -210,9 +206,9 @@ allow traceroute_t admin_tty_type:chr_file rw_file_perms;
|
|||||||
ifdef(`gnome-pty-helper.te', `allow traceroute_t sysadm_gph_t:fd use;')
|
ifdef(`gnome-pty-helper.te', `allow traceroute_t sysadm_gph_t:fd use;')
|
||||||
|
|
||||||
in_user_role(traceroute_t)
|
in_user_role(traceroute_t)
|
||||||
if (user_ping) {
|
tunable_policy(`user_ping',`
|
||||||
domain_auto_trans(unpriv_userdomain, traceroute_exec_t, traceroute_t)
|
domain_auto_trans(unpriv_userdomain, traceroute_exec_t, traceroute_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
#rules needed for nmap
|
#rules needed for nmap
|
||||||
dontaudit traceroute_t userdomain:dir search;
|
dontaudit traceroute_t userdomain:dir search;
|
||||||
|
@ -94,14 +94,14 @@ define(`gpg_per_userdomain_template',`
|
|||||||
sysnet_read_config($1_gpg_t)
|
sysnet_read_config($1_gpg_t)
|
||||||
|
|
||||||
# Legacy
|
# Legacy
|
||||||
if (allow_gpg_execstack) {
|
tunable_policy(`allow_gpg_execstack',`
|
||||||
allow $1_gpg_t self:process execmem;
|
allow $1_gpg_t self:process execmem;
|
||||||
libs_legacy_use_shared_libs($1_gpg_t)
|
libs_legacy_use_shared_libs($1_gpg_t)
|
||||||
libs_legacy_use_ld_so($1_gpg_t)
|
libs_legacy_use_ld_so($1_gpg_t)
|
||||||
miscfiles_legacy_read_localization($1_gpg_t)
|
miscfiles_legacy_read_localization($1_gpg_t)
|
||||||
# Not quite sure why this is needed...
|
# Not quite sure why this is needed...
|
||||||
allow $1_gpg_t gpg_exec_t:file execmod;
|
allow $1_gpg_t gpg_exec_t:file execmod;
|
||||||
}
|
')
|
||||||
|
|
||||||
ifdef(`TODO',`
|
ifdef(`TODO',`
|
||||||
|
|
||||||
@ -134,12 +134,12 @@ define(`gpg_per_userdomain_template',`
|
|||||||
# allow the usual access to /tmp
|
# allow the usual access to /tmp
|
||||||
file_type_auto_trans($1_gpg_t, tmp_t, $1_tmp_t)
|
file_type_auto_trans($1_gpg_t, tmp_t, $1_tmp_t)
|
||||||
|
|
||||||
if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
create_dir_file($1_gpg_t, nfs_t)
|
create_dir_file($1_gpg_t, nfs_t)
|
||||||
}
|
')
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
create_dir_file($1_gpg_t, cifs_t)
|
create_dir_file($1_gpg_t, cifs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
rw_dir_create_file($1_gpg_t, $1_file_type)
|
rw_dir_create_file($1_gpg_t, $1_file_type)
|
||||||
|
|
||||||
@ -199,12 +199,12 @@ define(`gpg_per_userdomain_template',`
|
|||||||
|
|
||||||
ifdef(`TODO',`
|
ifdef(`TODO',`
|
||||||
|
|
||||||
if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
dontaudit $1_gpg_helper_t nfs_t:file { read write };
|
dontaudit $1_gpg_helper_t nfs_t:file { read write };
|
||||||
}
|
')
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
dontaudit $1_gpg_helper_t cifs_t:file { read write };
|
dontaudit $1_gpg_helper_t cifs_t:file { read write };
|
||||||
}
|
')
|
||||||
|
|
||||||
# communicate with the user
|
# communicate with the user
|
||||||
allow $1_gpg_helper_t $1_t:fd use;
|
allow $1_gpg_helper_t $1_t:fd use;
|
||||||
@ -261,12 +261,12 @@ define(`gpg_per_userdomain_template',`
|
|||||||
# read and write ~/.gnupg (gpg-agent stores secret keys in ~/.gnupg/private-keys-v1.d )
|
# read and write ~/.gnupg (gpg-agent stores secret keys in ~/.gnupg/private-keys-v1.d )
|
||||||
allow $1_gpg_agent_t { home_root_t $1_home_dir_t }:dir search;
|
allow $1_gpg_agent_t { home_root_t $1_home_dir_t }:dir search;
|
||||||
create_dir_file($1_gpg_agent_t, $1_gpg_secret_t)
|
create_dir_file($1_gpg_agent_t, $1_gpg_secret_t)
|
||||||
if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
create_dir_file($1_gpg_agent_t, nfs_t)
|
create_dir_file($1_gpg_agent_t, nfs_t)
|
||||||
}
|
')
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
create_dir_file($1_gpg_agent_t, cifs_t)
|
create_dir_file($1_gpg_agent_t, cifs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
# gpg connect
|
# gpg connect
|
||||||
allow $1_gpg_t $1_gpg_agent_tmp_t:dir search;
|
allow $1_gpg_t $1_gpg_agent_tmp_t:dir search;
|
||||||
@ -327,19 +327,19 @@ define(`gpg_per_userdomain_template',`
|
|||||||
dontaudit $1_gpg_pinentry_t $1_home_t:dir { read write };
|
dontaudit $1_gpg_pinentry_t $1_home_t:dir { read write };
|
||||||
dontaudit $1_gpg_pinentry_t $1_home_t:file write;
|
dontaudit $1_gpg_pinentry_t $1_home_t:file write;
|
||||||
|
|
||||||
if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
allow $1_gpg_pinentry_t nfs_t:dir { getattr search };
|
allow $1_gpg_pinentry_t nfs_t:dir { getattr search };
|
||||||
allow $1_gpg_pinentry_t nfs_t:file r_file_perms;
|
allow $1_gpg_pinentry_t nfs_t:file r_file_perms;
|
||||||
dontaudit $1_gpg_pinentry_t nfs_t:dir { read write };
|
dontaudit $1_gpg_pinentry_t nfs_t:dir { read write };
|
||||||
dontaudit $1_gpg_pinentry_t nfs_t:file write;
|
dontaudit $1_gpg_pinentry_t nfs_t:file write;
|
||||||
}
|
')
|
||||||
|
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
allow $1_gpg_pinentry_t cifs_t:dir { getattr search };
|
allow $1_gpg_pinentry_t cifs_t:dir { getattr search };
|
||||||
allow $1_gpg_pinentry_t cifs_t:file r_file_perms;
|
allow $1_gpg_pinentry_t cifs_t:file r_file_perms;
|
||||||
dontaudit $1_gpg_pinentry_t cifs_t:dir { read write };
|
dontaudit $1_gpg_pinentry_t cifs_t:dir { read write };
|
||||||
dontaudit $1_gpg_pinentry_t cifs_t:file write;
|
dontaudit $1_gpg_pinentry_t cifs_t:file write;
|
||||||
}
|
')
|
||||||
|
|
||||||
dontaudit $1_gpg_pinentry_t { sysctl_t sysctl_kernel_t }:dir { getattr search };
|
dontaudit $1_gpg_pinentry_t { sysctl_t sysctl_kernel_t }:dir { getattr search };
|
||||||
') dnl end TODO
|
') dnl end TODO
|
||||||
|
@ -6,9 +6,6 @@ policy_module(gpg, 1.0)
|
|||||||
# Declarations
|
# Declarations
|
||||||
#
|
#
|
||||||
|
|
||||||
# Allow gpg exec stack
|
|
||||||
bool allow_gpg_execstack false;
|
|
||||||
|
|
||||||
# Type for gpg or pgp executables.
|
# Type for gpg or pgp executables.
|
||||||
type gpg_exec_t;
|
type gpg_exec_t;
|
||||||
type gpg_helper_exec_t;
|
type gpg_helper_exec_t;
|
||||||
|
@ -116,9 +116,9 @@ define(`mta_per_userdomain_template',`
|
|||||||
# Create dead.letter in user home directories.
|
# Create dead.letter in user home directories.
|
||||||
file_type_auto_trans($1_mail_t, $1_home_dir_t, $1_home_t, file)
|
file_type_auto_trans($1_mail_t, $1_home_dir_t, $1_home_t, file)
|
||||||
|
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
rw_dir_create_file($1_mail_t, cifs_t)
|
rw_dir_create_file($1_mail_t, cifs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
# if you do not want to allow dead.letter then use the following instead
|
# if you do not want to allow dead.letter then use the following instead
|
||||||
#allow $1_mail_t { $1_home_dir_t $1_home_t }:dir r_dir_perms;
|
#allow $1_mail_t { $1_home_dir_t $1_home_t }:dir r_dir_perms;
|
||||||
|
@ -92,10 +92,10 @@ allow remote_login_t bin_t:dir r_dir_perms;
|
|||||||
allow remote_login_t bin_t:notdevfile_class_set r_file_perms;
|
allow remote_login_t bin_t:notdevfile_class_set r_file_perms;
|
||||||
allow remote_login_t sbin_t:dir r_dir_perms;
|
allow remote_login_t sbin_t:dir r_dir_perms;
|
||||||
allow remote_login_t sbin_t:notdevfile_class_set r_file_perms;
|
allow remote_login_t sbin_t:notdevfile_class_set r_file_perms;
|
||||||
if (read_default_t) {
|
tunable_policy(`read_default_t',`
|
||||||
allow remote_login_t default_t:dir r_dir_perms;
|
allow remote_login_t default_t:dir r_dir_perms;
|
||||||
allow remote_login_t default_t:notdevfile_class_set r_file_perms;
|
allow remote_login_t default_t:notdevfile_class_set r_file_perms;
|
||||||
}
|
')
|
||||||
|
|
||||||
# Read directories and files with the readable_t type.
|
# Read directories and files with the readable_t type.
|
||||||
# This type is a general type for "world"-readable files.
|
# This type is a general type for "world"-readable files.
|
||||||
@ -116,13 +116,13 @@ dontaudit remote_login_t sysfs_t:dir search;
|
|||||||
allow remote_login_t autofs_t:dir r_dir_perms;
|
allow remote_login_t autofs_t:dir r_dir_perms;
|
||||||
allow remote_login_t mnt_t:dir r_dir_perms;
|
allow remote_login_t mnt_t:dir r_dir_perms;
|
||||||
|
|
||||||
if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
r_dir_file(remote_login_t, nfs_t)
|
r_dir_file(remote_login_t, nfs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
if (use_samba_home_dirs) {
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
r_dir_file(remote_login_t, cifs_t)
|
r_dir_file(remote_login_t, cifs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
# FIXME: what is this for?
|
# FIXME: what is this for?
|
||||||
ifdef(`xdm.te', `
|
ifdef(`xdm.te', `
|
||||||
|
@ -124,10 +124,11 @@ allow local_login_t bin_t:dir r_dir_perms;
|
|||||||
allow local_login_t bin_t:notdevfile_class_set r_file_perms;
|
allow local_login_t bin_t:notdevfile_class_set r_file_perms;
|
||||||
allow local_login_t sbin_t:dir r_dir_perms;
|
allow local_login_t sbin_t:dir r_dir_perms;
|
||||||
allow local_login_t sbin_t:notdevfile_class_set r_file_perms;
|
allow local_login_t sbin_t:notdevfile_class_set r_file_perms;
|
||||||
if (read_default_t) {
|
|
||||||
|
tunable_policy(`read_default_t',`
|
||||||
allow local_login_t default_t:dir r_dir_perms;
|
allow local_login_t default_t:dir r_dir_perms;
|
||||||
allow local_login_t default_t:notdevfile_class_set r_file_perms;
|
allow local_login_t default_t:notdevfile_class_set r_file_perms;
|
||||||
}
|
')
|
||||||
|
|
||||||
# Read directories and files with the readable_t type.
|
# Read directories and files with the readable_t type.
|
||||||
# This type is a general type for "world"-readable files.
|
# This type is a general type for "world"-readable files.
|
||||||
@ -182,13 +183,14 @@ allow local_login_t sound_device_t:chr_file { getattr setattr };
|
|||||||
# Allow setting of attributes on power management devices.
|
# Allow setting of attributes on power management devices.
|
||||||
allow local_login_t power_device_t:chr_file { getattr setattr };
|
allow local_login_t power_device_t:chr_file { getattr setattr };
|
||||||
|
|
||||||
#if (use_nfs_home_dirs) {
|
tunable_policy(`use_nfs_home_dirs',`
|
||||||
#r_dir_file(local_login_t, nfs_t)
|
r_dir_file(local_login_t, nfs_t)
|
||||||
#}
|
')
|
||||||
|
|
||||||
|
tunable_policy(`use_samba_home_dirs',`
|
||||||
|
r_dir_file(local_login_t, cifs_t)
|
||||||
|
')
|
||||||
|
|
||||||
#if (use_samba_home_dirs) {
|
|
||||||
#r_dir_file(local_login_t, cifs_t)
|
|
||||||
#}
|
|
||||||
') dnl endif TODO
|
') dnl endif TODO
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
|
@ -238,10 +238,10 @@ define(`base_user_domain',`
|
|||||||
# /initrd is left mounted, various programs try to look at it
|
# /initrd is left mounted, various programs try to look at it
|
||||||
dontaudit $1_t ramfs_t:dir getattr;
|
dontaudit $1_t ramfs_t:dir getattr;
|
||||||
|
|
||||||
if (read_default_t) {
|
tunable_policy(`read_default_t',`
|
||||||
allow $1_t default_t:dir r_dir_perms;
|
allow $1_t default_t:dir r_dir_perms;
|
||||||
allow $1_t default_t:notdevfile_class_set r_file_perms;
|
allow $1_t default_t:notdevfile_class_set r_file_perms;
|
||||||
}
|
')
|
||||||
|
|
||||||
#
|
#
|
||||||
# Running ifconfig as a user generates the following
|
# Running ifconfig as a user generates the following
|
||||||
@ -254,10 +254,10 @@ define(`base_user_domain',`
|
|||||||
|
|
||||||
can_ypbind($1_t)
|
can_ypbind($1_t)
|
||||||
|
|
||||||
if (allow_execmod) {
|
tunable_policy(`allow_execmod',`
|
||||||
# Allow text relocations on system shared libraries, e.g. libGL.
|
# Allow text relocations on system shared libraries, e.g. libGL.
|
||||||
allow $1_t texrel_shlib_t:file execmod;
|
allow $1_t texrel_shlib_t:file execmod;
|
||||||
}
|
')
|
||||||
|
|
||||||
allow $1_t fs_type:dir getattr;
|
allow $1_t fs_type:dir getattr;
|
||||||
|
|
||||||
@ -275,17 +275,19 @@ define(`base_user_domain',`
|
|||||||
allow $1_t autofs_t:dir { getattr search };
|
allow $1_t autofs_t:dir { getattr search };
|
||||||
|
|
||||||
can_exec($1_t, { removable_t noexattrfile } )
|
can_exec($1_t, { removable_t noexattrfile } )
|
||||||
if (user_rw_noexattrfile) {
|
|
||||||
|
tunable_policy(`user_rw_noexattrfile',`
|
||||||
create_dir_file($1_t, noexattrfile)
|
create_dir_file($1_t, noexattrfile)
|
||||||
create_dir_file($1_t, removable_t)
|
create_dir_file($1_t, removable_t)
|
||||||
# Write floppies
|
# Write floppies
|
||||||
allow $1_t removable_device_t:blk_file rw_file_perms;
|
allow $1_t removable_device_t:blk_file rw_file_perms;
|
||||||
allow $1_t usbtty_device_t:chr_file write;
|
allow $1_t usbtty_device_t:chr_file write;
|
||||||
} else {
|
',`
|
||||||
r_dir_file($1_t, noexattrfile)
|
r_dir_file($1_t, noexattrfile)
|
||||||
r_dir_file($1_t, removable_t)
|
r_dir_file($1_t, removable_t)
|
||||||
allow $1_t removable_device_t:blk_file r_file_perms;
|
allow $1_t removable_device_t:blk_file r_file_perms;
|
||||||
}
|
')
|
||||||
|
|
||||||
allow $1_t usbtty_device_t:chr_file read;
|
allow $1_t usbtty_device_t:chr_file read;
|
||||||
|
|
||||||
can_exec($1_t, noexattrfile)
|
can_exec($1_t, noexattrfile)
|
||||||
@ -526,15 +528,15 @@ define(`user_domain_template', `
|
|||||||
')
|
')
|
||||||
|
|
||||||
ifdef(`ftpd.te', `
|
ifdef(`ftpd.te', `
|
||||||
if (ftp_home_dir) {
|
tunable_policy(`ftp_home_dir',`
|
||||||
file_type_auto_trans(ftpd_t, $1_home_dir_t, $1_home_t)
|
file_type_auto_trans(ftpd_t, $1_home_dir_t, $1_home_t)
|
||||||
}
|
')
|
||||||
')
|
')
|
||||||
|
|
||||||
if (read_default_t) {
|
tunable_policy(`read_default_t',`
|
||||||
allow $1 default_t:dir r_dir_perms;
|
allow $1 default_t:dir r_dir_perms;
|
||||||
allow $1 default_t:notdevfile_class_set r_file_perms;
|
allow $1 default_t:notdevfile_class_set r_file_perms;
|
||||||
}
|
')
|
||||||
|
|
||||||
can_exec($1_t, usr_t)
|
can_exec($1_t, usr_t)
|
||||||
|
|
||||||
@ -557,11 +559,11 @@ define(`user_domain_template', `
|
|||||||
allow $1_t var_lib_t:file { getattr read };
|
allow $1_t var_lib_t:file { getattr read };
|
||||||
|
|
||||||
# Allow users to rw usb devices
|
# Allow users to rw usb devices
|
||||||
if (user_rw_usb) {
|
tunable_policy(`user_rw_usb',`
|
||||||
rw_dir_create_file($1_t,usbdevfs_t)
|
rw_dir_create_file($1_t,usbdevfs_t)
|
||||||
} else {
|
',`
|
||||||
r_dir_file($1_t,usbdevfs_t)
|
r_dir_file($1_t,usbdevfs_t)
|
||||||
}
|
')
|
||||||
|
|
||||||
# Do not audit write denials to /etc/ld.so.cache.
|
# Do not audit write denials to /etc/ld.so.cache.
|
||||||
dontaudit $1_t ld_so_cache_t:file write;
|
dontaudit $1_t ld_so_cache_t:file write;
|
||||||
@ -765,10 +767,10 @@ define(`admin_domain_template',`
|
|||||||
|
|
||||||
ifdef(`xdm.te', `
|
ifdef(`xdm.te', `
|
||||||
ifdef(`xauth.te', `
|
ifdef(`xauth.te', `
|
||||||
if (xdm_sysadm_login) {
|
tunable_policy(`xdm_sysadm_login',`
|
||||||
allow xdm_t $1_home_t:lnk_file read;
|
allow xdm_t $1_home_t:lnk_file read;
|
||||||
allow xdm_t $1_home_t:dir search;
|
allow xdm_t $1_home_t:dir search;
|
||||||
}
|
')
|
||||||
allow $1_t xdm_t:fifo_file rw_file_perms;
|
allow $1_t xdm_t:fifo_file rw_file_perms;
|
||||||
')
|
')
|
||||||
')
|
')
|
||||||
|
Loading…
Reference in New Issue
Block a user