追加読書

追加読書

次のように、atコマンドを使用してコンピュータのシャットダウンをスケジュールしようとしています。

echo "systemctl poweroff" | at -M now +1 minute

または次のようになります。

echo "sudo systemctl poweroff" | at -M now +1 minute

しかし、何も起こりませんでした。なぜ?

atd実行したら、次のコマンドが正しく機能していることを確認するだけです。

echo "echo Hello 2>&1 > /home/<user_name>/at-test.txt" | at -M now +1 minute

予約済みの閉鎖を使用することが可能であることを知っていますshutdown -P TIME。しかし、他の選択肢を指摘するのではなく、まず私の質問に答えてください。それでは、私が何を間違っているのでしょうか?

答え1

ポリシーツールキットは、ログインしたセッションのコンテキストshutdownで実行されているルールに適用するのとは異なる操作で、非ログインセッション(別名のプログラム)のコンテキストで実行されるルールにルールを適用できます。poweroffsystemctlatshutdown

sudoこのプディングには卵が多すぎて、不必要に複雑さが追加されました。システムはすでに権限のないユーザーと、どのコンテキストでシャットダウンを正常にトリガーできるかを決定するルールを適用します。sudo追加メカニズムの追加最も重要なことこれは単にアクセスルールセットの数を2倍にし、問題を診断するときに考慮する必要がある可能性のあるシナリオの数を増やします。

追加読書

関連情報