Ich habe mich mit meinem Benutzernamen ravbholua
angemeldet :
[email protected]:~$ echo $LOGNAME
ravbholua
Ich erstelle eine Datei mit dem Namen a1
:
[email protected]:~$ echo>a1
[email protected]:~$ ll a1
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct 8 09:57 a1
Wie erwartet hat mich die obige Datei (ravbholua
) als Besitzer.
Als nächstes erstelle ich a2 mit sudo mit echo
Befehl:
[email protected]:~$ sudo echo>a2
[email protected]:~$ ll a2
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct 8 09:57 a2
Der Besitzer bin nur ich, also ravbholua
.
Jetzt erstelle ich a3 wieder mit sudo, aber mit vim
Befehl:
[email protected]:~$ sudo vim a3
[email protected]:~$ ll a3
-rw-r--r-- 1 root root 10 Oct 8 09:57 a3
Oh! wieso wechselt jetzt der besitzer Nicht ich, sondern root.
Warum diese Variation mit echo
und vim
!
Es ist eine Überraschung, dass mit Befehlswechsel wie kann sich der Besitzer der erstellten Datei ändern.
Akzeptierte Antwort:
Das zweite Beispiel führt echo
aus unter sudo
, aber die Umleitung geschieht unter der ursprünglichen Shell.
sudo bash -c "echo > a4"