私は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
一緒に使用したりしても、標準ユーザーであると思われる場合は、行全体を直接コメントアウトできます。$PATH
sudo [command]