Changeset 3558 for monitoring


Ignore:
Timestamp:
09/12/13 18:08:59 (11 years ago)
Author:
sanmai
Message:
  • Attempt to handle privilege gain and loss for for OpenDJ in check_ldap().
File:
1 edited

Legend:

Unmodified
Added
Removed
  • monitoring/plugins/mpi/generic_tla_monitoring.py

    r3555 r3558  
    177177    query = '(objectClass=CLARINPerson)'
    178178
    179     command = ['sudo',
    180               OpenDJ_directory_path + "/bin/ldapsearch",
     179    command = [OpenDJ_directory_path + "/bin/ldapsearch",
    181180              '--port', '10389',
    182181              '--baseDN', base_DN,
     
    192191    #pdb.set_trace()
    193192
    194     OpenDJ_uid = pwd.getpwnam('opendj')[2]
    195     Nagios_uid = pwd.getpwnam('nagios')[2]
    196    
    197     try :
    198         os.setuid(OpenDJ_uid)
    199     except OSError, e :
    200         raise e
    201 
    202     process = subprocess.Popen(command,
    203                                stdout = subprocess.PIPE,
    204                                stderr = subprocess.PIPE)
    205 
    206     stdout, stderr = process.communicate()
    207 
     193    current_process_ID = os.fork()
     194
     195    if current_process_ID == 0 :
     196        ## Child process code
     197
     198        OpenDJ_uid = pwd.getpwnam('opendj')[2]
     199        Nagios_uid = pwd.getpwnam('nagios')[2]
     200       
     201        try :
     202            os.setuid(OpenDJ_uid)
     203        except OSError, e :
     204            raise e
     205
     206        process = subprocess.Popen(command,
     207                                   stdout = subprocess.PIPE,
     208                                   stderr = subprocess.PIPE)
     209
     210        stdout, stderr = process.communicate()
     211
     212        os._exit(0)
     213     
     214    ## Parent process code. Wait for ldapsearch child process.
     215    os.waitpid(child_process_ID, 0)
     216   
    208217    try :
    209218        os.setuid(Nagios_uid)
Note: See TracChangeset for help on using the changeset viewer.