ヘッドレスコンピュータ(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
これにより、ユーザーはパスワードを要求せずに実行できますnate
。sudo /sbin/shutdown