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

ターンキーlinuxredmineを使用してVMをセットアップし、サーバーにSSHで接続してさらにいくつかのアイテムをインストールしようとしています。

sudoコマンドを認識していないようです。何かをsudoしようとすると、次のようなエラーが表示されます。

 -bash: sudo: command not found 

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

 sudo: 

回答

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

コメント

回答

たぶんインストールされていませんか?パッケージマネージャーを開き、 sudo パッケージをインストールします。

コメント

  • 'がインストールされていません!ありがとう。私は' Linuxはかなり新しく、すべてのインストールにあると思っていました。 sudoパッケージまたはsudo-ldapも必要ですか?
  • sudo-ldapパッケージは必要ありません'。 Sudoは私のコンピューターで正常に動作し、' sudo-ldapがインストールされていません。

回答

最初に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 

うまくいけば..

コメント

  • その'が問題になる可能性はほとんどありません。 /usr/binはほぼ確実にデフォルトのパスになります。他の回答やコメントで示されているように、問題はsudoコマンドが'インストールされていないことです。

回答

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

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

$ which bettercap-ng

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

Iこの場所が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という名前を付けることもできます。

参照してください。ステップバイステップのソリューションについては、このビデオ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です