/usr/share/rhn/actions/rhnsd.py is in rhn-client-tools 1.8.9-3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #!/usr/bin/python
# Copyright (c) 1999-2002 Red Hat, Inc. Distributed under GPLv2.
#
# Author: Adrian Likins <alikins@redhat.com>
#
import string
import os
# mark this module as acceptable
__rhnexport__ = [
'configure',
]
def __configRhnsd(interval, cache_only=None):
rhnsdconfig = "/etc/sysconfig/rhn/rhnsd"
fd = open(rhnsdconfig, "r")
lines = fd.readlines()
count = 0
index = None
tmplines = []
for line in lines:
tmp = string.strip(line)
tmplines.append(tmp)
comps = string.split(tmp, "=", 1)
if comps[0] == "INTERVAL":
index = count
count = count + 1
if index != None:
tmplines[index] = "INTERVAL=%s" % interval
fd.close()
fd = open(rhnsdconfig, "w")
contents = string.join(tmplines, "\n")
fd.write(contents)
fd.close()
def configure(interval=None, restart=None, cache_only=None):
if cache_only:
return (0, "no-ops for caching", {})
msg = ""
if interval:
try:
__configRhnsd(interval)
msg = "rhnsd interval config updated. "
except IOError:
# i'm runing as root, must of been chattr'ed.
# i'll resist the erge to unchattr this file
return (37,"Could not modify /etc/sysconfig/rhn/rhnsd", {})
if restart:
rc = os.system("/sbin/service rhnsd restart > /dev/null")
msg = msg + "rhnsd restarted"
return(0, msg, {})
if __name__ == "__main__":
print configure("240")
print configure("361", 1)
print configure("127", restart=1)
print configure(restart=1)
print configure("192")
|