将 bin 目录添加到我的路径中,无法使用“sudo 命令”执行其中的命令

Car*_*ito 7 root path bashrc

bin在我的主文件夹中创建了一个目录,用于放置所有脚本。然后在我的 .bashrc 中我添加了以下内容:

export PATH=$PATH:/home/myusername/bin
Run Code Online (Sandbox Code Playgroud)

所以我可以从任何地方访问我放在那里的文件。但是有些脚本需要以 root 身份执行。所以我想,我可以将我的 .bashrc 符号链接为 root,(如 /root/.bashrc 指向 /home/myusername/.bashrc,不知道这是否聪明)所以当我需要以 root 身份运行脚本时我只能这样做:

sudo program_that_requires_root
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个:

sudo: program_that_requires_root: command not found
Run Code Online (Sandbox Code Playgroud)

如果我以 root 身份登录并执行该程序,它可以正常工作。那么完成我想要的正确方法是什么?

小智 5

您必须确保 sudoers 文件中存在这两行。

Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
Run Code Online (Sandbox Code Playgroud)

请参阅这些 URL 以了解更多详细信息: