命令以root身份运行但不以sudo身份运行


1

我目前正在CentOS 7上配置Samba 4 DC。

作为我自己,samba-tool运行良好,但当我跑,sudo samba-tool我得到command not found

samba-tool位于/usr/local/samba/bin。我已将目录添加到PATH中,供我自己和root用户使用。

就像我自己一样,env | ^PATH=正确包含上面的目录。但是,sudo env | ^PATH=仅显示PATH=/sbin:/bin:/usr/sbin:/usr/bin

现在切换到root用户。env | ^PATH=返回PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/samba/bin:/usr/local/samba/sbinsamba-tool运行得很好。

这是我的直觉,sudo完全反映了root用户,我猜不是这样。一个修复,希望解释得到高度赞赏。


尝试使用'su',然后在没有'sudo'的情况下执行命令。
TooMuchRAM

@ Thijs365我不明白,你的意思是切换到root并运行命令?我已经意识到这是行得通的。
奥利弗本宁

好的。你确定你安装了sudo吗?
TooMuchRAM

@ Thijs365是的。Sudo按照上面的env路径预期工作。
奥利弗本宁

好的。我不会再说什么了。
TooMuchRAM

Answers:


1

它可能是您在文件中定义的sudo用途,而不是根目录。检查,寻找选项。PATH/etc/sudoersPATHman 5 sudoerssecure_path

您还可以阅读
如何sudo保留$ PATH?

提示:用于visudo编辑/etc/sudoers。该工具可以进行一些健全性检查,并且可以避免由于编辑无效而丢失sudo访问权限的情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.