ubuntuをスリープから起こしたら、ターミナルの色のついた文字だけが表示されていない状態でした。 ターミナル再起動してもシェルを変えても治らないので、PCを再起動して直したんですが、そしたら今後はsudoが使えないという...
Ubuntuはデフォルトでsuが使えないようなので、管理者権限で実行する手段がなくなります。
環境
- Ubuntu16.04
事象
$ sudo ls [sudo] dorapon のパスワード: dorapon は sudoers ファイル内にありません。この事象は記録・報告されます。 $ su パスワード: su: 認証失敗
解決方法
How to Fix "Username is not in the sudoers file. This incident will be reported" in Ubuntu
こちらのサイトにまさに求めていた答えが書いてありました。 単純にsudoersファイルが壊れてしまったようですね。 Ubuntuをリカバリモードで起動して、ユーザにsudo権限を与えます。
以下は上記のサイトの手順に沿って進めます。 画像は上記のサイトから拝借致しました。
PCを再起動してブート画面でAdvanced options for Ubuntuを選びます。ブート画面へは起動中にShiftキー長押しでいけます。
recovery modeを選びます。自分のときはバージョン違いで2つあったんですが、新しい方のバージョンでやりました。
Recovery menuでrootを選びます。ここからシェルモードに移ります。
Press Enter for maintenance
と出るのでEnter押します。
参考サイトではいくつか方法を示されていましたが、コマンド打つだけの簡単な方法を実行しました。usernameには存在する自身のユーザ名を入れてください。
# mount -o rw,remount / # adduser username sudo # exit
resume -> OKと進み、再起動すると無事sudoが使えるようになっています。
🎉🎉