ユーザー名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"