😎

-bash: sudo: コマンドが見つかりません

2023/12/21に公開

はじめに

take64です。

sudoコマンドを打つと以下のエラーが出てしまったので、解決策をメモしておきます。

$ sudo docker version

-bash: sudo: コマンドが見つかりません

例えば dockerのコマンドですがこのようなエラーが出てしまいました。

筆者環境

  • debian 12.2

そもそもインストールされていない

当たり前のように sudoコマンドを発行していた方は、Linuxインストールしたら普通に入っているという認識かもしれませんが、
入ってない場合もありますので、インストールが必要です。

rootになる

$ su - root

パスワードを入れてrootになります。

aptで検索する

# apt search sudo

結果の中に以下の行を見つけることができると思います。

sudo/stable 1.9.13p3-1+deb12u1 arm64
  Provide limited super user privileges to specific users

インストールする

# apt install sudo

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  sudo
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1826 kB of archives.
After this operation, 6511 kB of additional disk space will be used.
Get:1 http://ftp.riken.jp/Linux/debian/debian bookworm/main arm64 sudo arm64 1.9.13p3-1+deb12u1 [1826 kB]
Fetched 1826 kB in 0s (3901 kB/s)
Selecting previously unselected package sudo.
(Reading database ... 35618 files and directories currently installed.)
Preparing to unpack .../sudo_1.9.13p3-1+deb12u1_arm64.deb ...
Unpacking sudo (1.9.13p3-1+deb12u1) ...
Setting up sudo (1.9.13p3-1+deb12u1) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+deb12u3) ...

使用できるか確認

rootを抜けて、一般ユーザーでsudoコマンドが打てるか確認する

$ sudo docker version

[sudo] take64 のパスワード:
take64 は sudoers ファイルにありません。

sudoersへの追加も必要です。

ユーザーへsudoアクセス権限を付与する

ユーザーをsudoグループに追加します。

# adduser {ここにユーザー名} sudo

# adduser take64 sudo
Adding user `take64' to group `sudo' ...
Done.

ターミナルに入り直す

sudoを使いたいユーザーでLinuxにログインし、rootになり、rootから出ても、「sudoを使いたいユーザー」で、sudoは使えない。

一旦ログアウトして、ログインし直すことで初期化されて権限が適用されている。

$ sudo docker version
Client: Docker Engine - Community
 Version:           24.0.7
 API version:       1.43
 Go version:        go1.20.10
 Git commit:        afdd53b
 Built:             Thu Oct 26 09:08:15 2023
 OS/Arch:           linux/arm64
 Context:           default

...(省略)...

OK!

Discussion