VM turnkey linux redmineを使用して設定しました。サーバーにSSHで接続して、さらにアイテムをインストールしようとしています。
Sudoコマンドを認識していないようです。 Sudoを実行しようとするたびに、エラーメッセージが表示されます。
-bash: Sudo: command not found
他の場所を読んで「whereis Sudo」と入力すると、出力は次のようになります。
Sudo:
それは http://www.turnkeylinux.org/redmine から見えます。Redmineのように、Ubuntuとは異なり、デフォルトではSudoを使用しません。 SSHで使用するユーザー名は何ですか? root
の場合、Sudo
を使用する必要はありません。RedmineシステムにSSHで接続するときに行うことはすべてroot
として行われるためです。それがadmin
のような別の場合は、su
コマンドを使用してroot
シェルを取得し、root
としてコマンドを実行できます。
おそらくインストールされていませんか?パッケージマネージャーを開き、Sudoパッケージをインストールします。
最初にrootアカウントにログインします。その後
$ apt-get install Sudo
既存のユーザーをグループSudo
に追加します
$ Sudo adduser <user> Sudo
次に<user>
としてログインし、Sudo
コマンドがそこにあるはずです。
フルパスを使用してみてください
/usr/bin/Sudo
そのコマンドが機能する場合は、〜/ .bashrcの環境変数PATHに/ usr/bin /を含めます
echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc
うまくいけばうまくいく.
コマンドラインから呼び出そうとしているバイナリが現在のユーザーの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を置き換えることもできます。
段階的な解決策については このビデオ を参照してください