为什么添加用户并为其设置 SUID 会引发“不允许操作”错误?

为什么添加用户并为其设置 SUID 会引发“不允许操作”错误?

我正在为新用户 tommy 设置 SUID 来运行与 root 相同的命令,但它是这样的:

[root@192 ~]# useradd tommy
[root@192 ~]# su - tommy
[tommy@192 ~]$ chmod u+s /usr/bin/ls
chmod: changing permissions of '/usr/bin/ls': Operation not permitted`

我是否需要将此用户添加到 sudoers 文件才能成功执行此命令还是什么?

答案1

如果您希望用户tommy能够/usr/bin/ls以 root 身份运行,那么您需要进行配置sudo以允许这样做。例如在/etc/sudoers

tommy ALL = /usr/bin/ls

您无需更改权限即可ls使其设置为setuidsudo如果 中的规则/etc/sudoers(以及 中的文件/etc/sudoers.d/)允许,则执行提升到 root 的操作。

实际上,你不应该设置lssetuid- 这将使ls每次执行时都以root身份(所有者,除非您更改了它)运行,无论是谁执行它。

相关内容