Hello,

 Follow attached  the patch which fixes the BZ#508936.

At RHN Satellite/Spacewalk documentation, to be able to execute remote
commands, it must exists a file named "run" into
/etc/sysconfig/rhn/allowed-actions/scripts directory.

This patch fixes remote commands only be executed if the file "run"
exists into allowed-actions/scripts directory. All the other files will
be ignored. 

To make it consistent, we also fixed KickstartFormatter.java, which now
appends into kickstart the 'run' instead 'all' into
/etc/sysconfig/rhn/allowed-actions directory when rendering the
kickstart file.

After patched, --report option works as expected  (ignoring all the
other files created manually) and remote commands will be only executed
when a file "run" exists at allowed-action/scripts directory.

# rhn-actions-control --enable-all ; tree /etc/sysconfig/rhn/allowed-actions
|-- configfiles
|   `-- all
`-- script
    `-- run

2 directories, 2 files

# rhn-actions-control --report
deploy is enabled
diff is enabled
upload is enabled
mtime_upload is enabled
run is enabled

# rhn-actions-control --disable-all ; tree
/etc/sysconfig/rhn/allowed-actions/
/etc/sysconfig/rhn/allowed-actions/
|-- configfiles
`-- script

2 directories, 0 files

# rhn-actions-control --report
deploy is disabled
diff is disabled
upload is disabled
mtime_upload is disabled
run is disabled


 ** Even forcing the file, it will be ignored
# touch /etc/sysconfig/rhn/allowed-actions/script/all
# rhn-actions-control --report
deploy is disabled
diff is disabled
upload is disabled
mtime_upload is disabled
run is disabled


Cheers,
Marcelo Moreira de Mello

-- 
Marcelo Moreira de Mello
RHCA RHCSS RHCVA 
Software Maintenance Engineer/SEG           

gpg id: 2048R/FDB110E5
gpg fingerprint: 3BE7 EF71 4DD7 6812 D309  8F18 BD42 D095 FDB1 10E5

From: Marcelo Moreira de Mello <mme...@redhat.com>
Date: Thu, 2 Jun 2011 18:58:45 -0300
Subject: [PATCH] RHBZ#508936 - rhn-actions-control honor the 
allowed-actions/scripts/run for remote commands

---
 client/tools/rhncfg/actions/configfiles.py         |    2 +-
 .../rhn/manager/kickstart/KickstartFormatter.java  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/client/tools/rhncfg/actions/configfiles.py 
b/client/tools/rhncfg/actions/configfiles.py
index 76671ab..73c460b 100755
--- a/client/tools/rhncfg/actions/configfiles.py
+++ b/client/tools/rhncfg/actions/configfiles.py
@@ -51,7 +51,7 @@ def _local_permission_check(action_type):
 
     for i in range(len(atype_structure)):
         all_structure = atype_structure[:i]
-        all_structure.append('all')
+        all_structure.append('run')
 
         potential_all_path = apply(os.path.join, all_structure)
         if os.path.exists(os.path.join(_permission_root_dir, 
potential_all_path)):
diff --git 
a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java 
b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
index 0aa0f75..a4c761a 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartFormatter.java
@@ -120,7 +120,7 @@ public class KickstartFormatter {
     private static final String WGET_RPMS = "wget -P /tmp/rhn_rpms ";
     private static final String REMOTE_CMD =
         "mkdir -p /etc/sysconfig/rhn/allowed-actions/script" + NEWLINE +
-        "touch /etc/sysconfig/rhn/allowed-actions/script/all";
+        "touch /etc/sysconfig/rhn/allowed-actions/script/run";
     private static final String CONFIG_CMD =
         "mkdir -p /etc/sysconfig/rhn/allowed-actions/configfiles" + NEWLINE +
         "touch /etc/sysconfig/rhn/allowed-actions/configfiles/all";
-- 
1.7.5.2

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to