私は buntu sudoersチュートリアル に従っています。
これが私の正確な/etc/sudoers
ファイル(フォーマットが台無しになっていたため、コードブロックではなくスクリーンショット)。
deployer
ユーザーにパワーオフおよび再起動機能を提供する必要がある行に注意してください。 sudoersファイルは構文的には問題なく、問題はありません。
Sshセッションを終了し、再度ログインしました。
$ whoami => deployer $ reboot => reboot: Need to be root
何が問題なのでしょうか?
いくつかの考え
使用している設定により、ユーザーはSudo reboot
パスワードを入力せずにを実行できます。ただし、常にSudo
を使用して実行する必要があります。特定のコマンドでは、パスワードなしのSudo
を取得するのが最善です。
これは、システムの動作方法によるものです。通常のユーザーとしてreboot
などを実行しようとすると、次のメッセージが表示されます。
$ reboot
reboot: must be superuser.
これはSudo
とは関係ありません。問題のコマンドは、ユーザーIDが1(スーパーユーザー)であるかどうかを確認し、そうでない場合は実行できません。 could userid 1として別のユーザーを持つようにシステムをセットアップしますが、それはroot
のユーザー名を変更するだけで、理由もなく多くのトラブルになります(そして、あなたがしようとしていることをするのを助けませんとにかく)。
そのため、ユーザーIDが1のユーザーとして実際にログインしない限り、alwaysを使用して、Sudo
を使用して特権コマンドを実行する必要があります。唯一の回避策は、シェルの構成ファイルにreboot
のエイリアス(または関数、またはスクリプト)を作成することです(たとえば、~/.bashrc
):
alias reboot='Sudo reboot'
そうすれば、_/etc/sudoers
でshutdown
をすでにパスワードなしに設定しているので、実行することができます。
$ reboot
希望する結果が得られます。