Внедрение sudo su с псевдонимами

Внедрение sudo su с псевдонимами

Мне интересно, есть ли способ внедрить псевдоним при переключении на профиль root с помощью sudo.

Я имею в виду следующее:

sshLogin@linuxVM /home/sshLoginUser/> sudo su -x "alias goHome='cd /home/sshLoginUser/'"
root@linuxVM /home/OtherDir/> goHome
root@linuxVM /home/sshLoginUser/>

Я использую виртуальную машину в облаке для настройки и запуска некоторых операций и хочу со временем добавить больше псевдонимов для повторяющихся задач.

В идеале я хотел бы sudo suсоздать sourceфайл, содержащий мою коллекцию псевдонимов и функций.

решение1

Важно понимать, что это sudoне расширение оболочки; это запуск команды. Вероятно, есть два решения для того, что вы хотели бы сделать, каждое со своими преимуществами/недостатками:

1 alias hop='sudo id': пусть будет sudoчастью псевдонима или

2 sudo -s(без команды), который запускает интерактивную оболочку и считывает /root/.bashrc.

решение2

[tom@alarm ~]$ sudo -i
[root@alarm ~]# tail -n 1 .bashrc
alias goHome="cd /home/$SUDO_USER"
[root@alarm ~]# goHome
[root@alarm tom]# pwd
/home/tom
[root@alarm tom]#

Если "встроенных" переменных окружения недостаточно для ваших случаев, вы также можете заставить sudo сохранить некоторые пользовательские. Например:

CERTAINFILE="/home/$USER/different_name" sudo -i --preserve-env=CERTAINFILE

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