8550f796d71aa1d66087286a9a7405d1e56d0d0e
[mspang/pyceo.git] / bin / ceo
1 #!/usr/bin/python2.4 --
2 """CEO SUID Python Wrapper Script"""
3 import os, sys
4
5 safe_environment = ['LOGNAME', 'USERNAME', 'USER', 'HOME', 'TERM', 'LANG'
6     'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_MESSAGES', 'LC_MONETARY',
7     'LC_NUMERIC', 'LC_TIME', 'UID', 'GID', 'SSH_CONNECTION', 'SSH_AUTH_SOCK',
8     'SSH_CLIENT']
9
10 for key in os.environ.keys():
11     if key not in safe_environment:
12         del os.environ[key]
13
14 os.environ['LESSSECURE'] = '1'
15 os.environ['PATH'] = '/usr/sbin:/usr/bin:/sbin:/bin'
16
17 for pathent in sys.path[:]:
18     if not pathent.find('/usr') == 0:
19         sys.path.remove(pathent)
20
21 euid = os.geteuid()
22 egid = os.getegid()
23 try:
24     os.setreuid(euid, euid)
25     os.setregid(egid, egid)
26 except OSError, e:
27     print str(e)
28     sys.exit(1)
29
30 import csc.apps.legacy.main
31 csc.apps.legacy.main.run()