本サイトはサイト運営費捻出のため、アフィリエイト広告を利用しています。*詳細
WSL2のDebianでsudo使えなくなったから何とかした話

WSL2のDebianでsudo使えなくなったから何とかした話

スポンサーリンク

普段技術同人を執筆する際は、WSL2のDebian上にRe:Viewを突っ込んで執筆しています。

そんな中ちょっとスタイルファイルを追加したいなぁと思って、wgetをaptで引っ張ってこようとした際に、sudo apt install wgetを叩いたところ下記のようなエラーメッセージが出て動かなくなってしまいました。

sudo: /usr/bin/​sudo must be owned by uid 0 and have the setuid bit set.

特に何か大きく環境を弄ったわけでもない中で、sudoがいきなり使えなくなって困ったなぁ・・・という状況に陥ってしまいました。締め切り直前に。

何かのはずみにパーミッションが腐ったのかなぁと思いながら、解決策を調べていたところ下記のIssueにたどり着きました。

Last night I installed nodejs and did a sudo chown -R $(whoami) $(npm config get…
github.com
1 - on an elevated CMD change default user to root:
ubuntu1804.exe config --default-user root

2 - open bash (zsh in my case) and change ownership:
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

3 - on an elevated CMD change default user back to my username
ubuntu1804.exe config --default-user [my_username]

このIssueの中にあった解決策試せばいけるんじゃない?と試したところ無事に動いてくれてホッと一息。

今回僕はDebianを利用していて、普段利用しているユーザアカウントは「syobon」でしたので、下記のように実行してみました。

PS C:\WINDOWS\system32>debian config --default-user root
PS C:\WINDOWS\system32>debian
------------------------------------------------------------
#これでdebianをrootユーザで開けられるようになります。

kongo# whoami
root
kongo# chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
------------------------------------------------------------
#これでパーミッションの修正が完了するので、確認してみます。
kongo# su syobon
syobon@kongo> whoami
syobon
syobon@kongo> sudo apt search wget
[sudo] password for syobon:
Sorting... Done
Full Text Search... Done
以下略
------------------------------------------------------------
#修正が完了した物の、default-userをrootに指定しているので、下記コマンドを
#PowerShellで実行してdefault-userを元に戻します。
PS C:\WINDOWS\system32>debian config --default-user syobon

目次

おわりに

技術書典11の新刊執筆が終わったので、ぼちぼちブログ更新を再開しています。

執筆カロリーが低めのTips記事を増やしつつ、たまに少し重たい記事を更新できればなぁと思います。