据我所知,似乎其他人也有相同的看法,这 sudo
是一个执行具有管理特权的命令的命令。
但是,当我运行时,rcconf
我可以看到以下行:
[*] sudo Provide limited super user privileges to specific users
那么,这项服务有什么意义呢?还是这甚至是一项服务?
据我所知,似乎其他人也有相同的看法,这 sudo
是一个执行具有管理特权的命令的命令。
但是,当我运行时,rcconf
我可以看到以下行:
[*] sudo Provide limited super user privileges to specific users
那么,这项服务有什么意义呢?还是这甚至是一项服务?
Answers:
在重新启动时撤消用户的“缓存”身份验证操作。它不是守护程序,只是在启动时运行的脚本。
通过检查/etc/init.d/sudo
“启动服务” 的初始化文件,您可以轻松地看到它在做什么:
case "$1" in
start)
# make sure privileges don't persist across reboots
if [ -d /var/lib/sudo ]
then
find /var/lib/sudo -exec touch -t 198501010000 '{}' \;
fi
;;
stop|reload|restart|force-reload)
;;
*)
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
因此,基本上,它只是/var/lib/sudo
在系统启动时触及一些文件,以使其具有很旧的修改时间戳。结果,在服务启动时(在启动时发生)撤销了“缓存的”授予的身份验证操作。
请提供有关/var/lib/sudo
目录和那些时间戳的更多详细信息?好吧,从以下地图来看sudo(8)
:
[...]
Once a user has been authenticated, a time stamp is updated and the
user may then use sudo without a password for a short period of time
(15 minutes unless overridden in sudoers).
[...]
Since time stamp files live in the file system, they can outlive a
user's login session. As a result, a user may be able to login, run a
command with sudo after authenticating, logout, login again, and run
sudo without authenticating so long as the time stamp file's
modification time is within 15 minutes (or whatever the timeout is set
to in sudoers).
[...]
/var/lib/sudo Directory containing time stamps
该sudo
服务文件存在以确保重新启动后不会保留要求的特权。基本上,它保证了重新引导后,需要root权限的普通用户将保留为普通用户。
关于sudo的详细说明
下面所有的解释是为所有阅读此问题的人提供所有信息,然后解释service文件夹中的sudo文件在做什么。
当您安装Ubuntu或任何其他发行版时,使用root和成为用来获得“ root like”特权(管理或超级用户特权)的用户sudo
的区别是:sudo
作为根
作为须藤
之所以创建SUDO,是因为过去使用root产生的问题多于解决方案。用户拥有所有的权利,这意味着,如果他们做了一些春天的清理和字面删除/usr
,/lib
和/bin
文件夹(因为他们认为他们没有需要他们)..猜会发生什么。过去的许多问题是因为用户不知道使用root时拥有的功能。基本上他们有root但不了解Linux,文件系统层次结构,重要的文件等等。(有点像是一辆法拉利,却不知道如何在高速公路上开车!)
当GUI应用程序(如Update Manager)需要临时管理特权才能执行某项操作时,SUDO也会使用它们。他们只需要特定数量的命令(通常为1),然后便可以返回用户级别特权。这是为了避免始终拥有root特权,并且避免在用户决定删除系统的某些重要部分时犯错误。
此外,由于默认情况下禁用了root用户,因此它提供了更好的安全性。
最后,如果您有一台台式PC或服务器,您确实不希望每个人都成为root用户,也不希望拥有所有管理员权限。如果您的小妹妹或小兄弟开始怀疑如果/boot
遇到DEL钥匙,将会发生什么,这是一个非常糟糕的主意。这是sudo
为了减少发生不良情况的机会。
一个或多个sudo用户实际上有一个配置文件,该文件告诉他们特定用户的sudo命令的限制或打开程度。该文件/etc/sudoers
具有限制或授予sudo用户访问权限的所有信息。默认情况下,它具有对所有内容的访问权限,但是您可以根据需要配置或限制它。
有关如何man sudoers
在终端中使用sudoers文件类型的信息。例如,正常格式为:
用户主机=命令
例如,cyrex server1 = /bin/ls
将授予主机server1中的用户cyrex访问运行ls命令的权限。
例如,cyrex server1 (root) = /bin/ls
将授予主机server1中的用户cyrex访问权,以root身份运行ls命令。
例如,cyrex ALL = /bin/ls
将给所有主机中的用户cyrex访问以运行ls命令。
例如,cyrex ALL = ALL
将使用户cyrex在所有主机中具有运行所有命令的权限。
例如,luis ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall
允许我以root身份为kill
and killall
命令运行sudo 而不要求输入密码。
!!
,但是该服务(不是命令)sudo
有什么作用?如果您可以更新答案以真正回答问题,那就太好了。