我有几个运行 Debian Wheezy 的机器。它们似乎有一个非常烦人的问题,即在已 su:d 为 root 的 shell 中按 ctrl+c 会杀死 su,而不是 root shell 中正在运行的任何程序。这使得使用 ping 或 tcpdump 等几乎不可能。据我所知,这个问题在Debian 错误 #628843但似乎并未达成共识。
[20:38] alias
zsu='su root -p -c $SHELL'
[20:38] zsu
Password:
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]? y
[20:38] <- I simply pressed ctrl+c
Session terminated, terminating shell...
[20:38] ...killed.
我需要找到解决办法。我可以用不同的方式执行 su 吗?或者有其他替代方法吗?(最好不使用 sudo,而且我不希望允许 ssh root 登录。)
答案1
我遇到了同样的问题,因为我有一个类似的 shell 别名。我在手册页中找到了“-s”选项,它似乎可以帮我解决这个问题:
-s, --shell SHELL
The shell that will be invoked.
IE:
zsu='su root -p -s $SHELL'