【发布时间】:2017-02-09 15:02:08
【问题描述】:
有谁知道如何允许非特权用户以 sudo 运行某个命令?
我希望用户运行 sudo ./exec.o ,其中 exec.o 是必须以超级用户身份运行的可执行文件。
所有这些都将在 Ubuntu 中执行。
【问题讨论】:
标签: linux ubuntu sudo privileges superuser
有谁知道如何允许非特权用户以 sudo 运行某个命令?
我希望用户运行 sudo ./exec.o ,其中 exec.o 是必须以超级用户身份运行的可执行文件。
所有这些都将在 Ubuntu 中执行。
【问题讨论】:
标签: linux ubuntu sudo privileges superuser
使用 visudo,并编辑 /etc/sudoers 以包含一行:
USERNAME ALL = NOPASSWD: /path/to/exec.o
【讨论】:
您希望每个用户都能够执行命令,还是只希望特定用户能够执行? sudo 命令可以提升选定用户的权限,而设置 setuid 或 setgid 位可以为所有用户提供该命令的访问权限。
如果您只希望某些用户执行命令,那么使用 visudo 编辑 /etcsudoers 文件是一种有效的方法(确保您输入正确的行)。
如果您希望所有用户都能够执行该命令,那么设置 setuid 或 setgid 位 (chmod u+s exec.o) 就可以解决问题(同样,要非常小心,因为这是一个大锤子) .
【讨论】: