我有一种感觉setuid
,nosuid
安装选项、sudo
和su
都与它们的名称相关。
但他们之间的关系如何呢?
其中一些是结合使用的吗?
如果不是,那为什么他们的名字如此相似?
答案1
设定值:(执行时设置用户ID)是Unix/Linux访问权限标志允许用户以可执行文件所有者的权限运行可执行文件。对于需要比普通用户更高权限的任务(例如更改登录密码),需要它。
苏伊德: (保存的用户 ID) 当以提升的权限运行的程序需要临时执行某些操作时使用无特权的工作。它将其有效用户 ID 从特权值(通常是 root)更改为某个非特权值。
诺苏伊德。当挂载使用此选项时,文件系统不允许设置用户标识符(设定值) 或集合组标识符 (设置gid)位生效。
须藤: 执行命令为另一个用户但前提是原始用户允许去做吧。 (必须事先在 /etc/sudoers 中允许该用户)。它要求用户提供自己的密码,从而可以授权用户执行只允许 root 执行的任务,而不会泄露 root 的密码。
苏:此命令允许用户以另一个用户身份运行(新的)shell/程序。 su 最常见的用法是成为根。它要求您输入您想要成为的用户的密码,因此只有知道该密码,它才会接受用户替换。
答案2
“设置用户ID”是一项重要的权限功能。sudo
并且su
(以及许多其他程序,包括mount
)需要此功能才能工作;有些程序在没有此功能的情况下部分工作(如mount
),其他程序(如sudo
和su
)根本不工作。该功能与文件有关。文件仅存在于文件系统中。nosuid
对文件系统中的所有文件禁用此功能(这对于可移动媒体尤其有意义)。