PERFORCE change 38890 for review
Andrew Reisse
areisse at FreeBSD.org
Tue Sep 30 15:40:45 GMT 2003
http://perforce.freebsd.org/chv.cgi?CH=38890
Change 38890 by areisse at areisse_tislabs on 2003/09/30 08:39:52
Allow limited remote command execution from sshd.
Initial policy for cvs. To use the "secure" cvs, it must be accessed from ssh
via a repository specification such as :ext:localhost:/cvs. Repositories
must be labelled with user_cvsrep_t or similar.
Affected files ...
.. //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/ssh.te#5 edit
.. //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/unused/cvs.te#1 add
.. //depot/projects/trustedbsd/sebsd_policy/policy/file_contexts/program/cvs.fc#1 add
.. //depot/projects/trustedbsd/sebsd_policy/policy/file_contexts/types.fc#3 edit
.. //depot/projects/trustedbsd/sebsd_policy/policy/macros/global_macros.te#4 edit
.. //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/cvs_macros.te#1 add
.. //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/ssh_macros.te#4 edit
Differences ...
==== //depot/projects/trustedbsd/sebsd_policy/policy/domains/program/ssh.te#5 (text+ko) ====
@@ -204,3 +204,24 @@
# Everything else is in the ssh_domain macro in
# macros/program/ssh_macros.te.
+# Transitory domain to run cvs from sshd
+ifdef(`cvs.te',`
+type sshd_user_shell_t, domain;
+domain_auto_trans(sshd_t, shell_exec_t, sshd_user_shell_t)
+domain_auto_trans(sshd_user_shell_t, cvs_exec_t, user_cvs_rw_t)
+role system_r types sshd_user_shell_t;
+role system_r types user_cvs_rw_t;
+
+allow sshd_user_shell_t { self sshd_t }:fd { create use };
+allow sshd_user_shell_t { sbin_t bin_t home_root_t user_home_dir_t usr_t etc_t }:dir search;
+allow sshd_user_shell_t etc_t:file r_file_perms;
+allow sshd_user_shell_t { sbin_t bin_t }:file rx_file_perms;
+allow sshd_user_shell_t { sbin_t bin_t }:file execute_no_trans;
+
+uses_shlib(sshd_user_shell_t)
+
+allow sshd_user_shell_t user_home_t:file r_file_perms;
+allow sshd_user_shell_t { user_home_dir_t user_home_t }:dir r_dir_perms;
+
+allow user_cvs_rw_t sshd_t:fd use;
+')
==== //depot/projects/trustedbsd/sebsd_policy/policy/file_contexts/types.fc#3 (text+ko) ====
@@ -84,8 +84,8 @@
/home/[^/]+ -d system_u:object_r:user_home_dir_t
/home/[^/]+/.+ system_u:object_r:user_home_t
/usr/home system_u:object_r:home_root_t
-/home/[^/]+ -d system_u:object_r:user_home_dir_t
-/home/[^/]+/.+ system_u:object_r:user_home_t
+/usr/home/[^/]+ -d system_u:object_r:user_home_dir_t
+/usr/home/[^/]+/.+ system_u:object_r:user_home_t
#
# Other staff home directories, replace "jadmin" with appropriate name
==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/global_macros.te#4 (text+ko) ====
@@ -706,7 +706,7 @@
# Access file descriptions, pipes, and sockets
# created by processes in the same domain.
allow $1 self:fd *;
-allow $1 self:fifo_file rw_file_perms;
+allow $1 self:fifo_file { poll rw_file_perms };
allow $1 self:unix_dgram_socket create_socket_perms;
allow $1 self:unix_stream_socket create_stream_socket_perms;
==== //depot/projects/trustedbsd/sebsd_policy/policy/macros/program/ssh_macros.te#4 (text+ko) ====
@@ -128,6 +128,8 @@
allow $1_ssh_t $1_tty_device_t:chr_file { poll rw_file_perms };
allow $1_ssh_t $1_devpts_t:chr_file { poll rw_file_perms };
+allow $1_ssh_t $1_t:fifo_file poll;
+
# Allow the user shell to signal the ssh program.
allow $1_t $1_ssh_t:process signal;
# allow ps to show ssh
To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-cvs" in the body of the message
More information about the trustedbsd-cvs
mailing list