/etc/rc.localで定義されたコマンドを実行するユーザーは誰ですか?


13

コマンドはデフォルトで/etc/rc.local実行さsuれますか?各コマンドの前
に特定sudoする必要がありsuますか、それとも関係なく実行されますか?

回答:


17

suではないユーザー、それのプログラム命令を実行する1つ以上、他のユーザの代替IDで後続のコマンド/プログラムを実行します。sudoその点で非常に似ています。

別のユーザーが指定されていない限り、両方のコマンドはデフォルトでrootユーザーの代替ID 、つまりスーパーユーザー/管理者の下でコマンドを実行します。

主な違いsuとはsudoその次のとおりです。

  • su その代替ユーザーのパスワードを知っている必要があります。
  • sudosudoコマンドを実行しているユーザーのパスワードを要求し、ユーザーが要求されたコマンド/プログラムを実行できるようにセットアップを要求します。

rootいずれsuかを実行する場合、またはsudoパスワードが不要な場合。)


どんなのinitスクリプトと同じように、/etc/rc.localスクリプトが実行されることにより、rootユーザー、あなたはどちらかの前に付ける必要はありませんsuか、sudo必要にrootとして実行することをコマンド/プログラムに。

これらのコマンドを別のユーザー/サービスアカウントとしてではなく実行する必要がある場合は、initスクリプトで、suまたはsudoinitスクリプトを使用する必要があります...root

su -oracle/do/something/as/oracle/user


rc.localにsu-user /path/to/script.shを入力した場合、どうすればよいですか。ソースを取得するときに、ユーザーパスワードの入力を求められます(その後、ターミナルを閉じます)。ユーザーのパスワードを要求しないようにするにはどうすればよいですか?
alonso s 2018

10

はい、すべてのスクリプトとプログラムはルートから直接呼び出されます。

この/etc/rc.localファイルは、initプロセスによって直接呼び出されます。


1
したがって、sudo前にコマンドを追加する必要はありませんでした/etc/rc.localか?
Benyamin Jafari
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.