sudoで実行するとコマンドが見つかりません

sudoで実行するとコマンドが見つかりません

私はcentos7を使用しています。人形を設置しました。ユーザーとして書き込むとpuppet正しい出力が得られます。sudo puppet私が書いたらcommand not found

本当に奇妙なことは、これを実行しsudo su -てrootになってから書き込むと、puppet通常のユーザーとして実行したときに得られる通常の出力が出ることです。

[unu@centosmaster puppet]$ puppet
See 'puppet help' for help on available puppet subcommands
[unu@centosmaster puppet]$ sudo puppet
sudo: puppet: command not found
[unu@centosmaster puppet]$ sudo su -
Last login: Wed Sep 19 08:41:20 EDT 2018 on pts/0
[root@centosmaster ~]# puppet
See 'puppet help' for help on available puppet subcommands

これは私に全く意味がありません...

この$PATH変数は、root ユーザーと一般ユーザーの両方で同じです。

ベストアンサー1

~によるとこの問題スーパーユーザーサイトでは、CentOSは環境を一般的なデフォルト値にまとめます。

これがいくつかのコマンドがで動作しない理由ですsudo

次のオプションをチェックイン/etc/sudoers(!!で編集)する必要があるようです。visudo

Defaults env_reset 
Defaults env_keep += "SOME_VARIABLE_NAME" # There should be one or more of these

この行は:

Defaults    secure_path = "some path"

$PATH予想されるものとは明らかに、他の所定のユーザーを介してユーザーにのみアクセスしてください。

必要に応じて変更したり、secure_path一緒に使用したりしても、標準ユーザーであると思われる場合は、行全体を直接コメントアウトできます。$PATHsudo [command]

おすすめ記事