我想运行一个需要sudo但非交互式的命令,所以输入密码不是一个选项。在我的特定情况下,我想在我的手机上创建一个自动/快捷操作,以通过 ssh 登录在我的服务器上执行此脚本。
就我而言,我想用 启动一个虚拟机virsh start,我知道我可以配置它以允许非 root 用户启动机器,但我对这个解决方案感到好奇,尤其是在非 root 用户的情况下root 选项不可用。
我还设想非特权用户只需要能够运行我定义的单个脚本,而不是任意命令。换句话说,用户只需要能够触发脚本运行——他们不提供任何参数,即使他们找到了这样做的方法,参数也会被忽略。
同样在我的情况下,服务器仅供我使用,并且位于防火墙后面。它有互联网连接(因为它可以下载东西),但不能从互联网访问。我要么必须在我的 LAN 上,要么必须通过 VPN 连接才能访问它,而且我只希望在家里专门使用此脚本。仍然 - 我担心在这里学习“良好实践”。
服务器本身正在运行 Debian 测试。我担心的是允许无密码 sudo 似乎有风险。在理论上无特权的帐户可以触发特权脚本或命令运行的情况下,是否有更好的方法来做到这一点?我是否应该只使用运行脚本root来监视每分钟左右创建的某个文件,并让脚本只创建touch该文件?我可以创建一个只能使用sudo该脚本的用户吗?
Ste*_*itt 10
您可以配置sudo为允许特定用户(或组)运行命名命令;在/etc/sudoers(用于visudo编辑它):
user ALL = NOPASSWD: /path/to/command
Run Code Online (Sandbox Code Playgroud)
将允许用户user在sudo /path/to/command不提示输入密码的情况下运行。
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |