LINUX.ORG.RU

su в питоне


0

0

вобщем нужно выполнить часть кода с правами суперюзера (ну например, прочитать/записать файл), спросив пароль естественно, желательно не прибегая к os.system. Ничего нагуглить не могу:-/

★★★★★

ну вообще тебе нужно или выполнить весь код от рута или пользовать SUID непосредственно или через враппер.

cvv ★★★★★
()
Ответ на: комментарий от cvv

Обращаю внимание: повысить привилегии скрипта непосредственно НЕВОЗМОЖНО.

Привилегии можно поднимать только для исполняемых БИНАРНИКОВ.

в товоём случае: подымаем привилегию интерпретеатору(не рекомендуется), или запускаем дочерний скрипт через su или sudo.

ну ещё можно рутовый код на С/С++ реализовать, возможно встроив питон для однообразия.

иначе - никак.

cvv ★★★★★
()
Ответ на: комментарий от cvv

а зачем тогда os.setuid различные ? только понижать ?

еще у меня су ругается на то, что код можно только из терминала выполнить(когда я ему пароль на stdin передать пытаюсь), а для судо нужно прописывать юзера в /etc/sudouers, что не очень хорошо. Есть еще gksu, (или kdesu) но это нежелательные зависимости

Syncro ★★★★★
() автор топика
Ответ на: комментарий от Syncro

>а зачем тогда os.setuid различные ? только понижать ?

чтобы переключится с рута на нужного тебе пользователя. другое под линуксом невозможно.

>еще у меня су ругается на то, что код можно только из терминала выполнить(когда я ему пароль на stdin передать пытаюсь)

ну так и передай ему пассворд через псевдо-терминал вместо пайпа

cvv ★★★★★
()
Ответ на: комментарий от cvv

спасибо, пойду погуглю с чем эти псевдотерминалы есть:)

Syncro ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.