Как получить URL-адреса со страницы JSON, где пользователь ищет слово, а затем отображает все веб-сайты с этим словом?

Большинство современных Unix-систем для обработки аутентификации используют PAM. Модуль pam_unix выполняет аутентификацию паролем по отношению к /etc/паролю и /etc/shadow.

Однако не следует изобретать колесо заново. Запрос пароля пользователя и запуск от имени root является базовой конфигурацией sudo, де-факто стандартного способа повышения привилегий. Обратите внимание, что правильное повышение привилегий - хитрое дело: не забыли ли вы очистить все переменные окружения, которые могут повлиять на вашу программу? Судо требует больших усилий, чтобы сделать это безопасно.

Чтобы позволить пользователю alice выполнить /usr/local/bin/myprogram в качестве root с любыми аргументами по его выбору после ввода пароля, используйте следующую строку в файле sudoers (файл конфигурации sudo):

alice ALL = (root) /usr/local/bin/myprogram

Для редактирования файла sudoers выполните команду visudo.

Элис должна будет запустить sudo myprogram. Если вы хотите, чтобы она смогла ввести только имя программы, спрячьте это в скрипте обертки. Но обратите внимание, что Алиса может предпочесть запустить что-то вроде gksudo myprogram, чтобы получить графическую подсказку.

Возможно множество вариантов, в том числе запрещение вызывающему абоненту передавать аргументы:

alice ALL = (root) /usr/local/bin/myprogram ""

или применение записи к группе:

%mygroup ALL = (root) /usr/local/bin/myprogram

Если вашей программе необходимо знать, кто ее вызвал, sudo делает это доступным в переменных окружения SUDO_UID и SUDO_USER.

-1
18.12.2017, 20:00
0 ответов

Теги

Похожие вопросы