Скажем, я запустил su
команду и хочу ее отменить. Control+ Cне работает так, su
как работает sudo
... Я должен завершить запрос (либо введя неправильный пароль достаточно много раз, либо получив правильный).
Что-то, что я могу напечатать, чтобы убить приглашение пароля?
bash
shell
command-line
kill
authentication
Вопросительный знак
источник
источник
Ответы:
su
работает с повышенными привилегиями, и вы не видите, что он отвечает^C
(что посылает сигнал с вашими привилегиями). Вы можетеsu
перейти в другую оболочку и убить ее из другой оболочки. Также (в зависимости от системы) он может реагировать наSIGHUP
(сигнал зависания), если вы закрыли сеанс терминала, в котором происходит неловкое состояниеsu
.Есть несколько способов
su
игнорировать ваши^C
, например,Беглое прочтение Debian
su
кажется, что он использует последний. Ваша система, конечно, может отличаться.Дальнейшее чтение:
источник
su
как обычный пользователь, и он ожидает ввода пароля от пользователя, он «работает с повышенными привилегиями» в данный момент?ps -ef
из другого терминала. Это происходит автоматически, потому чтоsu
setuid'd для root .Вы можете
CTRL-D
su
подсказать.Этот ярлык сигнализирует об окончании файла на консоли, выходя из приглашения; консоль покажет
Authentication error
, что является ожидаемым.источник
Я обнаружил, что лучший способ убить
su
при вводе неверного пароля - это Control+ с Uпоследующим Control+ D. Это должно избежать раздражающих задержек. Вы также можете просто очистить ввод с помощью Control+ Uи повторить попытку ввода пароля.Control+ U- это команда, которая очищает текущую строку текста, а также работает в оболочке (и, возможно, в других местах). Также приятно, что кажется, что он работает
su
для очистки введенного в данный момент пароля.Использование Control+, Cкажется, не работает, кажется, что по какой-то причине
su
просто игнорирует его. Неверно, что пользователь, который запустил процесс, больше не может убить его из-за setuid -su
умирает совершенно нормально, если вы убиваете его сSIGTERM
илиSIGQUIT
с другого терминала (как пользователь, который запустил его).SIGINT
не работает, так что,su
вероятно, просто игнорирует это.Control+ Dс пустым вводом пароля, кажется, единственный способ мгновенно завершить работу
su
- если введен какой-либо текст, то нажатие Control+ Dвызовет 3-секундную задержку (если вы не ввели правильный пароль, в этом случае. .. это запустит корневую оболочку).источник