Как мне войти в систему как root и изменить приглашение?

Как мне войти в систему как root и изменить приглашение?

Я использую ubuntu-10.04 и bash. Я хочу войти в root и изменить приглашение на подчеркнутые красные символы, чтобы отразить, что я в root. В приглашении bash, если я введу:

$ sudo bash

затем я захожу в root, однако мой запрос не меняется. В /root/.bashrcу меня есть:

RED="\[\033[0;31m\]"
UNDERLINE="\[\033[4m\]"
DEFAULT="\[\033[0m\]"
export PS1=$RED$UNDERLINE'\u@\h:\w\$'$DEFAULT' '

Однако этот файл не читается. Чтобы его прочитать, мне нужно ввести в командной строке:

# . /root/.bashrc

чего я не хочу делать. Как мне настроить его так, чтобы при входе в root /root/.bashrcон запускался автоматически?

решение1

  • Во-первых, является ли sudo rootкоманда действительной? ( sudo -sили sudo -iбыла бы таковой.)

  • Я предпочитаю редактировать свойсобственный .bashrcвместо root. Например, можно иметь

    if (( $UID == 0 )); then
        PS1="$RED$UNDERLINE"
    else
        PS1="$GREEN"
    fi
    PS1="$PS1\u@\h:\w\$$DEFAULT "
    
  • Вы можете использовать его sudo -i, чтобы заставить читать файлы конфигурации root вместо ваших.

решение2

Похоже, что sudo настроен на использование переменных среды исходного пользователя, а не новых.

Либо вы устанавливаете, env_reset and env_keep options in /etc/sudoersлибо явно сбрасываете переменные среды до значений целевого пользователя с помощью -H: sudo -H -u root

Связанный контент