回答:
Redmineのようにhttp://www.turnkeylinux.org/redmineから見えますが、Ubuntuとは異なり、デフォルトではsudoを使用しません。SSHに使用するユーザー名は何ですか?の場合、RedmineシステムにSSHで接続したときに行うことはすべてとして行わroot
れるためsudo
、使用する必要はありませんroot
。のような他の場合admin
は、su
コマンドを使用して、コマンドroot
を実行するシェルを取得してみてくださいroot
。
おそらくインストールされていませんか?パッケージマネージャーを開き、sudoパッケージをインストールします。
最初にルートアカウントにログインします。それから
$ apt-get install sudo
既存のユーザーをグループに追加します sudo
$ sudo adduser <user> sudo
次に、としてログインする必要があり<user>
、sudo
コマンドがあるはずです。
フルパスを使用してみてください
/usr/bin/sudo
そのコマンドが機能する場合は、〜/ .bashrcのenv変数PATHに/ usr / bin /を含めます
echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc
うまくいけば..
/usr/bin
ほぼ確実にデフォルトのパスになります。問題は、他の回答とコメントで示されているように、sudo
コマンドがまったくインストールされていないことです。
エラーが発生するのは、コマンドラインから呼び出そうとしているバイナリが現在のユーザーのPATH変数の一部であり、ルートユーザーのPATHの一部ではないためです。
これを確認するには、アクセスしようとしているバイナリのパスを見つけます。私の場合、「bettercap-ng」と呼ぼうとしていました。だから私は走った、
$ which bettercap-ng
output: /home/user/work/bin/bettercap
この場所がルートユーザーの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を置き換えることもできます。