Einfügen von sudo su mit Aliasnamen

Einfügen von sudo su mit Aliasnamen

Ich frage mich, ob es eine Möglichkeit gibt, einen Alias ​​einzufügen, wenn Sie mit sudo zum Root-Profil wechseln.

Ich denke dabei an Folgendes:

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

Ich verwende eine VM-Box in der Cloud, um einige Vorgänge einzurichten und auszuführen, und möchte eventuell weitere Aliase für sich wiederholende Aufgaben hinzufügen.

Idealerweise möchte ich eine Datei sudo suerstellen source, die meine Sammlung von Aliasnamen und Funktionen enthält.

Antwort1

Es ist wichtig zu verstehen, dass dies sudokeine Shell-Erweiterung durchführt; es führt einen Befehl aus. Es gibt wahrscheinlich zwei Lösungen für das, was Sie tun möchten, jede mit ihren eigenen Vor-/Nachteilen:

1 alias hop='sudo id': lass das sudoTeil des Alias ​​sein oder

2 sudo -s(ohne Befehl), wodurch eine interaktive Shell gestartet und gelesen wird /root/.bashrc.

Antwort2

[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]#

Wenn die „integrierten“ Umgebungsvariablen für Ihren Fall nicht ausreichen, können Sie sudo auch so einrichten, dass einige benutzerdefinierte Variablen beibehalten werden. Beispiel:

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

verwandte Informationen