Wer ist der Dateieigentümer, wenn die Datei mit dem Befehl „sudo“ erstellt wird?

Wer ist der Dateieigentümer, wenn die Datei mit dem Befehl „sudo“ erstellt wird?

Ich habe mich mit meinem Benutzernamen angemeldet ravbholua:

ravbholua@ravbholua-Aspire-5315:~$ echo $LOGNAME ravbholua

Ich erstelle eine Datei mit dem Namen a1:

ravbholua@ravbholua-Aspire-5315:~$ echo>a1
ravbholua@ravbholua-Aspire-5315:~$ ll a1
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct  8 09:57 a1

Wie erwartet ist der Eigentümer der obigen Datei ich ( ravbholua).

Als nächstes erstelle ich a2 mit sudo mit echodem Befehl:

ravbholua@ravbholua-Aspire-5315:~$ sudo echo>a2
ravbholua@ravbholua-Aspire-5315:~$ ll a2
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct  8 09:57 a2

Der Eigentümer bin ausschließlich ich, d. h ravbholua.

Jetzt erstelle ich a3 erneut mit sudo, aber mit vimdem Befehl:

ravbholua@ravbholua-Aspire-5315:~$ sudo vim a3
ravbholua@ravbholua-Aspire-5315:~$ ll a3
-rw-r--r-- 1 root root 10 Oct  8 09:57 a3

Oh! wie kommt es, dass der Besitzer jetzt wechselt? Es bin nicht ich, sondern root. Warum so eine Variation mit echound vim! Es ist eine Überraschung, dass mitÄnderung der Befehlewie kann sich der Besitzer der erstellten Datei ändern.

Antwort1

Das zweite Beispiel läuft echounter sudo, aber dieUmleitunggeschieht unter der ursprünglichen Hülle.

sudo bash -c "echo > a4"

Antwort2

sudoist nur ein Befehl.

Also für Ihr erstes Beispiel: sudo echo>a2

sudoist der Befehl. Und solange die Umleitung gegen das Echo stößt, bedeutet das nichts.

Beispiel: echo cat /etc/passwd > /tmp/foo Sie erhalten nicht den Inhalt von /etc/passwd in /tmp/foo. Sie erhalten nur cat /etc/passwd. sudo ist nicht anders. Der Echo-Teil ist nur ein Argument für sudo. sudo verwendet ihn zwar, um Dinge auszuführen, aber die Shell weiß das nicht.

Dies ist einer der Punkte, in denen sich der Sudo-Zugriff stark von der Ausführung als Root unterscheidet.

In Ihrem Beispiel sudo vim a3wird sudo vim a3für Sie als Root ausgeführt. Und vim wird als Root ausgeführt, sodass die Datei Root gehört.

verwandte Informationen