“会话终止,终止壳…杀”

我有几个boxen运行Debian Wheezy。 他们似乎有一个非常恼人的问题,按ctrl + c在一个已经su到d的shell将杀死su,而不是在根shell中运行的任何东西。 这使得如ping或tcpdump的工作几乎不可能。 据我所知,这个问题在Debian的bug#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. 

我需要为此find一个解决办法。 我可以以不同的方式执行su还是可以使用替代方法? (最好不要sudo,我宁愿不允许SSH根login。)

我碰到了和我有类似的shell别名一样的东西。 我在联机帮助页find了一个“-s”选项,似乎为我解决了这个问题:

  -s, --shell SHELL The shell that will be invoked. 

即:

 zsu='su root -p -s $SHELL'