我正在为新用户 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
使其设置为setuid。sudo
如果 中的规则/etc/sudoers
(以及 中的文件/etc/sudoers.d/
)允许,则执行提升到 root 的操作。
实际上,你不应该设置ls
setuid- 这将使ls
每次执行时都以root身份(所有者,除非您更改了它)运行,无论是谁执行它。