我正在读剧本/etc/init.d/sudo
。它已被写为脚本中的注释为特定用户提供有限的超级用户权限。
不过,我无法理解该脚本是如何工作的?有人能给我解释一下剧本吗?
我使用的是 Ubuntu 14.04 32 位。
答案1
init 文件在系统启动时(或按需)运行,主要做两件事:
- 他们启动守护进程运行
- 它们执行各种每次启动一次的任务,例如清理或准备文件、设置网络参数等。
在这种情况下,sudo
init 脚本不会启动守护程序。相反,它会使系统上次关闭时可能留下的任何缓存的凭据文件失效。它通过使用touch
将修改时间设置为很久以前(0,即 1970 年 1 月 1 日)来实现此目的。
case "$1" in
start)
# make sure privileges don't persist across reboots
if [ -d /var/lib/sudo ]
then
find /var/lib/sudo -exec touch -d @0 '{}' \;
fi
;;
答案2
那里的脚本/etc/init.d
允许通过以下方式启动和停止服务系统和类似的初始化系统。它们具有特定的格式,并且是当您执行类似操作时实际调用的格式
service sudo stop
因此,您提到的脚本只是一个可以启动或停止sudo
服务的包装器。有关更多详细信息,我建议您阅读 Linux 初始化脚本。