#環境
・Ubuntu16.02
・さくらVPS
#状況
タイトルの通り、操作ミスにより管理者権限を持つユーザが皆無になってしまいました。sudo実行ができず、しまいにはsshでリモートアクセスもできなくなってしまい、頭が真っ白の状態です。
#操作ミスの内容
usermod -G sftp adminUser
のようなコマンドでuserのグループを上書きしてしまったことが原因です。
sudoグループの権限が上書き抹消されてしまい、adminUserのsudo権限が失われてしまいました。
#困ったこと
シングルユーザーモードで起動すれば、root権限でターミナルを実行できるわけですが、さくらVPSでシングルユーザーモードの起動方法が分かりませんでした。まずGRUBが立ち上がらないので、にっちもさっちもいかない状態が続きました。
なお、CentOSであればさくらの公式サイトで解説があるのですが、Ubuntuはデフォルトではないので、解説なしです。メールにて問い合わせをしましたが、自己責任であり、サポートはしかねます、、という回答でした(当然の対応です(泣))
#対処
##対処の手順
対処の手順としては以下の流れです。
1)GRUBを起動する
2)Advanced Option for Ubuntuを編集する
3)recovery mode
4)root権限でユーザー権限を変更
5)復活
以下、詳細
##1)GRUBを起動する
1-1)さくらVPSのコントロールパネルにアクセス。
1-2)強制再起動
1-3)以下2つのコンソールを両方立ち上げます。
①VNCコンソール(HTML5版)
②シリアルコンソール(β版)
1-4)VNCコンソールの方で、GUIから「再起動」。画面右上の設定からです。
1-5)再起動時にシリアルコンソールを見ていると、GRUBが立ち上がります。こちらで作業をします。(GRUBは一定時間経過すると消えてしまうので早めに下記2-3までの作業をする)
※もっと良い方法があるかもしれません。。。
##2)Advanced Option for Ubuntuを編集する
2-1)GRUBを立ち上げる
2-2)「Advanced Option for Ubuntu」にカーソルを合わせる
2-3)キーボードで「e」を押す
2-4)編集画面が現れるので「ro」と書いてある部分を全て「rw」に変更する(私の場合は計6箇所)
2-5)末尾に「linux single init=/bin/sh」を追記
2-6)「Ctrl + X」を押す
▼参考URL
Ubuntu10.04でシングルユーザーモードでログインする方法
##3)recovery mode
recovery modeを実行。
##4)root権限でユーザ権限を実行
4-1)recovery mode実行後は、VNCコンソールの方を見る
4-2)recovery modeでrootを選択
4-3)画面下部にroot権限でコンソールが立ち上がる
4-4)usermodかgpasswdでユーザーに権限を追加。
▼例
usermod -G adm,dialout,cdrom,plugdev,lpadmin,sudo,<userName>
※2-3〜2−5の作業をしない場合、この段階でエラーが発生します。エラー内容は、「cannot lock /etc/passwd; try again later.」で/etc/passwd/を編集できない状態です。これは、コンソールをreadonlyで起動していることが原因で、2-3〜2−5の処理で書き込み権限を付与しています。
4-4)その後再起動。
##5)該当ユーザでアクセスし、sudo実行できることを確かめる。復活!