“su”命令内部如何工作?

“su”命令内部如何工作?

我想了解该su命令的内部工作原理。

假设我做了以下事情:

su someUser

我认为将会发生以下情况:

  • su会询问我的密码someUser
  • su将对输入的密码进行哈希处理。
  • su会将输入的密码与文件中的密码进行比较 /etc/shadow,如果两个密码相同,则将su启动默认 shell someUser(存在于 /etc/passwd),并将su启动的 shell 的用户 ID 和组 ID 设置为该用户的 ID 和组 ID someUser

请注意,susetuid设置位,因此su将以 root 权限运行。

我对么?

答案1

su 在大多数 Linux 发行版中不执行任何密码操作。相反,它将 authn/authz 委托给聚丙烯酰胺并且只处理用户更改。

相关内容