Как сохранить пользовательский PS1 в режиме суперпользователя?
Проблема заключается в следующем:
Я установил пользовательский PS1
в свой .bashrc, но он меняет значение по умолчанию, когда я вхожу в режим суперпользователя.
- Как сделать любой вновь созданный файл в определенном каталоге исполняемым, доступным для чтения и записи по умолчанию для всех пользователей
- команда pure bash с sudo
- Не использовать sudo после использования опции visudo -x
- / etc / sudoers Правило не соблюдается
- Передавать аргументы команде, запущенной другим пользователем
Я ожидал:
╓[coffee]─[Linux-Tower]─[2014-11-05, 23:41]─[~] ╙[$]-[sudo su [sudo] password for coffee: ╓[root]─[Linux-Tower]─[2014-11-05, 23:41]─[~] ╙[#]-[
Что я имею:
╓[coffee]─[Linux-Tower]─[2014-11-05, 23:41]─[~] ╙[$]-[sudo su [sudo] password for coffee: root@Linux-Tower:/home#
Итак, как мне установить PS1
чтобы быть тем, что используется при запуске с правами root?
- Почему рискованно предоставлять sudo vim доступ к обычным пользователям?
- Подробная информация о командах sudo, выполняемых всеми пользователями
- sudo: невозможно разрешить хост "hostname"
- Ошибка аутентификации: su медленнее, чем sudo
- Могу ли я ограничить sudoer nopasswd каталогом?
- LS_COLORS как сохраняться после sudo su
- Разрешение Sudo yum запрещено Fedora 17
- Как заставить / dev / fd запускать сценарии оболочки в sudo safe?
One Solution collect form web for “Как сохранить пользовательский PS1 в режиме суперпользователя?”
Не используйте sudo su
. su
бессмысленно, поскольку вы уже стали root, используя sudo
.
sudo -Es
этого используйте sudo -Es
. Это сохранит среду. Однако есть улов. Поскольку оболочка запускается в интерактивном режиме, она отправляется в исходный ~/.bashrc
, который предположительно перезагружает $PS1
. Однако $HOME
сохранен, поэтому bash собирается использовать ваш домашний каталог при поиске .bashrc
, а не в корневом доме. Таким образом, ваш профиль будет использоваться.
Однако у этого есть одна возможная проблема. Как уже упоминалось, $HOME
устанавливается в дом вашего пользователя, поэтому любые команды, которые создают файлы в $HOME/
будут создавать их как root. Хотя это не имеет значения, если файлы уже существуют и просто перезаписаны.
Если вы действительно хотите сохранить $PS1
, вы можете сделать это, но это не так чисто:
sudo -E bash --norc
или
sudo PS1="$PS1" bash --norc
Основным недостатком этого является то, что этот метод явно использует bash
в качестве оболочки, а --norc
является параметром bash. Вышеупомянутый метод sudo -Es
будет использовать любое значение, установленное для $SHELL
, что имеет значение, если вы не используете bash
.
Также при использовании метода -E
вам необходимо убедиться, что $PS1
экспортирован.
- Почему в vim первый операнд в движении (m) 1 и последний операнд 0?
- Как заменить «&» на «& amp;», за исключением того, что уже является частью XML-объекта?