LoginSignup
4

More than 5 years have passed since last update.

さくらVPS(Ubuntu16.02)で操作ミスにより管理者権限をもつユーザーが皆無になって詰みそうになった話

Last updated at Posted at 2017-03-21

環境

・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実行できることを確かめる。復活!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4