0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure VM の sudo がいつの間にかパスワードを要求するようになってしまった

Posted at

しょーもないことで詰まってしまったメモ。

先にまとめ

Azure Linux エージェント (walinuxagent, waagent) 経由で VM ユーザのパスワードリセットをすると、sudo 実行時にパスワードを要求するようになるっぽい。

困ったこと

だいぶ前に Azure VM を作成した。

  • OS は Linux (Ubuntu 24.04)
  • 管理ユーザはデフォルトのまま (azureuser)
  • パスワードは指定せず、公開鍵認証で SSH ログインする設定
  • 作成当初、管理ユーザで SSH ログインした際にパスワードなしで sudo が使えた

しかし数カ月後にこの VM に SSH ログインすると、sudo 実行時にパスワードが要求されるようになってしまった。

azureuser@my-vm:~$ sudo ls
Password:

いや、パスワードなんて設定してないから知らんが...?

暫定対応

とりあえずパスワードを再設定することで sudo を使えるようにする。

これは Azure Portal で「接続 > パスワードまたはキーのリセット」からできた。

image.png

恒久対応

sudo が使えるようになったところで sudoers まわりの設定を眺めていると、なにかを発見。

azureuser@my-vm:~$ sudo grep -R "azureuser" /etc/sudoers /etc/sudoers.d/
/etc/sudoers.d/waagent:azureuser ALL = (ALL) ALL
/etc/sudoers.d/90-cloud-init-users:azureuser ALL=(ALL) NOPASSWD:ALL

waagent の設定ファイルが NOPASSWD:ALL を上書きしていたせいでパスワードが要求されるようになっていた模様。

waagent は Azure Linux エージェントのことで、Azure Portal からパスワードをリセットした際にこのファイルが作成されるっぽい。おそらく今回の対応以前に誰かがパスワードリセットをしており、そのときに作成されたのだと思われる。

というわけで、この設定を無効化する。

azureuser@my-vm:~$ sudo EDITOR=vim visudo -f /etc/sudoers.d/waagent

visudo でファイルを開いて、当該行をコメントアウト (#) したところ、無事パスワードなしで sudo が使えるようになった。

0
1
0

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
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?