Server IP : 68.178.168.24 / Your IP : 3.144.230.177 Web Server : Apache System : Linux 24.168.178.68.host.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els19.x86_64 #1 SMP Mon Mar 31 17:29:00 UTC 2025 x86_64 User : realcarecert ( 1247) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /bin/panopta-agent/ |
Upload File : |
import fcntl import time import sys import os, os.path update_config_file = '/etc/panopta-agent/panopta_agent.cfg' if not os.path.exists(update_config_file): home = os.path.expanduser("~") update_config_file = os.path.join(home, "lib", "panopta-agent", "update_config") unlock_attempts = 10 def update_config(manifest_file): if not os.path.exists(manifest_file): print "Manifest file %s does not exist" % manifest_file sys.exit(0) try: mf = open(manifest_file).read().strip().split('\n') props = dict([map(str.strip, line.split("=")) for line in mf]) except: print "Error reading manifest file %s" % manifest_file sys.exit(0) manfile = open(update_config_file, 'wt') # Acquire lock locked = True for i in range(unlock_attempts): try: fcntl.flock(manfile, fcntl.LOCK_EX | fcntl.LOCK_NB) locked = False break except: time.sleep(1.0) if locked: print "Could not unlock %s after %s attempts" % (update_config_file, unlock_attempts) sys.exit(1) # Write new properties manfile.write(open(manifest_file).read()) # Release lock fcntl.flock(manfile, fcntl.LOCK_UN) manfile.close() # Change perms to make sure the agent user can read the config file os.system("chmod 666 %s" % update_config_file) if __name__ == "__main__": if len(sys.argv) < 2: print "Please specify the manifest file" sys.exit(0) else: update_config(sys.argv[1])Private