Как увидеть в терминале, что у вас есть права sudo? (зная, что у меня есть эти привилегии, я могу просто напечатать sudo -k
) Было бы лучше не добавлять в терминал слишком много информации, просто какое-то простое и маленькое предупреждение!
Оставшееся время невозможно, верно?
Кроме того, как узнать, сколько времени у меня осталось с этими привилегиями на конкретном терминале? (так что я могу просто позволить этому закончить вместо того, чтобы печатать sudo -k
). Я думаю, что оставшееся время может отображаться каждый раз, когда я нажимаю клавишу Enter.
РЕДАКТИРОВАТЬ: я исследовал больше и обнаружил, что /var/lib/sudo/$USER/$nPts
(где $ nPts является текущим значением терминала pts ps -p $$
) обновляет свою временную метку каждый раз при выполнении команды sudo, и она доступна только при использовании команды sudo, поэтому оставшееся время всегда будет настроил один ...
PS: в качестве альтернативы, я пытался, alias sudo='sudo -k'
но мне не нравится вводить пароль для каждой команды ... А также, это alias sudos='sudo -k'
(или alias ssudo='sudo -k'
, хорошо, если вы набрали длинную строку, просто нажмите Home и введите 's') работает, если вы только хотите выполнить одну команду, набрав sudos
. Но я все еще скучаю по тому, чтобы знать, когда у меня есть обычные права sudo, чтобы знать, что мне нужно действовать ...
Ответы:
[Я все еще хотел бы знать, есть ли лучший ответ.]
Я нашел способ, который работает, и подсказка будет храниться в одной строке:
в конце
~/.bashrc
добавьте это:РЕДАКТИРОВАТЬ: Я обнаружил, что
sudo -n uptime
будет обновлять тайм-аут sudo, поэтому каждый раз, когда вы нажимаете клавишу Enter, это время sudo будет обновляться ... Это делает знание оставшегося времени бесполезным, так как оно всегда будет настроенным, по умолчанию 15 мин .. ,и чтобы найти лучшее форматирование цветов на ваш вкус, вы можете использовать ScriptEchoColor с
--escapedchars
опцией, например:просто прекратить мигание удалить,
\E[5m
как в\E[0m\E[93m\E[41m\E[1m SUDO \E[0m
источник
Ваш терминал не имеет «привилегий sudo», если вы не делаете что-то глупое, как
sudo bash
НЕ ДЕЛАЙТЕ ЭТОГО!Все, что вам нужно сделать, чтобы «иметь нормальные привилегии sudo», это воздержаться от ввода
sudo
перед командой./usr/bin/id
хороший способ увидеть, чтоsudo
делает. Например:На
sudo
странице руководства говорится: «Политика sudoers кэширует учетные данные в течение 15 минут, если они не отменены в sudoers (5)». Это означает, что по умолчанию, если выsudo
введете команду (и введете свой пароль), а затем подождите 14,9 минуты, прежде чемsudo
вводить вторую команду, вам больше не придется вводить пароль. Если вы подождете 15,1 минуты, вам придется повторно ввести пароль.sudo -k
просто истекает 15-минутный таймер сразу. Единственное использование, которое я вижу,sudo -k
это когда вы собираетесь отдать свой разблокированный терминал кому-то, кому вы не доверяетеUID 0
.источник
sudo
перед командой». Но если я хочу проверить мои правила брандмауэра,iptables -L
они не будут работать, если я не наберуsudo iptables -L
. Я хочу сказать, как мы можем на самом деле избежать использования sudo?sudo -k
, я беспокоюсь о том, что взломщики пытаются получить удаленный доступ к моей машине (я действительно не знаю, могут ли они сделать это в любом случае ...), или в случае, если я оставлю свою машину открытой, не блокируя ее в течение нескольких минут ... хорошо, Суть в том, что я хочу сделать это так! Меня не волнует необходимость вводитьsudo -k
пароль и его пароль позже столько раз, сколько мне нужно, я чувствую себя хорошо, когда делаю это таким образом! :)/bin/su
. Вы уверены, что хотите отказаться от него? «Удаленный доступ к моей машине ...» и, я полагаю, вступить во владение/proc/YourPID/fd/{0,1,2}
. Нет. Если к вашей машине обращаются удаленно, у Плохого парня есть более простые способы UID 0. Вы должны повысить уровень Linux-foo до такого уровня беспокойства.alias k=/usr/bin/sudo -k
заменитьsudo
команду псевдонимом или функцией bash, которая оборачивает вызов/usr/bin/sudo
с/usr/bin/touch $HOME/tmp/$$/sudotime
, и, наконец, добавить что-то для печати $ {{time (now) - time ($ HOME / tmp / $) $ / sudotime))) в вашем приглашении Bash. Не тривиально, но если это заставит вас чувствовать себя хорошо, сделайте это.sudo
с псевдонимом любое случайное слово, они все равно могли бы печатать/usr/bin/sudo
вместо,sudo
и он все равно работал бы как sudo :(. В любом случае, мне нравится идея. Интересно, если я изменю реальное,/usr/bin/sudo
это сломает что-то другое, кроме все мои сценарии, которые его используют ... даже если бы я делал это, они могли, прочитав сценарии, угадать, что стало Судо ...