su 命令用于切换到 root 或者别的用户.

su 可执行文件本身是加了 sticky 标记的, 当执行这个命令时, 可以切换到 root 帐户, 这样才有权限读取 /etc/shadow 文件.

大致操作过程如下:

  • 确认新用户是否有效
  • 让用户输入新用户的密码, 并与 /etc/shadow 文件作匹配, 如果一致, 则认证有效.
  • 之后以新用户的角色开启一个新的 shell.

不足之处:

  • 切换到新用户之后, 完全拥有了这个用户的所有权限, 可以访问它拥有的所有资源.