如何使 root 用户可以访问脚本?

dhp*_*904 1 permissions bash root sudo scripts

普通用户可以运行这个脚本,但是 root 找不到它。

我有一个简单的脚本,保存在~/bin. 我更新了.profile文件以将此文件夹包含在 PATH 中。我可以进入终端,在任何目录中工作,输入脚本的名称,它运行良好。但是如果在那个终端中我切换到 root,则找不到脚本。我假设某处有一些文件需要新的 $PATH 更新,但我不知道是哪一个。

Ian*_*anC 6

如果您正在使用sudo,这可能是这种情况,有一个安全策略将 $PATH 环境变量修改为安全路径(在文件/etc/sudoers 中定义)。在〜/ bin中目录中不包括默认secure_path在设定的sudoers文件,因此运行sudo script是行不通的,但sudo ~/bin/script会。

您可以将脚本放在sudoers配置文件(即/usr/local/bin)中定义的文件夹之一中,使其可直接访问。该secure_path也可以在配置文件中的变化,虽然它不推荐使用。