Аутентификация в скрипте Python - PullRequest
0 голосов
/ 25 января 2011

Я пишу сценарий мастер-контроля для управления нашей инфраструктурой. Безопасность является серьезной проблемой, поэтому я хотел бы рассмотреть две проблемы:

Я хочу, чтобы пользователь мог выполнить приложение, после чего ему было предложено войти в программу, используя учетные данные root в системе (Linux - Ubuntu). Отказ от аутентификации вызовет событие электронной почты и заблокирует программу. Могу ли я пройти аутентификацию в / etc / passwd? И как я могу заблокировать приложение?

Во-вторых, как защитить приложение от модификации? Возможно, мне придется жестко закодировать определенные атрибуты в приложении. Каковы идеальные разрешения для сценария, который будет выполнен, но не отредактирован?

1 Ответ

2 голосов
/ 25 января 2011

Несмотря на то, что это нетривиальное решение, наиболее безопасный способ сделать это - использовать клиент-серверный подход, превратив сценарий главного управления в системную службу, доступную для чтения и запуска только для пользователя root. Вы можете запустить службу через init.d инфраструктуру запуска.

Когда служба запускается, вам нужно открыть сокет или RPC-сервер для обработки ваших управляющих команд. На Python это легко сделать с помощью Twisted .

Для аутентификации через /etc/passwd вы можете использовать crypt и pwd Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...