viはどのユーザーでコマンドを実行しますか?

viはどのユーザーでコマンドを実行しますか?

奇妙な質問かもしれませんが、よく聞いてください

ファイルがあるとしましょう。

-rwxr-w--- user3 user2 4095  somefile

今私はuser2シェルにいます(そうですか?)。 viエディタでこの「somefile」を実行すると、この一部のファイルがに属していると思います。したがって、vimでいくつかのコマンドラインを実行すると、シェルuser3になります。 Executeuser3コマンド?

答え1

いいえ、vimユーザーIDを設定しません(つまり、有効なユーザーIDを変更しません)。 vimでコマンドラインを実行すると、次のようなシェル(つまり単語)が表示されますuser2

ただし、このファイルを編集するには、次の手順を実行する必要があります。

  • ユーザーになるuser3
  • 所定の位置にあるグループ user2、単にuser2であるだけでは十分ではありません。

visudoを実行すると、rootとしてシェルを実行できるバグがRedhat 4.xにありました(またはそれでもそうです)。 visudoを実行するにはsudoersにいる準備ができている必要があるため、これはマイナーなバグです。

答え2

シェルにあるとは、としてuser2ログインしていることを意味し、oruser2コマンドが同じ内容を知らせることを意味します。whoamiecho $LOGNAME

端末で実行されるすべてのコマンドは、経由でログインしたユーザーによって実行されると見なされますsudo

ls参考のために、出力の列名は次のとおりです。これゲーム4その意味はGroup

PERMS       LINKS  OWNER     GROUP     SIZE     modMONTH  modDATE  modTIME  NAME
-rwx------  1      lg262728  lg262728  43457    Sep       20       2006     "cpufreq.c"

関連情報