Назад | Перейти на главную страницу

sudo получает пользовательский .bashrc без влияния на /root/.bashrc или / etc / bashrc

Есть ли способ заставить sudo использовать пользовательский .bashrc файл вместо корневого? Я хотел бы использовать свой .bashrc при использовании sudo вместо одного из root или /etc/bashrc (Мне пришлось бы заставить других пользователей использовать его).

Страница руководства не очень помогает, но я уверен, что есть способ сделать это.

Я не знаю, очень ли это хорошая идея, хотя могу представить, что это будет удобно: внутри вашей среды sudo у вас будет SUDO_USER в переменной окружения установлено имя пользователя, который вызвал sudo. Эту переменную можно использовать в вашем /root/.bashrc чтобы добиться того, чего вы хотите.

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

Я знаю, что это устарело, но на тот случай, если кто-то погулит и найдет его .... Настройте свой собственный .bashrc, как вам нравится (~ / .bashrc) Затем, когда вам нужно использовать sudo, сделайте это как ...

sudo -E команда

-E говорит суперпользователю сохранить текущую среду

В зависимости от того, что вы хотите сделать, может быть достаточно установить переменную среды в псевдониме для sudo. В моем случае я пытался установить другое приглашение, когда я использую sudo -s получить рут-оболочку. Следующий псевдоним в моем .bashrc похоже, отлично работает:

alias sudo="PS1='\[\e[0;31m\]\u@\h:\w\[\e[0m\]\\$ ' sudo "