没有“sudo”命令“pmount”如何工作

没有“sudo”命令“pmount”如何工作

当我研究命令手册页时挂载我读了以下内容:

pmount(“策略挂载”)是标准挂载程序的包装器,允许普通用户挂载可移动设备。

当我pmount /dev/sdc1作为普通用户使用(没有 sudo)时,它创建了一个名为folder的文件夹/media/sdc1,而系统/media文件夹的权限是drwxr-xr-x并且它的所有者是root.这意味着普通用户(当前是我)无法在/media文件夹中创建文件和文件夹。

这是否与Linux中的权限和所有权规则相矛盾?

另一个问题是,虽然mount需要超级用户权限,并且在内部pmount使用mount,但如何pmount在没有超级用户权限的情况下使用sudo

答案1

/usr/bin/pmount是一个设定值二进制。运行 setuid 可执行文件时,uid 或 gid 将更改为可执行文件的所有者。执行 pmount 时,该进程将拥有 root 权限,因此可以创建 root 拥有的目录并挂载文件系统。

相同的 setuid 机制也适用于 sudo。

相关内容