web-dev-qa-db-ja.com

Bash Sudoコマンドが見つかりません

VM turnkey linux redmineを使用して設定しました。サーバーにSSHで接続して、さらにアイテムをインストールしようとしています。

Sudoコマンドを認識していないようです。 Sudoを実行しようとするたびに、エラーメッセージが表示されます。

 -bash: Sudo: command not found

他の場所を読んで「whereis Sudo」と入力すると、出力は次のようになります。

 Sudo:
38
Adam

それは http://www.turnkeylinux.org/redmine から見えます。Redmineのように、Ubuntuとは異なり、デフォルトではSudoを使用しません。 SSHで使用するユーザー名は何ですか? rootの場合、Sudoを使用する必要はありません。RedmineシステムにSSHで接続するときに行うことはすべてrootとして行われるためです。それがadminのような別の場合は、suコマンドを使用してrootシェルを取得し、rootとしてコマンドを実行できます。

22
Eliah Kagan

おそらくインストールされていませんか?パッケージマネージャーを開き、Sudoパッケージをインストールします。

42
Timo

最初にrootアカウントにログインします。その後

$ apt-get install Sudo

既存のユーザーをグループSudoに追加します

$ Sudo adduser <user> Sudo

次に<user>としてログインし、Sudoコマンドがそこにあるはずです。

7

フルパスを使用してみてください

/usr/bin/Sudo

そのコマンドが機能する場合は、〜/ .bashrcの環境変数PATHに/ usr/bin /を含めます

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc

うまくいけばうまくいく.

5
Imam Omar

コマンドラインから呼び出そうとしているバイナリが現在のユーザーのPATH変数の一部であり、rootユーザーのPATHの一部ではないため、エラーが発生します。

これは、アクセスしようとしているバイナリのパスを見つけることで確認できます。私の場合、「bettercap-ng」と呼んでいました。だから私は走った、

$ which bettercap-ng

output: /home/user/work/bin/bettercap

この場所がrootユーザーのPATHの一部であるかどうかを確認しました。

$ Sudo env | grep ^PATH

出力:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

そのため、Sudoは、コマンドラインから呼び出そうとしているバイナリーを見つけることができません。したがって、見つからないエラーコマンドを返します。

以下のようにバイナリを呼び出すときに、Sudoに現在のユーザーのPATHを使用するように指示できます。

$ Sudo -E env "PATH=$PATH" [command] [arguments]

実際、それからエイリアスを作ることができます:

$ alias mysudo='Sudo -E env "PATH=$PATH"'

エイリアス自体にSudoという名前を付けて、元のSudoを置き換えることもできます。

段階的な解決策については このビデオ を参照してください

2