GNU/Linux >> Linux の 問題 >  >> Linux

Sudoコマンドを使用してファイルを作成した場合、ファイルの所有者は誰ですか?

ユーザー名ravbholuaを使用してログインしました :

[メール保護]:〜$ echo $ LOGNAME
ravbholua

a1という名前のファイルを作成します :

[email protected]:~$ echo>a1
[email protected]:~$ ll a1
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct  8 09:57 a1

予想通り、上記のファイルには私が含まれています(ravbholua )所有者として。

次に、echoでsudoを使用してa2を作成します コマンド:

[email protected]:~$ sudo echo>a2
[email protected]:~$ ll a2
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct  8 09:57 a2

所有者は私だけです。つまり、ravbholua

ここで、sudoを使用してa3を再度作成しますが、vim コマンド:

[email protected]:~$ sudo vim a3
[email protected]:~$ ll a3
-rw-r--r-- 1 root root 10 Oct  8 09:57 a3

おー!どうして所有者が今変わるのか。それは私ではなくルートです。
なぜechoでそのようなバリエーションがあるのですか およびvim
コマンドの変更で驚いた 作成したファイルの所有者はどのように変更できますか。

承認された回答:

2番目の例はechoを実行します sudoの下 、ただしリダイレクト 元のシェルの下で発生します。

sudo bash -c "echo > a4"

Linux
  1. LinuxコマンドラインからのGoogleドライブの使用

  2. Ubuntu20.04システムのコマンドラインを使用してUbuntuにファイルをダウンロードする

  3. Linuxのコマンドラインを使用してファイルを作成する

  1. Linux でコマンドラインを使用して任意のファイルをダウンロードするための 4 つのツール

  2. 出力をファイルに追加する方法は?

  3. sudo の使用時にコマンドが見つからない

  1. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  2. Duコマンドで–excludeを使用しますか?

  3. chown を使用してディレクトリのグループ所有者を変更することは許可されていません....なぜですか?