管理者がsudoersを編集することは非常に一般的です ファイルを作成し、ユーザーが管理コマンドを実行できるようにします。しかし、エラーが発生した場合はどうなりますか? sudo コマンドは失敗しますね?これは、UbuntuマシンにOpenStackをインストールするときに行ったことです。さて、これが sudoersを間違えた後に見たものです ファイル。
#openstack@devstack:~$ sudo -s >>> /etc/sudoers.d/50_stack_sh: syntax error near line 1 <<< >>> /etc/sudoers.d/50_stack_sh: syntax error near line 2 <<< >>> /etc/sudoers.d/50_stack_sh: syntax error near line 3 <<< sudo: parse error in /etc/sudoers.d/50_stack_sh near line 2 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin
上記のエラーは、1、2、3行目に構文エラーがあることを明確に示しています。この混乱に加えて、rootパスワードを覚えていませんでした。どれくらい怖いですか?もちろんそうですが、回避策は次のとおりです。
pkexecコマンドを使用してsudoersファイルのエラーを修正
解決策 :最新のUbuntuシステムと他の多くのLinuxディストリビューションにより、 sudoersのエラーを簡単に修正できます。 ファイル。 rootとしてプログラムを実行する権限があると仮定して、以下のコマンドを実行し、パスワードを入力します。コマンドpkexec visudoと一緒に rootとして実行され、 sudoersを編集できるようになります ファイル。
openstack@openstack-devstack:~$ pkexec visudo -f /etc/sudoers
私の場合、 /etc/sudoers.d/50_stack_sh ファイルの1、2、3行目に構文エラーがありました。エラーを修正するコマンドは次のとおりです。
openstack@openstack-devstack:~$ pkexec visudo -f /etc/sudoers.d/50_stack_sh ==== AUTHENTICATING FOR org.freedesktop.policykit.exec === Authentication is needed to run `/usr/sbin/visudo' as the super user Authenticating as: openstack,,, (openstack) Password:
OpenStack Compute Error –ホストのコンピューティングノードレコードがありません[解決済み]
OpenStack VM起動エラー–最後の例外:ポートのバインドに失敗しました[解決済み]