Уведомления

Группа в Telegram: @pythonsu

#1 Июль 1, 2015 15:14:29

TheGhost
Зарегистрирован: 2015-07-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

setuid для функции

Здравствуйте!

Нужно выполнить функцию 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.


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

Отредактировано TheGhost (Июль 1, 2015 15:14:55)

Офлайн

#2 Июль 1, 2015 16:52:06

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

setuid для функции

может seteued?



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано PooH (Июль 1, 2015 16:52:52)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version