Скрипт для временного удаления прав администратора

Я создаю инструмент самоконтроля для администраторов. Скрипт, выполняемый администратором, добровольно откажется от прав администратора. Администратор может восстановить привилегии администратора, снова запустив скрипт, но сталкивается с преднамеренной задержкой (скажем, 20 минут).

Что было бы хорошим способом сделать это?

Мое решение

Скажем, администратор называется my-admin . Мое текущее решение следующее:

  • Добавьте файл в /etc/sudoers.d который позволяет my-admin запускать скрипт под названием /usr/local/bin/delayed-admin как root.
  • Сценарий /usr/local/bin/delayed-admin делает следующее: Если my-admin является частью группы admin , он удаляет его из группы. И если my-admin не входит в группу admin тогда он спит в течение 20 минут, а затем добавляет его в группу admin .

Кажется, это работает, но мне не нравится идея возиться с файлом sudoer каждый раз.

  • Как я могу имитировать `sudo su - user` в скрипте?
  • Разрешить пользователю запускать команду в качестве другого пользователя со своей средой в sudoers
  • Безопасность графического пароля диалогового окна Linux
  • Как предоставить привилегии конкретного использования другому пользователю в Debian?
  • sudo разрешено, но su предоставляет разрешение
  • Почему «sudo su» в сценарии оболочки не запускает остальную часть скрипта как root?
  • sudo с оригинальным профилем
  • Выполнить строку команд с помощью одного sudo
  • One Solution collect form web for “Скрипт для временного удаления прав администратора”

    Я бы проявил особую осторожность в этом, поскольку это будет рассматриваться как серьезная уязвимость системы безопасности, поскольку любой потенциально может запустить этот скрипт и получить доступ администратора к вашей системе.

    Предоставить альтернативу вокруг sudoers и конфигурации suders.d. Я бы рекомендовал проверить скрипт, чтобы убедиться, что вы являетесь частью группы admins и просто запустите chmod -aG admins my-admin чтобы добавить учетную запись или gpasswd -d my-admin admins чтобы удалить учетную запись.

    Interesting Posts

    Как получить всю активность диска, вызванную файловыми системами под Linux?

    Почему я получаю сообщение об ошибке «print_unicode: строка 9: printf: отсутствует символ Unicode для Unicode 0187» с этим скриптом

    Можно ли запускать программы (сохраненные в меню) с терминала?

    Как установить срок действия пароля для бесконечного в теневом файле?

    Как запустить службу systemd только после запуска mysql?

    Как переключиться на root и использовать те же точечные файлы, что и мой обычный пользователь?

    Пользовательские привязки клавиш для режима оболочки vi, т. Е. «Set -o vi»?

    Откройте новый экземпляр gnome-system-monitor

    Как у группы есть доступ к чему-то?

    Почему AWK не любит точки в одной из двух подстановок?

    Звук не работает в Debian, кроме Google Chrome и тестовых утилит

    Какой алгоритм планирования используется в Linux?

    Как использовать новую таблицу fdisk без перезагрузки (kpartx)?

    CentOS 6.5 необходимо вручную добавить маршрут по умолчанию

    Sed: поиск и замена шаблона, который обертывается в следующую строку

    Linux и Unix - лучшая ОС в мире.