$ which su
/bin/su
$ ll /bin/su
-rwsr-xr-x. 1 root root 32128 Feb 3 2021 /bin/su
这里可以发现 su
命令的可执行权限不是 x ,而是 s。
s 表示用户执行这个文件的时候以所有者身份执行,而不是以当前用户身份执行
所以 su 是以 root 身份执行了 su 命令,产生的 su 进程属于 root 这个用户,进程进行切换指定的用户,su 进程结束。
这种做法正是 Linux 中的 set-user-ID 一种权限管理机制。
网友评论