sudo -s -H und Aliase

sudo -s -H und Aliase

Ich verwende häufig sudo -s -H, möchte aber nach der Ausführung Aliase haben. Wie geht das?

Erklärung: Ich melde mich beim Server als Benutzer1 an (der sich in sudoers befindet). Dieser Benutzer hat Aliase in .bash_aliases:

alias rm='rm -i'

jetzt führe ich aussudo -s -H

Und jetzt rmist kein Alias ​​vorhanden – es entfernt also Dateien ohne Aufforderung.

Wie kann man es ändern?

(ich sehe Beiträge mit alias sudo='sudo '- aber es funktioniert nur mit der Ausführung eines Befehls sudo command- nicht mitsudo -s -H

Antwort1

Sie müssen dieselben Aliase unter als Quelle angeben /root/.bashrc.

Sie können dies auf zwei Arten tun:

  1. Kopieren Sie /home/user1/.bash_aliaseses nach /root/.bash_aliasesund fügen Sie Folgendes hinzu /root/.bashrc:

    if [[ -f /root/.bash_aliases ]]
    then
      . /root/.bash_aliases
    fi
    
  2. Quelle der /home/user1/.bash_aliasesDatei /root/.bashrc:

     if [[ -f /home/user1/.bash_aliases ]]
     then
       . /home/user1/.bash_aliases
     fi
    

Welche Lösung Sie wählen, hängt von Ihren persönlichen Vorlieben ab. Ich verwende Option 2, weil ich möchte, dass root dieselben Aliase usw. hat wie mein normaler Benutzer, und ich es auf diese Weise nur an einer Stelle pflegen muss (Sie könnten auch einen symbolischen Link zu /home/user1/.bash_aliasesin erstellen /root, aber der Effekt wäre derselbe).

Wenn Sie Option 1 wählen, müssen Sie Ihre Aliase für beide separat pflegen user1. rootDies kann für Ihren Anwendungsfall geeignet sein, muss es aber nicht.

verwandte Informationen