スクリプトを使用してヘッドレスシステムの電源を切る方法

スクリプトを使用してヘッドレスシステムの電源を切る方法

ヘッドレスコンピュータ(Ubuntu 14.04サーバー)が起動してユーザーとして実行されると自動的に起動するJavaアプリケーションがあります。アプリが完了したら、外部サーキットブレーカが動作して電源を切る予定であるため、電源を切るスクリプトを実行する必要があります。

次回の起動時にシャットダウンエラーが検出された場合は、停止を許可できません。

スクリプトを作成しようとすると、すべてスーパーユーザーのパスワードを要求します。マシンがインターネットから分離されているため、パスワードをスクリプトのテキストとして受け入れることができます。

私はbashやLinuxに精通していません。

スクリプト権限:

$ ls -la shutdown
-rwsr-xr-x 1 root root 209 Mar 18 16:55 shutdown

ベストアンサー1

これを行う方法はいくつかあります。最も簡単で最悪なのは、提案したようにスクリプトにパスワードを含めることです。コンピュータがインターネットに接続されていないため、ほとんどのセキュリティ質問には疑問があり、STDINでパスワードを渡すことを許可するsudoオプションがあります。-S

echo password | sudo -S shutdown -h now

より安全なアプローチは、特定のユーザーがshutdownパスワードなしでコマンドを実行できるようにすることです。まず、visudo編集sudoersファイルを実行し、次の行を追加します。

nate  ALL=NOPASSWD:/sbin/shutdown

これにより、ユーザーはパスワードを要求せずに実行できますnatesudo /sbin/shutdown

おすすめ記事