Программно запустите сеанс su, запустите команду и оставайтесь в приглашении root

Предыстория: я подключаюсь по SSH к серверам, где хочу видеть персонализированную корневую подсказку. Однако другие люди входят на эти серверы и не обязательно хотят, чтобы я изменил приглашение.

Вопрос: Как мне создать псевдоним/функцию zsh, чтобы я мог войти в систему как обычный пользователь, а ввод [my su shortcut] запускал сеанс su, исходный .zshrc из моего личного домашнего каталога и оставлял меня в командной строке root?


person spiffytech    schedule 25.01.2012    source источник


Ответы (1)


alias mysu="su -c \"ZDOTDIR=$HOME zsh\""

Подробнее см. zsh(1).

person Mika Fischer    schedule 25.01.2012
comment
Это сделало то, что я хочу! Я улучшил его, добавив к ZDOTDIR /usr/bin/env (это поможет переносимости, если обычная оболочка root, скажем, csh). Я также заменил все экземпляры ~ в .zshrc на $ZDOTDIR и добавил следующую строку в начало .zshrc: if [ -z "$ZDOTDIR" ]; then ZDOTDIR=$HOME; fi. Эти два изменения указывают zsh на мою личную коллекцию zsh-скриптов, независимо от того, являюсь ли я пользователем root или обычным пользователем. - person spiffytech; 25.01.2012