はじめに
かなり前の話ですが、Chromebook で開発環境を整える際に Homebrew を入れようとして、sudo のパスワードがわからないという問題に直面しました。
「セットアップ時に PC のログインパスワードと同期されているだろう」と勝手に思い込んでいたため、ここで派手に躓いてしまい、かなり焦ったのを覚えています。
Linux の環境は Chromebook が公式に用意しているものをそのまま使っているだけ1でしたが、「まさか環境を壊したのでは?」と疑うことすらありました。
対処法
結論から言うと、下記のコマンドで パスワードを再設定するだけ で解決しました。
sudo passwd <username>
当時の私は、パスワードの変更には sudo 権限が必要で、しかし、 sudo が使えないなら詰んでいると考えていたのですが、実際には問題なくパスワードを再設定できました。
思い込みって怖いですね。
勝手に「訳のわからんパスワードを勝手に設定しやがって...」と思っていたのが恥ずかしいです。
当たり前なことですが、 passwd コマンドは本来、すでに設定されているパスワードを要求して実行されるものです。
もし今回のように新規設定ができたとしても、再設定時には当然パスワードが必要になります。
原因 (なお未解決)
Chromebook の Linux では、初期状態で Linux ユーザーにパスワードが設定されていない場合2があります。
つまり、空のパスワードか、パスワードなしで始まることがあるということです。
そのため、基本的な sudo ではパスワード入力が不要になるようです。3
それならば、なぜ Homebrew ではパスワードを要求されたのでしょうか?
調べてみたのですがわからなかったので有識者の方はコメントで教えていただけるとありがたいです。
おわりに
今回の件は非常に簡単な対処で済んだのですが、焦りすぎたせいで解決に1日もかかってしまいました。
少なくともこんな単純なことで1日も消費するのは勿体なさすぎる...
ということで、調べる際は冷静になってから調べるようにしようと学んだ話でした。
最後までお読みいただきありがとうございました。