在基于Linux的系统上有许多重复的功能,例如,它们做同样的事情:
sudo --login --user <user>
sudo su - <user>sudo-only方法看起来更优雅。没有su,一个人能不破坏太多的东西吗?
发布于 2014-06-06 14:56:24
如果我没有错的话,su和sudo之间有一些细微的区别:
su只允许更改用户id (例如,成为超级用户)。su允许任何知道另一个用户的密码的用户成为该用户,并且无法控制这一点。sudo允许以另一个用户的身份运行命令(包括root用户)。sudo由/etc/sudoers文件控制。我认为sudo命令的最初目标是更好地控制谁可以使用根权限运行命令,谁不能运行。当您拥有多个管理员的系统时,sudo允许以root用户的身份运行命令,而不需要根密码,在我看来,这更安全。在许多发行版上,/etc/sudoers允许控制可以使用sudo的用户或组列表。
发布于 2014-06-06 09:59:17
在使用上,是的,sudo可以完全取代su。但是有很多使用su的脚本和程序,所以没有办法安全地删除它。许多Linux发行版没有预先安装sudo。在脚本中使用sudo将使其与这些系统不兼容。正如Jernej在他的评论中提到的,su是Posix标准的一部分。这意味着,当您编写脚本时,您应该能够相信,如果您使用su,您的脚本将在所有符合Posix的操作系统上运行。
这里是一个参考。
https://unix.stackexchange.com/questions/134812
复制相似问题