У меня есть несколько боксов под управлением Debian Wheezy. Похоже, у них есть очень неприятная проблема: нажатие ctrl + c в оболочке, которая была su: d для root, убивает su, а не все, что выполняется в корневой оболочке. Это делает работу, например, с 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.)
Я столкнулся с тем же, что и у меня похожий псевдоним оболочки. Я нашел на странице руководства параметр "-s", который, казалось, решил эту проблему для меня:
-s, --shell SHELL
The shell that will be invoked.
то есть:
zsu='su root -p -s $SHELL'