GNU/Linux >> Linux の 問題 >  >> Linux

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

su コマンドを使用すると、root パスワードを知っているすべてのユーザーが「root を取得」し、root ユーザーができることは何でも実行できます。 「su – root」を使用するアカウントは、本質的にサーバー管理者です。これは、多くの場合、ユーザーに委任する必要があるよりもはるかに強力です。システム全体のルート権限を付与するのではなく、特定の機能をユーザーに委任することをお勧めします。

sudo コマンドを使用すると、サーバー管理者は、特定のユーザーにサーバー上での完全な権限を付与することなく、特定のコマンドを特定のユーザーに委任できます。委任は、visudo エディターを使用して /etc/sudoers ファイルで行われます。ユーザーとグループには、完全な管理者権限がなくても責任を果たすために実行する特定のコマンドが与えられる場合があります。

構文

sudo コマンドの構文は次のとおりです。

$ sudo [options] {command}

sudo コマンドの実行中に以下のエラーが発生した場合:

sudo: command not found

選択したディストリビューションに従って、以下に示すように sudo パッケージをインストールしてみてください。

分布 コマンド
Debian apt-get install sudo
Ubuntu apt-get install sudo
アルパイン apk add sudo
Arch Linux pacman -S sudo
カリ Linux apt-get install sudo
CentOS yum install sudo
Fedora dnf install sudo
Raspbian apt-get install sudo

sudo コマンドの例

1. スーパーユーザーとしてコマンドを実行します:

$ sudo less /var/log/syslog

2. デフォルトのエディターでスーパーユーザーとしてファイルを編集します:

$ sudo --edit /etc/fstab

3. 別のユーザーおよび/またはグループとしてコマンドを実行します:

$ sudo --user=user --group=group id -a

4. `sudo` で始まる最後のコマンドを繰り返します (`bash`、`zsh` などでのみ):

$ sudo !!

5. スーパーユーザー権限でデフォルト シェルを起動し、ログイン固有のファイル (`.profile`、`.bash_profile` など) を実行します。

$ sudo --login

6. 環境を変更せずに、スーパーユーザー権限でデフォルト シェルを起動します。

$ sudo --shell

7. 指定されたユーザーとしてデフォルト シェルを起動し、ユーザーの環境を読み込み、ログイン固有のファイル (`.profile`、`.bash_profile` など) を読み取ります。

$ sudo --login --user=user

8. 呼び出し元のユーザーに許可されている (および禁止されている) コマンドをリストします:

$ sudo --list

結論

何でもできるsudoプログラムはどのように正確に機能しますか?思ったより簡単です!次のコードを参照してください:

$ which sudo
/usr/bin/sudo
$ ls -l $(which sudo)
-rwsr-xr-x 1 root root 145040 Jun 13  2022 /usr/bin/sudo

バイナリ実行可能ファイル sudo は、実際には setuid-root プログラムであることに注意してください。考えてみてください。sudo を使用してプログラムを実行すると、sudo プロセスはすぐに root 権限で実行されます。パスワードも手間もかかりません。ただし、もちろん、セキュリティのために、ユーザーはパスワードを入力する必要があります。正しく入力すると、sudo は実行を継続し、必要なコマンドを root として実行します。ユーザーがパスワードを正しく入力できない場合 (通常は 3 回以内)、sudo は実行を中止します。


Linux
  1. 更新-代替コマンドが見つかりませんか?

  2. 須藤:コマンドが見つかりませんか?

  3. visudo:コマンドが見つかりません

  1. ifrename:コマンドが見つかりません

  2. sudoedit:コマンドが見つかりません

  3. ln:コマンドが見つかりません

  1. nc:コマンドが見つかりません

  2. サブスクリプション マネージャー:コマンドが見つかりません

  3. id:コマンドが見つかりません