web-dev-qa-db-ja.com

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

/etc/rc.localのコマンドは、デフォルトでsuによって実行されますか?
各コマンドの前にSudoを指定する必要がありますか、それともsuによって実行されますか?

13
S-K'

suserではありません別のユーザーの代替IDで後続のコマンド/プログラムを実行するのはprogramですコマンドを実行するものよりも。その点でSudoとよく似ています。

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

suSudoの主な違いは次のとおりです。

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

rootsuまたはSudoを実行する場合、パスワードは不要です。)


他のinitスクリプトと同様に、/etc/rc.localスクリプトはrootユーザーによって実行され、必要なコマンド/プログラムの前にsuまたはSudoを追加する必要はありませんルートとして実行します。

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

su -Oracle/do/something/as/Oracle/user

17
HBruijn

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

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

10
dmourati