su ユーザーではありません プログラムです コマンドを実行しているユーザーとは別のユーザーの別の ID で、後続のコマンド/プログラムを実行します。 sudo と非常によく似ています その点で。
別のユーザーが指定されていない限り、両方のコマンドはデフォルトで root の代替 ID でコマンドを実行します。 ユーザー、スーパーユーザー/管理者。
su の主な違い と sudo それは:
suその代替ユーザーのパスワードを知る必要があります。sudosudoを実行しているユーザーのパスワードを求めるプロンプトが表示されます ユーザーが要求されたコマンド/プログラムを実行できるように設定する必要があります。
(rootの場合 su のいずれかを実行します または sudo パスワードは不要です。)
他の init スクリプトと同様に、/etc/rc.local スクリプトは root によって実行されます su を前に付ける必要はありません。 または sudo ルートとして実行する必要があるコマンド/プログラムに。
su を使用する必要があるかもしれません または sudo これらのコマンドを実行する必要がある場合は、init スクリプトで not as root しかし、別のユーザー/サービス アカウント...
su - oracle /do/something/as/oracle/user
はい、すべてのスクリプトとプログラムは root によって直接呼び出されます。
/etc/rc.local ファイルは init プロセスによって直接呼び出されます。