Gibt es einen Unterschied zwischen „sudo su root“ und „sudo su - root“? Ich weiß, -
dass die Shell eine Login-Shell ist, aber welchen Unterschied macht das? Sind die Berechtigungen bei beiden unterschiedlich oder gibt es Änderungen an den Umgebungsvariablen?
Antwort1
Login-Shells werden ausgeführt ~/.profile
(oder das Shell-spezifische Äquivalent: .login
für *csh
, .bash_profile
, .zshprofile
, usw.). Ohne -
wird nur eine Shell-spezifische interaktive Konfiguration ausgeführt ( .cshrc
, .bashrc
, .zshenv
;Nichtsfür ash
oder Derivate davon, oder für ksh
es sei denn, $ENV
es ist richtig eingestelltUnd sudo
propagiert es). Beachten Sie auch, dass sudo
konfiguriert werden kann, wie es setzt $HOME
, was bestimmt, ob die Dotfiles des Zielkontos oder Ihre eigenen verwendet werden (Debian-Derivate verwenden erstere, OS X letztere standardmäßig) – aber die Verwendung su
zusammen damit überschreibt dies in allen Fällen für das Zielkonto.