Sudo – есть ли команда, чтобы проверить, есть ли у меня sudo и / или сколько осталось времени?

(Первоначально опубликовано в Stack Overflow. Они предложили мне попробовать здесь. Вот оригинальный пост: https://stackoverflow.com/questions/3858208/sudo-is-there-a-command-to-check-if-i-have -sudo-and-or-how-much-time-is-left )

См. Главу. Мне нужна команда, которая позволяет мне запрашивать sudo. В идеале это вернет успех, если у меня все еще есть sudo и false, если sudo истекло. Получение времени может также быть полезным (хотя, если бы я был обеспокоен, я мог бы просто сделать sudo -v для подтверждения). О, и ему не нужно будет запрашивать пароль.

Самое близкое, что я нашел, это «sudo -n true», но опция -n присутствует только на моей машине Centos 5 на работе. -n не удается, если он должен запросить пароль. Есть ли другой способ получить эту функциональность? Предположим, что на самом деле у меня нет root на всех машинах, с которыми я работаю, поэтому я не могу установить новые версии sudo по своему вкусу.

Для чего это стоит, я делаю это, поэтому я могу получить приглашение указать статус sudo. Мне нравится знать, какие терминалы активны в судопроизводстве. У меня также есть подсказка, которая меняет цвета, когда я являюсь пользователем root, но я не использую root очень часто, так что это ограниченное использование.

  • Как я могу запускать команды в PowerShell с разрешениями администратора?
  • Терминал: префикс предыдущей команды?
  • Как запретить пользователям sudo запускать определенные команды?
  • Как проверить, есть ли у меня доступ к Sudo?
  • В чем разница между sudo su - и sudo -i?
  • Howto переключить / chage идентификатор пользователя с помощью скрипта bash для выполнения команд в том же скрипте?
  • Почему wget дает ошибку при выполнении с sudo, но отлично работает без?
  • Мелкозернистая конфигурация sudoers (допустимые аргументы командной строки)
  • 3 Solutions collect form web for “Sudo – есть ли команда, чтобы проверить, есть ли у меня sudo и / или сколько осталось времени?”

    Опция -n доступна в новых версиях sudo, но, как вы заявили, это не вариант. Нет никакого реального способа сделать то, что вам нужно, просто попробуйте sudo и посмотрите, возвращается ли он с подсказкой для пароля. Если вы обеспокоены тем, что вам нужен визуальный признак, почему бы не начать sudo / bin / bash, чтобы запустить сессию root bash? Обратите внимание, что это небезопасно, но это также несколько небезопасно, если кто-то осознает ваши быстрые изменения в sudo.

    Я знаю, что это действительно старый вопрос, но вот что я сделал в сценарии сегодня:

     CAN_I_RUN_SUDO = $ (sudo -n uptime 2> & 1 | grep "load" | wc -l)
     Если [$ {CAN_I_RUN_SUDO} -gt 0]
     тогда
         Echo "Я могу запустить команду sudo"
     еще
         Echo "Я не могу запустить команду Sudo"
     фи
    

    Это более простое решение:

     # check root permissions if [[ $UID != 0 ]]; then echo "Please start the script as root or sudo!" exit 1 fi 
    Давайте будем гением компьютера.