* SELinux policy for Fedora Directory Server 1.1.0
@ 2008-03-11 16:34 Pär Aronsson
2008-03-18 14:34 ` Daniel J Walsh
0 siblings, 1 reply; 3+ messages in thread
From: Pär Aronsson @ 2008-03-11 16:34 UTC (permalink / raw)
To: selinux, fedora-directory-users
[-- Attachment #1: Type: text/plain, Size: 1037 bytes --]
Hello,
Attached is a SELinux policy for the Fedora Directory Server 1.1.0.
It is composed of three parts.
* dirsrv - directory server and setup programs
* dirsrv-admin - administration server and setup programs
* fedora-idm-console - java based console for administration
The policies were developed on a CentOS 5.1 with the following packages:
fedora-ds-base-1.1.0-3.fc6
fedora-ds-admin-1.1.1-1.fc6
fedora-ds-console-1.1.0-5.fc6
selinux-policy-2.4.6-106.el5_1.3
kernel-2.6.18-53.1.4.el5
I've succesfully tested the policies in targeted and strict mode.
The dirsrv-admin policy requires that the apache policy module is loaded.
Also run:
setsebool -P httpd_enable_cgi on
Comment out the following in /usr/sbin/start-ds-admin (line 63-65):
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
SELINUX_CMD="runcon -t unconfined_t --"
fi
I had trouble with the replication plugin so I haven't been able to do any
testing with replication.
Any comments are welcome.
// Pär Aronsson
[-- Attachment #2: dirsrv-admin.if --]
[-- Type: text/plain, Size: 8070 bytes --]
## <summary>Administration application for Fedora Directory Server, dirsrv-admin.</summary>
########################################
## <summary>
## Execute dirsrv-admin setup programs in the dirsrvadmin_setup_t domain
## and the system_r role. Strict policy.
## </summary>
## <param name="domain">
## <summary>
## Prefix of the domain performing this action.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to allow the domain.
## </summary>
## </param>
#
interface(`dirsrvadmin_setup_domtrans_strict',`
gen_require(`
type dirsrvadmin_t, dirsrvadmin_setup_t, dirsrvadmin_setupexec_t;
type $1_t, $1_devpts_t;
')
domain_auto_trans($1_t, dirsrvadmin_setupexec_t, dirsrvadmin_setup_t)
allow dirsrvadmin_setup_t $1_t:fd use;
allow dirsrvadmin_setup_t $1_t:process sigchld;
allow dirsrvadmin_setup_t $1_devpts_t:chr_file rw_term_perms;
role $2 types dirsrvadmin_setup_t;
role system_r types dirsrvadmin_setup_t;
role_transition $2 dirsrvadmin_setupexec_t system_r;
')
########################################
## <summary>
## Execute dirsrv-admin setup programs in the dirsrvadmin_setup_t domain
## and the system_r role. Targeted policy.
## </summary>
## <param name="domain">
## <summary>
## Prefix of the domain performing this action.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to allow the domain.
## </summary>
## </param>
#
interface(`dirsrvadmin_setup_domtrans_targeted',`
gen_require(`
type $1, dirsrvadmin_setupexec_t, dirsrvadmin_setup_t;
')
domain_auto_trans($1, dirsrvadmin_setupexec_t, dirsrvadmin_setup_t)
')
########################################
## <summary>
## Read setup log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_read_setuplog',`
gen_require(`
type dirsrvadmin_setuplog_t;
')
files_search_tmp($1)
allow $1 dirsrvadmin_setuplog_t:file r_file_perms;
')
########################################
## <summary>
## Manage setup log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_manage_setuplog',`
gen_require(`
type dirsrvadmin_setuplog_t;
')
files_search_tmp($1)
allow $1 dirsrvadmin_setuplog_t:file manage_file_perms;
')
########################################
## <summary>
## Extend httpd domain for dirsrv-admin.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_extend_httpd',`
gen_require(`
type httpd_t;
')
# Allow httpd domain to interact with dirsrv
dirsrv_manage_config(httpd_t)
dirsrv_manage_log(httpd_t)
dirsrv_manage_var_run(httpd_t)
dirsrvadmin_manage_setuplog(httpd_t)
dirsrvadmin_manage_config(httpd_t)
dirsrv_signal(httpd_t)
dirsrv_signull(httpd_t)
dirsrv_run_helper_exec(httpd_t)
files_exec_usr_files(httpd_t)
corenet_tcp_bind_generic_port(httpd_t)
corenet_tcp_connect_generic_port(httpd_t)
# Strict policy
ifdef(`strict_policy',`
userdom_dontaudit_search_sysadm_home_dirs(httpd_t)
')
')
########################################
## <summary>
## Extend httpd domain for dirsrv-admin cgi.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_script_extend_httpd',`
gen_require(`
type httpd_t, httpd_exec_t, httpd_suexec_exec_t, httpd_tmp_t, httpd_var_run_t;
')
allow $1 httpd_exec_t:file { read getattr execute_no_trans };
allow $1 httpd_suexec_exec_t:file getattr;
allow $1 httpd_tmp_t:file { read write };
allow $1 httpd_t:udp_socket { read write };
allow $1 httpd_t:unix_stream_socket { ioctl getattr read write };
allow $1 httpd_t:netlink_route_socket { read write };
allow $1 httpd_t:fifo_file { write read };
allow $1 httpd_var_run_t:file { read getattr };
apache_list_modules($1)
apache_exec_modules($1)
apache_use_fds($1)
dirsrvadmin_run_httpd_script_exec(httpd_t)
')
########################################
## <summary>
## Extend init domain for dirsrv-admin.
## The initscript searches in a config file.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_extend_init',`
gen_require(`
type initrc_t;
')
allow initrc_t dirsrvadmin_config_t:file read;
')
########################################
## <summary>
## Exec dirsrv-admin programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_run_exec',`
gen_require(`
type dirsrvadmin_exec_t;
')
allow $1 dirsrvadmin_exec_t:dir search_dir_perms;
can_exec($1,dirsrvadmin_exec_t)
')
########################################
## <summary>
## Exec cgi programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_run_httpd_script_exec',`
gen_require(`
type httpd_dirsrvadmin_script_exec_t;
')
allow $1 httpd_dirsrvadmin_script_exec_t:dir search_dir_perms;
can_exec($1, httpd_dirsrvadmin_script_exec_t)
')
########################################
## <summary>
## Manage cgi programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_manage_httpd_script_exec',`
gen_require(`
type httpd_dirsrvadmin_script_exec_t;
')
allow $1 httpd_dirsrvadmin_script_exec_t:dir manage_dir_perms;
allow $1 httpd_dirsrvadmin_script_exec_t:file manage_file_perms;
')
########################################
## <summary>
## Read tmp files created by cgi programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_read_httpd_script_tmpfile',`
gen_require(`
type httpd_dirsrvadmin_script_rw_t;
')
allow $1 httpd_dirsrvadmin_script_rw_t:file r_file_perms;
')
########################################
## <summary>
## Manage tmp files created by cgi programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_manage_httpd_script_tmpfile',`
gen_require(`
type httpd_dirsrvadmin_script_rw_t;
')
allow $1 httpd_dirsrvadmin_script_rw_t:file manage_file_perms;
')
########################################
## <summary>
## Read dirsrv-adminserver configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_read_config',`
gen_require(`
type dirsrvadmin_config_t;
')
allow $1 dirsrvadmin_config_t:dir r_dir_perms;
allow $1 dirsrvadmin_config_t:file r_file_perms;
')
########################################
## <summary>
## Manage dirsrv-adminserver configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_manage_config',`
gen_require(`
type dirsrvadmin_config_t;
')
allow $1 dirsrvadmin_config_t:dir manage_dir_perms;
allow $1 dirsrvadmin_config_t:file manage_file_perms;
')
########################################
## <summary>
## Read and write to cgi program over an unix stream socket.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_script_stream_rw',`
gen_require(`
type httpd_dirsrvadmin_script_t;
')
allow $1 httpd_dirsrvadmin_script_t:unix_stream_socket { read write };
')
########################################
## <summary>
## Read migration inf file in sysadm home dir.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrvadmin_read_inffile',`
ifdef(`targeted_policy',`
gen_require(`
type user_home_t, user_home_dir_t;
')
userdom_list_user_home_dirs(user, $1)
allow $1 user_home_t:file r_file_perms;
',`
gen_require(`
type sysadm_home_t;
')
userdom_list_sysadm_home_dirs($1)
allow $1 sysadm_home_t:file r_file_perms;
')
')
[-- Attachment #3: dirsrv-admin.fc --]
[-- Type: text/plain, Size: 877 bytes --]
# Start script for daemon (domain entry point)
/usr/sbin/start-ds-admin -- gen_context(system_u:object_r:dirsrvadmin_exec_t,s0)
/usr/sbin/stop-ds-admin -- gen_context(system_u:object_r:dirsrvadmin_exec_t,s0)
/usr/sbin/restart-ds-admin -- gen_context(system_u:object_r:dirsrvadmin_exec_t,s0)
# Configuration
/etc/dirsrv/admin-serv(/.*)? gen_context(system_u:object_r:dirsrvadmin_config_t,s0)
# Log dir
/var/log/dirsrv/admin-serv(/.*)? gen_context(system_u:object_r:httpd_log_t,s0)
# Pid
/var/run/dirsrv/admin-serv.* gen_context(system_u:object_r:httpd_var_run_t,s0)
# cgi
/usr/lib/dirsrv/cgi-bin(/.*)? gen_context(system_u:object_r:httpd_dirsrvadmin_script_exec_t,s0)
# Setup applications
/usr/sbin/migrate-ds-admin.pl -- gen_context(system_u:object_r:dirsrvadmin_setupexec_t,s0)
/usr/sbin/setup-ds-admin.pl -- gen_context(system_u:object_r:dirsrvadmin_setupexec_t,s0)
[-- Attachment #4: dirsrv.fc --]
[-- Type: text/plain, Size: 803 bytes --]
# Daemon (domain entry point)
/usr/sbin/ns-slapd -- gen_context(system_u:object_r:dirsrv_exec_t,s0)
# Setup applications
/usr/sbin/migrate-ds.pl -- gen_context(system_u:object_r:dirsrv_setupexec_t,s0)
/usr/sbin/setup-ds.pl -- gen_context(system_u:object_r:dirsrv_setupexec_t,s0)
# Helper scripts
/usr/lib/dirsrv(/slapd-.*)? gen_context(system_u:object_r:dirsrv_helper_exec_t,s0)
# Configuration
/etc/dirsrv(/slapd-.*)? gen_context(system_u:object_r:dirsrv_config_t,s0)
# Db files
/var/lib/dirsrv(/.*)? gen_context(system_u:object_r:dirsrv_db_t,s0)
# Lock files
/var/lock/dirsrv(/.*)? gen_context(system_u:object_r:dirsrv_lock_t,s0)
# Log files
/var/log/dirsrv(/.*)? gen_context(system_u:object_r:dirsrv_log_t,s0)
# var_run
/var/run/dirsrv(/.*)? gen_context(system_u:object_r:dirsrv_var_run_t,s0)
[-- Attachment #5: dirsrv.if --]
[-- Type: text/plain, Size: 7848 bytes --]
## <summary>Fedora Directory server, dirsrv</summary>
########################################
## <summary>
## Execute dirsrv programs in the dirsrv_t domain.
## </summary>
## <param name="domain">
## <summary>
## The type of the process performing this action.
## </summary>
## </param>
#
interface(`dirsrv_domtrans',`
gen_require(`
type dirsrv_t, dirsrv_exec_t;
')
allow $1 dirsrv_t:process signull;
domain_auto_trans($1, dirsrv_exec_t, dirsrv_t)
allow dirsrv_t $1:fd use;
allow dirsrv_t $1:fifo_file rw_file_perms;
allow dirsrv_t $1:process sigchld;
')
########################################
## <summary>
## Execute dirsrv setup programs in the dirsrv_setup_t domain
## and the system_r role. Strict policy.
## </summary>
## <param name="domain">
## <summary>
## Prefix of the domain performing this action.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to allow the domain.
## </summary>
## </param>
#
interface(`dirsrv_setup_domtrans_strict',`
gen_require(`
type dirsrv_t, dirsrv_setup_t, dirsrv_setupexec_t;
type $1_t, $1_devpts_t;
')
domain_auto_trans($1_t, dirsrv_setupexec_t, dirsrv_setup_t)
allow dirsrv_setup_t $1_t:fd use;
allow dirsrv_setup_t $1_t:process sigchld;
allow dirsrv_setup_t $1_devpts_t:chr_file rw_term_perms;
role $2 types dirsrv_setup_t;
role_transition $2 dirsrv_setupexec_t system_r;
')
########################################
## <summary>
## Execute dirsrv setup programs in the dirsrv_setup_t domain
## and the system_r role. Targeted policy.
## </summary>
## <param name="domain">
## <summary>
## Prefix of the domain performing this action.
## </summary>
## </param>
## <param name="role">
## <summary>
## The role to allow the domain.
## </summary>
## </param>
#
interface(`dirsrv_setup_domtrans_targeted',`
gen_require(`
type dirsrv_setupexec_t, dirsrv_setup_t;
')
domain_auto_trans($1, dirsrv_setupexec_t, dirsrv_setup_t)
')
########################################
## <summary>
## Extend httpd domain for dirsrv.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_extend_httpd',`
gen_require(`
type httpd_t, httpd_tmp_t;
')
allow $1 httpd_t:fifo_file { write read };
allow $1 httpd_t:unix_stream_socket { ioctl getattr read write };
allow $1 httpd_tmp_t:file { read write };
apache_use_fds($1)
')
########################################
## <summary>
## Read setup log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_read_setuplog',`
gen_require(`
type dirsrv_setuplog_t;
')
files_search_tmp($1)
allow $1 dirsrv_setuplog_t:file r_file_perms;
')
########################################
## <summary>
## Read the contents of Directory server
## database directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_list_db',`
gen_require(`
type dirsrv_db_t;
')
allow $1 dirsrv_db_t:dir r_dir_perms;
')
########################################
## <summary>
## Manage the contents of Directory server
## database directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_db',`
gen_require(`
type dirsrv_db_t;
')
allow $1 dirsrv_db_t:dir manage_dir_perms;
allow $1 dirsrv_db_t:file manage_file_perms;
')
########################################
## <summary>
## Read Directory server configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_read_config',`
gen_require(`
type dirsrv_config_t;
')
allow $1 dirsrv_config_t:dir r_dir_perms;
allow $1 dirsrv_config_t:file r_file_perms;
')
########################################
## <summary>
## Manage Directory server configuration files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_config',`
gen_require(`
type dirsrv_config_t;
')
allow $1 dirsrv_config_t:dir manage_dir_perms;
allow $1 dirsrv_config_t:file manage_file_perms;
')
########################################
## <summary>
## Read Directory server log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_list_log',`
gen_require(`
type dirsrv_log_t;
')
allow $1 dirsrv_log_t:dir r_dir_perms;
')
########################################
## <summary>
## Manage Directory server log files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_log',`
gen_require(`
type dirsrv_log_t;
')
allow $1 dirsrv_log_t:dir manage_dir_perms;
allow $1 dirsrv_log_t:file manage_file_perms;
')
########################################
## <summary>
## Read Directory server lock files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_list_lock',`
gen_require(`
type dirsrv_lock_t;
')
allow $1 dirsrv_lock_t:dir r_dir_perms;
')
########################################
## <summary>
## Manage Directory server lock files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_lock',`
gen_require(`
type dirsrv_lock_t;
')
allow $1 dirsrv_lock_t:dir manage_dir_perms;
allow $1 dirsrv_lock_t:file manage_file_perms;
')
########################################
## <summary>
## Read Directory server var_run files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_list_var_run',`
gen_require(`
type dirsrv_var_run_t;
')
allow $1 dirsrv_var_run_t:dir r_dir_perms;
')
########################################
## <summary>
## Manage Directory server var_run files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_var_run',`
gen_require(`
type dirsrv_var_run_t;
')
allow $1 dirsrv_var_run_t:dir manage_dir_perms;
allow $1 dirsrv_var_run_t:file manage_file_perms;
allow $1 dirsrv_var_run_t:sock_file manage_file_perms;
# Allow creating a dir in /var/run with this type
files_pid_filetrans($1, dirsrv_var_run_t, dir)
')
########################################
## <summary>
## Exec Directory server helper programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_run_helper_exec',`
gen_require(`
type dirsrv_helper_exec_t;
')
allow $1 dirsrv_helper_exec_t:dir search_dir_perms;
can_exec($1,dirsrv_helper_exec_t)
')
########################################
## <summary>
## Manage Directory server helper programs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_manage_helper_exec',`
gen_require(`
type dirsrv_helper_exec_t;
')
allow $1 dirsrv_helper_exec_t:dir manage_dir_perms;
allow $1 dirsrv_helper_exec_t:file { manage_file_perms rw_file_perms };
')
########################################
## <summary>
## Allow caller to signal dirsrv.
## </summary>
## <param name="domain">
## <summary>
## Domain to not audit.
## </summary>
## </param>
#
interface(`dirsrv_signal',`
gen_require(`
type dirsrv_t;
')
allow $1 dirsrv_t:process signal;
')
########################################
## <summary>
## Send a null signal to dirsrv.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`dirsrv_signull',`
gen_require(`
type dirsrv_t;
')
allow $1 dirsrv_t:process signull;
')
[-- Attachment #6: dirsrv.te --]
[-- Type: text/plain, Size: 7179 bytes --]
policy_module(dirsrv,1.0.0)
########################################
#
# Declarations for daemon
#
## Create domain for daemon
type dirsrv_t;
domain_type(dirsrv_t)
## Type for the daemon
type dirsrv_exec_t;
files_type(dirsrv_exec_t)
# Start from initrc
init_domain(dirsrv_t, dirsrv_exec_t)
init_daemon_domain(dirsrv_t, dirsrv_exec_t)
role system_r types dirsrv_t;
## Type for helper programs
type dirsrv_helper_exec_t;
files_type(dirsrv_helper_exec_t);
## Type for configuration files
type dirsrv_config_t;
files_config_file(dirsrv_config_t)
## Type for db files
type dirsrv_db_t;
files_type(dirsrv_db_t)
## Type for lock files
type dirsrv_lock_t;
files_lock_file(dirsrv_lock_t)
files_lock_filetrans(dirsrv_t, dirsrv_lock_t, {file dir})
## Type for log files
type dirsrv_log_t;
logging_log_file(dirsrv_log_t)
## Type for var_run file
type dirsrv_var_run_t;
files_pid_file(dirsrv_var_run_t)
files_pid_filetrans(dirsrv_t, dirsrv_var_run_t, {file dir})
########################################
#
# Declarations for setup programs
#
## Domain for setup program
type dirsrv_setup_t;
domain_type(dirsrv_setup_t)
role sysadm_r types dirsrv_setup_t;
## Type for setup program
type dirsrv_setupexec_t;
files_type(dirsrv_setupexec_t)
domain_entry_file(dirsrv_setup_t, dirsrv_setupexec_t)
## Type for tmp files setup creates
type dirsrv_setuplog_t;
files_tmp_file(dirsrv_setuplog_t)
files_tmp_filetrans(dirsrv_setup_t, dirsrv_setuplog_t, file)
files_tmp_filetrans(dirsrv_t, dirsrv_setuplog_t, file)
########################################
#
# Local policy for the daemon
#
## Executable
allow dirsrv_t self:capability { chown dac_override fowner setuid sys_nice setgid };
allow dirsrv_t self:process { setsched getsched signull };
allow dirsrv_t self:fifo_file { write read };
allow dirsrv_t self:sem { create getattr associate unix_read unix_write };
## Config
allow dirsrv_t dirsrv_config_t:file { getattr read create_file_perms };
allow dirsrv_t dirsrv_config_t:dir create_dir_perms;
## Database files
allow dirsrv_t dirsrv_db_t:dir manage_dir_perms;
allow dirsrv_t dirsrv_db_t:file manage_file_perms;
# Allow search in /var/lib
files_list_var_lib(dirsrv_t)
## Manage locks
allow dirsrv_t dirsrv_lock_t:dir manage_dir_perms;
allow dirsrv_t dirsrv_lock_t:file manage_file_perms;
## Logging
allow dirsrv_t dirsrv_log_t:file { create rename setattr manage_file_perms };
allow dirsrv_t dirsrv_log_t:dir { setattr rw_dir_perms };
allow dirsrv_t self:unix_dgram_socket create_socket_perms;
# Allow search in /var/log
logging_search_logs(dirsrv_t)
## var_run
allow dirsrv_t dirsrv_var_run_t:file manage_file_perms;
allow dirsrv_t dirsrv_var_run_t:dir rw_dir_perms;
## Helper programs
dirsrv_run_helper_exec(dirsrv_t)
## Setup log
dirsrv_read_setuplog(dirsrv_t)
dirsrvadmin_read_setuplog(dirsrv_t)
## Files in /tmp, created by setup app
allow dirsrv_t dirsrv_setuplog_t:file manage_file_perms;
## When restarted from cgi script the dirsrv need to communicate back
dirsrvadmin_script_stream_rw(dirsrv_t)
# dirsrv need some permissions that has no interface in the apache policy
dirsrv_extend_httpd(dirsrv_t)
dirsrvadmin_manage_httpd_script_tmpfile(dirsrv_t)
## Allow networking
corenet_tcp_bind_ldap_port(dirsrv_t)
corenet_tcp_sendrecv_ldap_port(dirsrv_t)
corenet_sendrecv_ldap_server_packets(dirsrv_t)
corenet_tcp_bind_unspec_node(dirsrv_t)
corenet_tcp_bind_inaddr_any_node(dirsrv_t)
kernel_sendrecv_unlabeled_packets(dirsrv_t)
allow dirsrv_t self:tcp_socket create_stream_socket_perms;
allow dirsrv_t self:udp_socket create_socket_perms;
## Misc interfaces
# Access to shared libraries
libs_use_ld_so(dirsrv_t)
libs_use_shared_libs(dirsrv_t)
files_exec_usr_files(dirsrv_t)
# Read locale
miscfiles_read_localization(dirsrv_t)
# Read etc
files_read_etc_files(dirsrv_t)
sysnet_read_config(dirsrv_t)
# Allow using syslog
logging_send_syslog_msg(dirsrv_t)
# Search sbin
corecmd_search_sbin(dirsrv_t)
# Allow read urandom
dev_read_urand(dirsrv_t)
# Allow listing /tmp
files_list_tmp(dirsrv_t)
# Allow read /usr/tmp
files_read_usr_symlinks(dirsrv_t)
# Allow stat file system
fs_getattr_xattr_fs(dirsrv_t)
# Allow read proc
kernel_read_system_state(dirsrv_t)
# Strict policy
ifdef(`strict_policy',`
# Daemon search for plugins in cwd
userdom_dontaudit_search_sysadm_home_dirs(dirsrv_t)
')
# In targeted policy
ifdef(`targeted_policy',`
files_read_generic_tmp_files(dirsrv_t)
userdom_dontaudit_search_generic_user_home_dirs(dirsrv_t)
')
########################################
#
# Local policy for setup programs
#
## Transtion into dirsrv domain when running setup
# Should be in userdomain
ifdef(`strict_policy',`
dirsrv_setup_domtrans_strict(sysadm, sysadm_r)
')
# A similar policy should be in unconfined
ifdef(`targeted_policy',`
dirsrv_setup_domtrans_targeted(unconfined_t)
')
seutil_use_newrole_fds(dirsrv_setup_t)
## Executable
allow dirsrv_setup_t self:capability { sys_nice chown fsetid fowner kill net_bind_service dac_override };
allow dirsrv_setup_t self:fifo_file { read write getattr ioctl };
allow dirsrv_setup_t self:process { setsched getsched };
allow dirsrv_setup_t self:tcp_socket { bind create ioctl };
# Start daemon from setup program
dirsrv_domtrans(dirsrv_setup_t)
## Manage db dir
dirsrv_manage_db(dirsrv_setup_t)
## Manage configuration
dirsrv_manage_config(dirsrv_setup_t)
## Manage log dir
dirsrv_manage_log(dirsrv_setup_t)
## Manage lock dir
dirsrv_manage_lock(dirsrv_setup_t)
## Manage var_run files
dirsrv_manage_var_run(dirsrv_setup_t)
## Manage helper programs
dirsrv_manage_helper_exec(dirsrv_setup_t)
dirsrv_run_helper_exec(dirsrv_setup_t)
## Files in /tmp
allow dirsrv_setup_t dirsrv_setuplog_t:file manage_file_perms;
## Networking
# Connect server using ldap
corenet_tcp_bind_inaddr_any_node(dirsrv_setup_t)
corenet_tcp_bind_ldap_port(dirsrv_setup_t)
## Misc interfaces
# Access to shared libraries
libs_use_ld_so(dirsrv_setup_t)
libs_use_shared_libs(dirsrv_setup_t)
# Read locale
miscfiles_read_localization(dirsrv_setup_t)
# mtab
files_dontaudit_read_etc_runtime_files(dirsrv_setup_t)
# Execute
corecmd_exec_bin(dirsrv_setup_t)
corecmd_exec_sbin(dirsrv_setup_t)
corecmd_exec_shell(dirsrv_setup_t)
# Read /usr/share
files_read_usr_files(dirsrv_setup_t)
# Allow read urandom
dev_read_urand(dirsrv_setup_t)
# Read proc
kernel_read_net_sysctls(dirsrv_setup_t)
kernel_read_sysctl(dirsrv_setup_t)
kernel_read_system_state(dirsrv_setup_t)
kernel_search_network_sysctl(dirsrv_setup_t)
# Stat shadow
auth_read_shadow(dirsrv_setup_t)
# Exec nsswitch.conf
files_exec_etc_files(dirsrv_setup_t)
# Find dirsrv dirs
files_search_locks(dirsrv_setup_t)
files_search_var_lib(dirsrv_setup_t)
logging_search_logs(dirsrv_setup_t)
# Allow stat file system
fs_getattr_xattr_fs(dirsrv_setup_t)
sysnet_read_config(dirsrv_setup_t)
term_search_ptys(dirsrv_setup_t)
optional_policy(`
nscd_read_pid(dirsrv_setup_t)
')
# Strict policy
ifdef(`strict_policy',`
# Read cwd (/root)
userdom_list_sysadm_home_dirs(dirsrv_setup_t)
')
# In targeted policy
ifdef(`targeted_policy',`
term_use_generic_ptys(dirsrv_setup_t)
# Read cwd (/root)
userdom_list_user_home_dirs(user,dirsrv_setup_t)
userdom_search_generic_user_home_dirs(dirsrv_setup_t)
')
[-- Attachment #7: dirsrv-admin.te --]
[-- Type: text/x-java, Size: 8756 bytes --]
policy_module(dirsrv-admin,1.0.0)
########################################
#
# Declarations for the daemon
#
type dirsrvadmin_t;
domain_type(dirsrvadmin_t)
## Create a dirsrvadmin_exec_t domain to transition to httpd_t.
type dirsrvadmin_exec_t;
files_type(dirsrvadmin_exec_t)
# Start from initrc
init_domain(dirsrvadmin_t, dirsrvadmin_exec_t)
init_daemon_domain(dirsrvadmin_t, dirsrvadmin_exec_t)
role system_r types dirsrvadmin_t;
## Keep configuration files in a private domain
type dirsrvadmin_config_t;
files_type(dirsrvadmin_config_t)
########################################
#
# Declarations for setup programs
#
## Domain for setup program
type dirsrvadmin_setup_t;
domain_type(dirsrvadmin_setup_t)
role sysadm_r types dirsrvadmin_setup_t;
## Entry file type for setup program
type dirsrvadmin_setupexec_t;
files_type(dirsrvadmin_setupexec_t)
domain_entry_file(dirsrvadmin_setup_t, dirsrvadmin_setupexec_t)
## Type for tmp files setup creates
type dirsrvadmin_setuplog_t;
files_tmp_file(dirsrvadmin_setuplog_t)
files_tmp_filetrans(dirsrvadmin_setup_t, dirsrvadmin_setuplog_t, file)
files_tmp_filetrans(dirsrvadmin_t, dirsrvadmin_setuplog_t, file)
########################################
#
# Local policy for the daemon
#
## Start httpd in httpd_t domain
# Transition to httpd domain
apache_domtrans(dirsrvadmin_t)
# disrv-admin require some interfaces that doesn't exist in httpd_t
dirsrvadmin_extend_httpd(dirsrvadmin_t)
# The initscript for dirsrv-admin searches in a private conf file.
# Extend the init domain to allow the search.
dirsrvadmin_extend_init(dirsrvadmin_t)
## Before transition to httpd domain
allow dirsrvadmin_t self:fifo_file { write read getattr };
allow dirsrvadmin_t self:capability { dac_read_search dac_override sys_tty_config };
logging_search_logs(dirsrvadmin_t)
corecmd_exec_bin(dirsrvadmin_t)
libs_exec_ld_so(dirsrvadmin_t)
corecmd_read_bin_symlinks(dirsrvadmin_t)
corecmd_search_bin(dirsrvadmin_t)
corecmd_shell_entry_type(dirsrvadmin_t)
files_exec_etc_files(dirsrvadmin_t)
kernel_read_system_state(dirsrvadmin_t)
# Access to shared libraries
libs_use_ld_so(dirsrvadmin_t)
libs_use_shared_libs(dirsrvadmin_t)
# Read locale
miscfiles_read_localization(dirsrvadmin_t)
# In strict policy
ifdef(`strict_policy',`
# Read cwd (/root)
userdom_dontaudit_search_sysadm_home_dirs(dirsrvadmin_t)
')
# In targeted policy
ifdef(`targeted_policy',`
# Read cwd (/root)
userdom_dontaudit_search_generic_user_home_dirs(dirsrvadmin_t)
')
## cgi content (setsebool -P httpd_enable_cgi on)
# Create a domain for the cgi scripts
apache_content_template(dirsrvadmin)
# Cgi scripts require some interfaces that doesn't exist in httpd_t
dirsrvadmin_script_extend_httpd(httpd_dirsrvadmin_script_t)
allow httpd_dirsrvadmin_script_t self:process { getsched getpgid };
allow httpd_dirsrvadmin_script_t self:capability { sys_nice kill dac_read_search dac_override };
allow httpd_dirsrvadmin_script_t self:tcp_socket { write getopt create read connect };
allow httpd_dirsrvadmin_script_t self:udp_socket { write read create connect getattr };
# The cgi scripts must be able to manage dirsrv-admin
dirsrvadmin_run_exec(httpd_dirsrvadmin_script_t)
# The cgi scripts must be able to manage the dirsrv
dirsrv_manage_log(httpd_dirsrvadmin_script_t)
dirsrv_run_helper_exec(httpd_dirsrvadmin_script_t)
dirsrv_manage_var_run(httpd_dirsrvadmin_script_t)
dirsrv_signal(httpd_dirsrvadmin_script_t)
dirsrv_signull(httpd_dirsrvadmin_script_t)
apache_signal(httpd_dirsrvadmin_script_t)
apache_read_log(httpd_dirsrvadmin_script_t)
# dirsrv-admin may run on any port
corenet_sendrecv_unlabeled_packets(httpd_dirsrvadmin_script_t)
corenet_tcp_connect_generic_port(httpd_dirsrvadmin_script_t)
corenet_tcp_connect_ldap_port(httpd_dirsrvadmin_script_t)
sysnet_read_config(httpd_dirsrvadmin_script_t)
# When run from idm-console
allow httpd_dirsrvadmin_script_t self:capability { setuid net_bind_service setgid chown };
allow httpd_dirsrvadmin_script_t self:tcp_socket { bind getattr setopt accept listen shutdown };
allow httpd_dirsrvadmin_script_t self:unix_dgram_socket { write create connect };
allow httpd_dirsrvadmin_script_t self:netlink_route_socket { write getattr read bind create nlmsg_read };
allow httpd_dirsrvadmin_script_t self:sem { write destroy create unix_write setattr };
dirsrv_domtrans(httpd_dirsrvadmin_script_t)
dirsrv_manage_config(httpd_dirsrvadmin_script_t)
dirsrv_manage_db(httpd_dirsrvadmin_script_t)
dirsrvadmin_manage_config(httpd_dirsrvadmin_script_t)
# read magic file
apache_read_config(httpd_dirsrvadmin_script_t)
# Transition to httpd domain when running restart
apache_domtrans(httpd_dirsrvadmin_script_t)
files_search_var_lib(httpd_dirsrvadmin_script_t)
files_search_var_lib(httpd_dirsrvadmin_script_t)
# dirsrv-admin may run on any port
corenet_tcp_bind_generic_port(httpd_dirsrvadmin_script_t)
corenet_tcp_bind_inaddr_any_node(httpd_dirsrvadmin_script_t)
kernel_read_kernel_sysctls(httpd_dirsrvadmin_script_t)
########################################
#
# Local policy for setup programs
# setup-ds-admin.pl will configure both dirsrv and dirsrv-admin
#
## Transtion into dirsrv domain when running setup in strict
# Should be in userdomain
ifdef(`strict_policy',`
dirsrvadmin_setup_domtrans_strict(sysadm, sysadm_r)
')
# A similar policy should be in unconfined
ifdef(`targeted_policy',`
dirsrvadmin_setup_domtrans_targeted(unconfined_t)
')
seutil_use_newrole_fds(dirsrvadmin_setup_t)
allow dirsrvadmin_setup_t self:capability { net_bind_service dac_override kill sys_nice chown fsetid fowner };
allow dirsrvadmin_setup_t self:fifo_file { read write ioctl getattr };
allow dirsrvadmin_setup_t self:process { setsched setexec getsched };
allow dirsrvadmin_setup_t self:tcp_socket { ioctl write connect getopt read bind create };
allow dirsrvadmin_setup_t self:udp_socket { write read create connect getattr };
# Run cgi
dirsrvadmin_run_httpd_script_exec(dirsrvadmin_setup_t)
# Start httpd from setup program, in http_t domain
apache_domtrans(dirsrvadmin_setup_t)
dirsrvadmin_run_exec(dirsrvadmin_setup_t)
# Start dirsrv daemon from setup program
dirsrv_domtrans(dirsrvadmin_setup_t)
# Manage db dir for dirsrv
dirsrv_manage_db(dirsrvadmin_setup_t)
# Manage configuration for dirsrv
dirsrv_manage_config(dirsrvadmin_setup_t)
# Manage configuration for dirsrv-admin
dirsrvadmin_manage_config(dirsrvadmin_setup_t)
# Manage log dir for dirsrv
dirsrv_manage_log(dirsrvadmin_setup_t)
# Manage lock dir for dirsrv
dirsrv_manage_lock(dirsrvadmin_setup_t)
# Manage var_run files for dirsrv
dirsrv_manage_var_run(dirsrvadmin_setup_t)
# Manage helper programs for dirsrv
dirsrv_manage_helper_exec(dirsrvadmin_setup_t)
dirsrv_run_helper_exec(dirsrvadmin_setup_t)
# Files in /tmp
allow dirsrvadmin_setup_t dirsrvadmin_setuplog_t:file manage_file_perms;
# Read inffile i sysadm home dir
dirsrvadmin_read_inffile(dirsrvadmin_setup_t)
## Networking
# Connect ldapserver
corenet_sendrecv_unlabeled_packets(dirsrvadmin_setup_t)
corenet_tcp_bind_inaddr_any_node(dirsrvadmin_setup_t)
corenet_tcp_connect_ldap_port(dirsrvadmin_setup_t)
corenet_tcp_bind_ldap_port(dirsrvadmin_setup_t)
corenet_tcp_bind_generic_port(dirsrvadmin_setup_t)
corenet_tcp_connect_generic_port(dirsrvadmin_setup_t)
## Misc interfaces
# Access to shared libraries
libs_use_ld_so(dirsrvadmin_setup_t)
libs_exec_ld_so(dirsrvadmin_setup_t)
libs_use_shared_libs(dirsrvadmin_setup_t)
# Read locale
miscfiles_read_localization(dirsrvadmin_setup_t)
# migrate-ds-admin.pl read in /opt
files_read_usr_files(dirsrvadmin_setup_t)
# Read proc
kernel_read_system_state(dirsrvadmin_setup_t)
kernel_read_net_sysctls(dirsrvadmin_setup_t)
kernel_read_sysctl(dirsrvadmin_setup_t)
kernel_search_network_sysctl(dirsrvadmin_setup_t)
# Execute
corecmd_exec_bin(dirsrvadmin_setup_t)
corecmd_exec_sbin(dirsrvadmin_setup_t)
corecmd_exec_shell(dirsrvadmin_setup_t)
corecmd_read_bin_symlinks(dirsrvadmin_setup_t)
corecmd_search_bin(dirsrvadmin_setup_t)
corecmd_search_sbin(dirsrvadmin_setup_t)
# Allow read urandom
dev_read_urand(dirsrvadmin_setup_t)
# Exec nsswitch.conf
files_exec_etc_files(dirsrvadmin_setup_t)
# Exec cgi-scripts
libs_exec_lib_files(dirsrvadmin_setup_t)
# Find dirsrv dirs
files_search_locks(dirsrvadmin_setup_t)
files_search_var_lib(dirsrvadmin_setup_t)
# Find dirsrv log dir
logging_search_logs(dirsrvadmin_setup_t)
sysnet_read_config(dirsrvadmin_setup_t)
term_search_ptys(dirsrvadmin_setup_t)
# Read /etc/shadow !?
auth_read_shadow(dirsrvadmin_setup_t)
files_read_etc_runtime_files(dirsrvadmin_setup_t)
fs_getattr_xattr_fs(dirsrvadmin_setup_t)
optional_policy(`
nscd_read_pid(dirsrvadmin_setup_t)
')
# In targeted policy
ifdef(`targeted_policy',`
files_read_generic_tmp_files(dirsrvadmin_setup_t)
term_use_generic_ptys(dirsrvadmin_setup_t)
')
[-- Attachment #8: fedora-idm-console.fc --]
[-- Type: text/plain, Size: 1 bytes --]
[-- Attachment #9: fedora-idm-console.te --]
[-- Type: text/plain, Size: 543 bytes --]
policy_module(fedora-idm-console,1.0.0)
########################################
#
# Declarations
#
type fedora-idm-console_t;
domain_type(fedora-idm-console_t)
########################################
#
# Local policy
#
# In strict policy we need to extend the java domain
ifdef(`strict_policy',`
fedoraidmconsole_extend_java(user)
## Misc interfaces
# Access to shared libraries
libs_use_ld_so(fedora-idm-console_t)
libs_use_shared_libs(fedora-idm-console_t)
# Read locale
miscfiles_read_localization(fedora-idm-console_t)
')
[-- Attachment #10: fedora-idm-console.if --]
[-- Type: text/plain, Size: 1197 bytes --]
## <summary>Java based fedora-idm-console</summary>
########################################
## <summary>
## Extend java domain for fedora-idm-console.
## </summary>
## <param name="domain">
## <summary>
## Prefix of domain allowed access.
## </summary>
## </param>
#
interface(`fedoraidmconsole_extend_java',`
gen_require(`
type $1_javaplugin_t;
type $1_t, $1_xserver_tmp_t, $1_gconf_home_t, $1_home_ssh_t, $1_mozilla_home_t;
')
allow $1_javaplugin_t $1_t:process sigchld;
allow $1_t $1_javaplugin_t:process { signal ptrace };
allow $1_javaplugin_t self:netlink_route_socket { write getattr read bind create nlmsg_read };
allow $1_javaplugin_t self:tcp_socket { accept listen };
allow $1_javaplugin_t $1_xserver_tmp_t:dir search;
allow $1_javaplugin_t $1_xserver_tmp_t:sock_file write;
dirsrv_list_db($1_javaplugin_t)
corecmd_exec_bin($1_javaplugin_t)
corenet_tcp_bind_inaddr_any_node($1_javaplugin_t)
files_read_var_files($1_javaplugin_t)
# Sun java check out some dirs, there is probably more than this
dontaudit $1_javaplugin_t $1_gconf_home_t:dir getattr;
dontaudit $1_javaplugin_t $1_home_ssh_t:dir getattr;
dontaudit $1_javaplugin_t $1_mozilla_home_t:dir getattr;
')
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: SELinux policy for Fedora Directory Server 1.1.0
2008-03-11 16:34 SELinux policy for Fedora Directory Server 1.1.0 Pär Aronsson
@ 2008-03-18 14:34 ` Daniel J Walsh
2008-03-26 17:23 ` Pär Aronsson
0 siblings, 1 reply; 3+ messages in thread
From: Daniel J Walsh @ 2008-03-18 14:34 UTC (permalink / raw)
To: Pär Aronsson; +Cc: selinux, fedora-directory-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Pär Aronsson wrote:
> Hello,
>
> Attached is a SELinux policy for the Fedora Directory Server 1.1.0.
> It is composed of three parts.
> * dirsrv - directory server and setup programs
> * dirsrv-admin - administration server and setup programs
> * fedora-idm-console - java based console for administration
>
> The policies were developed on a CentOS 5.1 with the following packages:
> fedora-ds-base-1.1.0-3.fc6
> fedora-ds-admin-1.1.1-1.fc6
> fedora-ds-console-1.1.0-5.fc6
> selinux-policy-2.4.6-106.el5_1.3
> kernel-2.6.18-53.1.4.el5
>
> I've succesfully tested the policies in targeted and strict mode.
>
> The dirsrv-admin policy requires that the apache policy module is loaded.
> Also run:
> setsebool -P httpd_enable_cgi on
>
> Comment out the following in /usr/sbin/start-ds-admin (line 63-65):
> if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
> SELINUX_CMD="runcon -t unconfined_t --"
> fi
>
> I had trouble with the replication plugin so I haven't been able to do any
> testing with replication.
>
> Any comments are welcome.
>
> // Pär Aronsson
>
Just started looking at this policy
dirsrv.te looks pretty good, I have never setup a directory server, so
I am guessing on some of this stuff.
You want logging_search_logs($1) in
dirsrv_read_setuplog
The fedora-idm-console stuff makes no sense. Looks like you are trying
to fix bugs in javaplugin policy.
Not sure if you want/need dirserv-admin policy? If this is just stuff
to be run in cgi, just extend it.
ALso not sure you need dirsrv_setup_t Why not leave in admin context?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkff0wIACgkQrlYvE4MpobPytQCbBlFzyMaq83N79iPxQTbk/G5k
/SkAn2TL7xy7VwL1oDaj62isjxNnqd9O
=jUQi
-----END PGP SIGNATURE-----
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: SELinux policy for Fedora Directory Server 1.1.0
2008-03-18 14:34 ` Daniel J Walsh
@ 2008-03-26 17:23 ` Pär Aronsson
0 siblings, 0 replies; 3+ messages in thread
From: Pär Aronsson @ 2008-03-26 17:23 UTC (permalink / raw)
To: Daniel J Walsh; +Cc: selinux
tisdag 18 mars 2008 skrev Daniel J Walsh:
> Pär Aronsson wrote:
> > Hello,
> >
> > Attached is a SELinux policy for the Fedora Directory Server 1.1.0.
> > It is composed of three parts.
> > * dirsrv - directory server and setup programs
> > * dirsrv-admin - administration server and setup programs
> > * fedora-idm-console - java based console for administration
> >
> > The policies were developed on a CentOS 5.1 with the following packages:
> > fedora-ds-base-1.1.0-3.fc6
> > fedora-ds-admin-1.1.1-1.fc6
> > fedora-ds-console-1.1.0-5.fc6
> > selinux-policy-2.4.6-106.el5_1.3
> > kernel-2.6.18-53.1.4.el5
> >
> > I've succesfully tested the policies in targeted and strict mode.
> >
> > The dirsrv-admin policy requires that the apache policy module is loaded.
> > Also run:
> > setsebool -P httpd_enable_cgi on
> >
> > Comment out the following in /usr/sbin/start-ds-admin (line 63-65):
> > if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
> > SELINUX_CMD="runcon -t unconfined_t --"
> > fi
> >
> > I had trouble with the replication plugin so I haven't been able to do
> > any testing with replication.
> >
> > Any comments are welcome.
> >
> > // Pär Aronsson
>
> Just started looking at this policy
> dirsrv.te looks pretty good, I have never setup a directory server, so
> I am guessing on some of this stuff.
>
> You want logging_search_logs($1) in
> dirsrv_read_setuplog
>
> The fedora-idm-console stuff makes no sense. Looks like you are trying
> to fix bugs in javaplugin policy.
>
> Not sure if you want/need dirserv-admin policy? If this is just stuff
> to be run in cgi, just extend it.
>
> ALso not sure you need dirsrv_setup_t Why not leave in admin context?
Thanks Dan!
How should I handle the fedora-idm-console? A patch? Against what? The console
need read access to the directory server db-files. There's an interface for
it in dirsrv policy. What should I do with that in a patch?
The cgi-scripts in dirsrv-admin are run from httpd and from the
fedora-idm-console. Most of the policy extends the apache_content_template
interface. The rest is for the start script.
Can you suggest how it should be dealt with?
The setup- and migration utilities in dirsrv and dirsrv-admin create files
in /tmp that may contain sensitive information and need be readable by the
daemons. I couldn't find another way to make the files private. Any
suggestions?
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-03-26 17:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-11 16:34 SELinux policy for Fedora Directory Server 1.1.0 Pär Aronsson
2008-03-18 14:34 ` Daniel J Walsh
2008-03-26 17:23 ` Pär Aronsson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.