<html><body>
<p>Thanks very much, Matt, for both the patch and some review.  I never intended the unnecessary restriction and dropped the ball on fixing it.<br>
<br>
Thanks,<br>
George Wilson<br>
IBM LTC Security Development<br>
<img width="16" height="16" src="cid:1__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Matt Anderson <mra@hp.com>">Matt Anderson <mra@hp.com><br>
<br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:2__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com); background-repeat: no-repeat; " width="40%">
<ul>
<ul>
<ul>
<ul><b><font size="2">Matt Anderson <mra@hp.com></font></b><font size="2"> </font><br>
<font size="2">Sent by: redhat-lspp-bounces@redhat.com</font>
<p><font size="2">05/16/07 18:52</font></ul>
</ul>
</ul>
</ul>
</td><td width="60%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%" valign="middle"><img width="58" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">To</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">redhat-lspp@redhat.com</font></td></tr>

<tr valign="top"><td width="1%" valign="middle"><img width="58" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">cc</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
</td></tr>

<tr valign="top"><td width="1%" valign="middle"><img width="58" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">Subject</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">[redhat-lspp] rbac-self-test patches</font></td></tr>
</table>

<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img width="1" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""></td><td width="336"><img width="1" height="1" src="cid:3__=09BBF84DDF8215DB8f9e8a93df938@us.ibm.com" border="0" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<tt>>From running the rbac-self-test on different systems, and with a<br>
slightly different procedure I ran into some issues.  Thanks to help<br>
from George and Klaus they were resolved.  The main difference was I had<br>
been ssh'ing into the system as a user and using su to become root.<br>
This caused two problems; sysadm_devpts_t instead of sysadm_tty_t and my<br>
SElinux user was staff_u instead of root.  Here are the patches that I<br>
needed in order to get things working for me.<br>
<br>
-matt<br>
diff --git a/rbac-self-test/rbac-self-test b/rbac-self-test/rbac-self-test<br>
index acdf59d..f01301c 100644<br>
--- a/rbac-self-test/rbac-self-test<br>
+++ b/rbac-self-test/rbac-self-test<br>
@@ -74,13 +74,18 @@ class SelfTest:<br>
         self.program_name = os.path.basename(sys.argv[0])<br>
         self.read = False<br>
         self.write = True<br>
-        self.SystemHigh = 'SystemHigh'<br>
-        self.SystemLow = 'SystemLow'<br>
         self.expectSuccess = False<br>
         self.expectFailure = True<br>
         self.success = True<br>
         self.failure = False<br>
         self.failure_action_performed = False<br>
+        self.SystemHigh = 'SystemHigh'<br>
+        self.SystemLow = 'SystemLow'<br>
+        self.aide_type = 'aide_t'<br>
+        self.program_type = 'rbacselftest_t'<br>
+        self.helperprogram_type = 'rbacselftesthelper_t'<br>
+        self.selinux_user = selinux.getcon()[1].split(':')[0]<br>
+        self.selinux_role = selinux.getcon()[1].split(':')[1]<br>
         return(None)<br>
 <br>
     #<br>
@@ -358,7 +363,8 @@ class SelfTest:<br>
 <br>
         if rc == 0:<br>
             try:<br>
-                rc = self.runcon("root:sysadm_r:aide_t:SystemHigh", '/usr/sbin/aide', '--init')<br>
+                context = self.selinux_user + ':' + self.selinux_role + ':' + self.aide_type + ':' + self.SystemHigh<br>
+                rc = self.runcon(context, '/usr/sbin/aide', '--init')<br>
             except OSError, (oserrno, strerror):<br>
                 self.message_log('Cannot initialize AIDE database, errno = ' + str(oserrno) + ': ' + strerror)<br>
                 rc = oserrno<br>
@@ -397,7 +403,8 @@ class SelfTest:<br>
         rc = 0<br>
 <br>
         try:<br>
-            rc = self.runcon("root:sysadm_r:aide_t:SystemHigh", '/usr/sbin/aide', '--check')<br>
+            context = self.selinux_user + ':' + self.selinux_role + ':' + self.aide_type + ':' + self.SystemHigh<br>
+            rc = self.runcon(context, '/usr/sbin/aide', '--check')<br>
         except OSError, (oserrno, strerror):<br>
             self.message_log('Cannot verify AIDE database, errno = ' + str(oserrno) + ': ' + strerror)<br>
             rc = oserrno<br>
@@ -450,8 +457,8 @@ class SelfTest:<br>
 <br>
         rc = 0<br>
 <br>
-        context1 = 'root:sysadm_r:rbacselftest_t:' + level1<br>
-        context2 = 'root:sysadm_r:rbacselftesthelper_t:' + level2<br>
+        context1 = self.selinux_user + ':' + self.selinux_role + ':' + self.program_type + ':' + level1<br>
+        context2 = self.selinux_user + ':' + self.selinux_role + ':' + self.helperprogram_type + ':' + level2<br>
 <br>
         if write == True:<br>
             testopname = 'write'<br>
diff --git a/rbac-self-test/policy/rbacselftest.te b/rbac-self-test/policy/rbacselftest.te<br>
index de77b1f..8ee7477 100644<br>
--- a/rbac-self-test/policy/rbacselftest.te<br>
+++ b/rbac-self-test/policy/rbacselftest.te<br>
@@ -110,7 +110,7 @@ allow rbacselftest_t var_run_t:file { getattr setattr create read write };<br>
 <br>
 # and more<br>
 allow rbacselftest_t self:fd use;<br>
-allow rbacselftest_t self:process { noatsecure rlimitinh siginh };<br>
+allow rbacselftest_t self:process { noatsecure rlimitinh setexec siginh };<br>
 allow rbacselftest_t sysadm_devpts_t:chr_file write;<br>
 allow rbacselftest_t sysadm_tty_device_t:chr_file { read write };<br>
 <br>
@@ -140,9 +140,12 @@ allow rbacselftest_t rbacselftesthelper_t:process transition;<br>
 <br>
 allow rbacselftest_t rbacselftesthelper_t:process { noatsecure rlimitinh siginh };<br>
 allow rbacselftesthelper_t local_login_t:fd use;<br>
+allow rbacselftesthelper_t newrole_t:fd use;<br>
 allow rbacselftesthelper_t rbacselftest_t:process sigchld;<br>
+allow rbacselftesthelper_t sysadm_devpts_t:chr_file { read write };<br>
-allow rbacselftesthelper_t sysadm_tty_device_t:chr_file { read write };<br>
+allow rbacselftesthelper_t sysadm_tty_device_t:chr_file { read write ioctl getattr };<br>
 allow rbacselftesthelper_t rbacselftest_t:fd use;<br>
+allow rbacselftesthelper_t rbacselftest_var_run_t:file { read write };<br>
 <br>
 files_read_all_files(rbacselftesthelper_t)<br>
 libs_use_shared_libs(rbacselftesthelper_t)<br>
--<br>
redhat-lspp mailing list<br>
redhat-lspp@redhat.com<br>
</tt><tt><a href="https://www.redhat.com/mailman/listinfo/redhat-lspp">https://www.redhat.com/mailman/listinfo/redhat-lspp</a></tt><tt><br>
</tt><br>
</body></html>