假设我启动了一个su
命令,并且想取消它。 Control+ C不能su
像sudo
... 那样工作。我必须完成提示(通过输入错误次数足够多的密码或正确输入密码)。
我可以输入一些内容来杀死密码提示吗?
假设我启动了一个su
命令,并且想取消它。 Control+ C不能su
像sudo
... 那样工作。我必须完成提示(通过输入错误次数足够多的密码或正确输入密码)。
我可以输入一些内容来杀死密码提示吗?
Answers:
su
正在以提升的特权运行,并且您没有看到它响应^C
(它会以您的特权发送信号)。您可以 su
转到另一个外壳,然后从另一个外壳中将其杀死。同样(取决于系统),SIGHUP
如果您关闭su
正在进行尴尬的终端会话,它可能会响应(挂断信号)。
有多种方法su
可以忽略您的^C
,例如,
快速阅读Debiansu
似乎使用了后者。您的系统当然可能有所不同。
进一步阅读:
su
以常规用户身份执行,并且正在等待用户输入密码,那么此时是否“以提升的特权运行”?
ps -ef
另一个终端上进行操作来亲自查看。这su
是自动发生的,因为设置为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
可能只是忽略它。
ControlD输入带有空密码的+ 似乎是立即终止运行的唯一方法su
-如果输入了任何文本,则按Control+ D会导致3秒钟的延迟(除非您实际输入了正确的密码,在这种情况下。 ..它将启动一个root shell)。