Я хочу иметь возможность быстро проверить, есть ли у меня оба доступа sudo, и мой пароль уже аутентифицирован. Меня не беспокоит доступ к sudo специально для операции, которую я собираюсь выполнить, но это было бы хорошим бонусом.
В частности, я пытаюсь использовать это для сценария, который я хочу запускать для ряда пользователей. Некоторые имеют доступ к sudo. Все знают пароль root.
Когда они запускают мой скрипт, я хочу, чтобы он использовал разрешения sudo, не запрашивая пароль, если это возможно, и в противном случае отступил бы к запросу root пароля (потому что у них может не быть sudo доступ).
Моей первой нерабочей попыткой было отключить sudo -S true
с закрытым STDIN или чтением из / dev / null. Но это все еще запрашивает пароль и ждет пару секунд.
Я пробовал несколько других вещей, в том числе ожидание 0,3сек, чтобы увидеть, удалось ли это немедленно, но все, что я пробую, в некоторых ситуациях заканчивается неудачей. (И не потому, что мой тайм-аут слишком короткий.) Трудно понять, что происходит, потому что я не могу просто выпрямиться, как обычно.
Одна вещь, которую я знаю не работает, это закрыть STDIN или прикрепить его к каналу перед запуском sudo -S true
. Я надеялся, что это приведет к немедленному сбою запроса пароля, но он все еще запрашивает и ведет себя странно. Я думаю, что может потребоваться терминал.