Найти - Пользователи
Полная версия: setuid для функции
Начало » Python для новичков » setuid для функции
1
TheGhost
Здравствуйте!

Нужно выполнить функцию 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()
Естественно тут в обоих случаях gid и uid == 1000.


Есть у кого идеи как это решить?

PooH
может seteued?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB