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

Я создаю инструмент самоконтроля для администраторов. Скрипт, выполняемый администратором, добровольно откажется от прав администратора. Администратор может восстановить привилегии администратора, снова запустив скрипт, но сталкивается с преднамеренной задержкой (скажем, 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 каждый раз.

  • Судо долго ждать пользователя Active Directory
  • sudo su - anotherusername, не запрашивающий пароль
  • пароль для паролей `sudo` и другие данные для команды sudo`ed
  • `root` vs` sudo` от ulimit POV
  • Возможно выполнить команду pipe с помощью su через ssh
  • Сервер Ubuntu 11.10: создание пользователя, домашний каталог, привилегии sudo: только командная строка
  • Как создать пользователя sudo, который не может удалить меня?
  • Почему не работает эта команда sudo mv с шаблоном?
  • One Solution collect form web for “Скрипт для временного удаления прав администратора”

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

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

    Interesting Posts

    Linux останавливает фоновый процесс с помощью kill + PID

    Facelifting XClock при использовании Xrender: длинная и извилистая дорога

    Как сделать историю команды Bash flush, чтобы ее можно было очистить?

    Обрезать аудиофайл с использованием времени начала и остановки

    Почему * соответствует, где нет цифр?

    Нечетное поведение GUI программного обеспечения в Ubuntu на основе eOS (источники, выбранные в фоновом режиме)

    Похоже, что некоторые основы отсутствуют в ubuntu … или я их не установил?

    Обнаружение открытых сокетов вручную (не используя nc или подобное)?

    Raspbian Jessie Lite «Сброс фабрики»

    запрос настройки сети во время установки кикстарта centos7

    Как определить конкретную сеть WIFI, связанную udev?

    правильная генерация CSR

    Могу ли я быть уверенным, что имя поля записи аудита Linux уникально?

    Является ли мой SSH-ключ сопряжен со мной как с человеком или с моей учетной записью пользователя на одной машине?

    Найти последнее появление строки в заданном типе файла во всех подкаталогах

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