起動スクリプトに対する自動sudo権限

起動スクリプトに対する自動sudo権限

起動時にスクリプトを実行する必要がありますが、これはフォルダで実行する必要があることを知っていますinit.d。このスクリプトにはsudo権限が必要で、正常に実行されたときにユーザーにsudoパスワードを入力するように求められます。

sudo権限が自動的に付与された状態で起動スクリプトを実行できますか?ユーザーにパスワードのないアクセス権を付与する必要がありますかsudo?理想的には、ユーザーの対話なしで実行したいと思います。

ベストアンサー1

通常、システムはデフォルトでフルルートアクセス権で起動スクリプトを実行するため、何もする必要はありません。

スクリプトの場所は、initシステムで使用されるパッケージによって異なります。

/etc/init.dクラシックSysVinitでは、起動スクリプトは通常、スクリプトが実行する必要がある実行レベルを示す開始/終了シーケンス内の場所を示すディレクトリに生成されたシンボリックリンクを含むディレクトリにあります。 (ランレベルは「システム全体の状態」です。RedHatスタイルシステムでは、デフォルトのランレベルはGUIログインが有効な場合は5、そうでない場合は3です。Debianスタイルシステムでは通常3です。)/etc/rc<number>.d/<number>

シンボリックリンクを更新するのは/etc/rc<number>.d/面倒なので、通常これを行うツールがあります。最も一般的なツールは次のとおりですchkconfig。スクリプトの先頭に特別な形式のコメントを入れる必要があります(man chkconfig展開の詳細を参照)。その後、スクリプトを挿入して/etc/init.d実行できますsudo chkconfig --add <your script name>

システムがSysVinitupstartまたは他のSysVinitの新しい選択肢を使用している場合は、SysVinit準拠のsystemdシステムが含まれる可能性があるため、上記のガイドラインは引き続き適用される可能性がありますが、SysVinitは廃止され、適切ではないと見なされるため、新しい方法を学ぶことも検討する必要があります。最新のマルチコアシステムは最善の選択ではありません。

おすすめ記事