我有一个脚本,其中一些命令需要作为 sudo 运行。我已经看到它断言在脚本中运行 sudo 是一个坏主意,最好将整个脚本作为 sudo 运行(然后可能为了方便而修改 sudoers,如此处所述)。
我已经考虑过了,实际上看不出有任何理由不在脚本中运行 sudo 命令。假设脚本及其目录都归 root 所有,因此是纯粹的,从安全的角度来看,我看不出任何区别。(即使是这样,以 sudo 身份运行整个脚本也同样危险)。我在这里错过了什么吗?
跑步sudo
是一个坏主意,因为你不知道会发生什么以及是否真的有必要:
会显示密码提示吗?如果是这样,谁来输入密码?请记住:您的脚本可能由人类在 shell 中运行,但也可以在启动时、由 cron 或在终端不可用的其他情况下在后台运行。
如果用户看到提示,是否会输入密码?就我个人而言,我会立即停止要求我输入密码的脚本。另外,如果您的脚本产生大量输出,我什至可能不会注意到提示。
是否sudo
可用并已配置?当前用户可以运行吗sudo
?其中一个问题的答案可能是“否”,在这种情况下,您应该让用户选择如何为您的脚本提供必要的权限。
您确定您需要成为超级用户吗?也许我配置了我的系统,以便您的脚本根本不需要 root 权限,在这种情况下sudo
完全没有必要,并且可能会非常令人不安。
请让我决定您需要哪些特权以及如何授予您这些特权。
sudo
如果您是 root 并且想放弃特权,那么运行可能是一个好主意。例如,您可以打开 root 拥有的文件,然后nobody:nogroup
出于安全原因立即切换到该文件。sudo
尽管如此,可能无法使用或可能无法配置的问题仍然存在。
归档时间: |
|
查看次数: |
1116 次 |
最近记录: |