我有root权限。
如何让具有较少权限的一般用户无需密码即可以 root 身份运行二进制文件?
我尝试使用 chown 赋予它 root:wheel,但是这不允许普通用户执行我想要的操作。
答案1
chown
更改所有者,它不会使二进制文件以文件所有者身份运行。chmod u+s
但是会这样做。也会使二进制文件在某些系统上以文件组权限运行(您没有提到您正在运行的系统)。这些标志对其他文件尤其是文件夹的影响非常不同。在深入研究之前,您chmod g+s
应该仔细查看。man chmod
man chown
另外,您应强烈考虑使用sudo
而不是使二进制文件具有 suid。当二进制文件具有 suid 时,任何可以访问二进制文件的人都可以以文件所有者的身份运行它。如果您不小心授予普通用户对二进制文件的写权限,那么他们可以用任何想要的权限替换它并以 root 身份运行它。sudo
以要求用户在sudo
他们想要以 root 身份运行的命令前面添加内容为代价解决了这些安全问题。您还必须使用适当的权限设置 sodoers 文件。
答案2
运行:-(visudo
编辑配置文件):-
然后编辑配置文件,即 sudoers 文件:-
USERNAME ALL = NOPASSWD: /path/to/binaryfile
。
保存文件,然后您可以通过运行以下命令运行二进制文件而无需任何密码:-
sudo "command to run binary file
“。