hab ein kleines Problem und nicht wirklich eine Lösung dafür parat.
Und zwar habe ich eine Logger Class die mir stdout loggt was auch klappt, allerdings
würde ich gerne die permissons droppen nachdem ich das script gestartet habe.
Denke mal dass das Problem ist das ich das script als root ausführe und dann die rechte droppe.
Code: Alles auswählen
import sys
import os
class Logger(object):
def __init__(self, filename="Default.log"):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
try:
sys.stdout = Logger('/tmp/event.logger')
def drop_permissions(uid_name='updateservice', gid_name='users'):
import pwd
import grp
nonpriv_uid = pwd.getpwnam(uid_name).pw_uid
nonpriv_gid = grp.getgrnam(gid_name).gr_gid
os.setgroups([])
os.setgid(nonpriv_gid)
os.setuid(nonpriv_uid)
del pwd
del grp
start_update()
def start_update():
print 'test'
if __name__ == "__main__":
drop_permissions()
