Форум сайта python.su
0
Здравствуйте!
Нужно выполнить функцию test() с правами пользователя, но дальше вернуть права root (скрипт работает в Unix-Like от имени root).
class TestUID(): def __init__(self): if os.getuid() != 0: raise OSError (3, "Access denied") def test(self, param, param2): os.setgid(1000) os.setuid(1000) print "getuid: %s, getgid: %s" % (os.getuid(), os.getgid()) #Должно быть 1000 file_ = open("/tmp/test.txt", 'w') file_.write("Test") file_.close() pass def testRo(self): #выполнить от имени root print "getuid: %s, getgid: %s" % (os.getuid(), os.getgid()) #Должно быть 0 pass if __name__ == '__main__': t = TestUID() t.test(1,0) t.testRo()
Отредактировано TheGhost (Июль 1, 2015 15:14:55)
Офлайн
72
может seteued?
Отредактировано PooH (Июль 1, 2015 16:52:52)
Офлайн