
Unixとシェルスクリプトの新機能、更新されたvisudo
username ALL=(ALL) NOPASSWDMDS : /path/name
これでsudo、visudoを編集したり、sudoコマンドを使用することはできません。
以前の状態にどのように戻ることができますか?
私が試したとき
visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied
私が試したとき
sudo
sudo: >>> /etc/sudoers: syntax error near line 62 <<<
sudo: parse error in /etc/sudoers near line 62
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
答え1
まず、あなたの質問に直接答えるには、@Tablemakerと@guillermochamorroが正しい方向に向かっています。可能なオプションは次のとおりです。
- ルートに対してキーベースのログインが有効になっている場合は、特権SSHキーでログインしてください。
- 管理者アカウントを介してログインし、
su
コマンドを使用してルートになります(現在のルートパスワードがわかっている場合)。 - 他の人に上記の操作のいずれかを実行するように依頼してください(その人が鍵またはパスワードを持っていて、あなたがいない場合)。
- ホストされた環境にいる場合、あなた(または他の人)がルートパスワードを既知のパスワードにリセットする方法がある可能性があるため、上記
su
のパスに従うことができます。
コンピュータに物理的にアクセスできる将来の読者のために、Live CDまたはUSBスティックから起動し(またはインフラストラクチャが利用可能な場合はPXE起動も可能です)、sudoersファイルを復元することもできます。
予防が治療よりも良いことを願っています。私は今行ったことがある将来の読者にこのメモを提供したいと思いました。 :)
あなたはチャンスがあるかもしれません避ける全くこの質問ですが無視しました。
visudo
ファイルを保存した後にファイルの構文を確認し、検出さsudoers
れた問題を警告するいくつかの実装:
$ sudo visudo
(edit file to add the line given in your example, then type ZZ to save & exit)
/usr/local/etc/sudoers.tmp: 36 lines, 773 characters
>>> /usr/local/etc/sudoers: syntax error near line 36 <<<
What now?
visudo
ここでファイルsudoers
の問題を検出し、それを処理する方法を尋ねることがわかります。プレスでは、Enter利用可能なオプションの簡単な概要を提供します。
Options are:
(e)dit sudoers file again
e(x)it without saving changes to sudoers file
(Q)uit and save changes to sudoers file (DANGER!)
What now?
明らかに、eファイルのエラーを修正するにはエディタに戻ります。保存後に構文警告が再び表示される場合は、x変更に必要な正しい構文を調べている間、sudoersファイルを変更しないでください。
このQオプションは非常に望ましくありません。危険!警告)、これが現在経験している状況が発生しました。sudo
インストールが正しく機能しません。