GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wer ist der Dateieigentümer, wenn die Datei mit dem Sudo-Befehl erstellt wird?

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"

Linux
  1. So extrahieren Sie die tar.gz-Datei in Linux mithilfe der Befehlszeile

  2. Verwenden von Google Drive über die Linux-Befehlszeile

  3. Verwenden des mkfs-Befehls in Linux zum Formatieren des Dateisystems auf einer Festplatte oder Partition

  4. Erstellen Sie Dateien mithilfe der Befehlszeile in Linux

  5. 4 Tools zum Herunterladen einer beliebigen Datei über die Befehlszeile in Linux

Verwenden des kostenlosen Linux-Befehls

So verwenden Sie Sudo und die Sudoers-Datei

Verwenden der SSH-Konfigurationsdatei

So laden Sie eine Datei auf Ubuntu über die Befehlszeile herunter

So löschen Sie eine Festplatte und Datei sicher mit dem Linux-Befehl shred

Tutorial zur Verwendung des Timeout-Befehls unter Linux