小编Sam*_*dis的帖子

shebang 行中的 `sudo -u user`

我希望能够以另一个用户的身份运行脚本,并且只能以该用户的身份运行。

我目前进行此设置的方式是拥有

alice   ALL = (bob) NOPASSWD: /home/alice/script.sh
Run Code Online (Sandbox Code Playgroud)

在 sudoers 文件和

alice@foo:~$ ls script.sh
-rwxr-xr-x  1 root  root ..... script.sh

alice@foo:~$ lsattr script.sh
----i----------- script.sh

alice@foo:~$ head -1 script.sh
#!/bin/bash

alice@foo:~$ sudo -u bob ./script.sh
ok
Run Code Online (Sandbox Code Playgroud)

有没有办法让shebang线像

#!/usr/bin/sudo -u bob -- /bin/bash
Run Code Online (Sandbox Code Playgroud)

这样爱丽丝就可以跑了

alice@foo:~$ ./script.sh
ok
Run Code Online (Sandbox Code Playgroud)

?

如果我尝试这个,我只会收到错误消息

sudo: unknown user:  blog -- /bin/bash
sudo: unable to initialize policy plugin  
Run Code Online (Sandbox Code Playgroud)

sudo shebang

3
推荐指数
1
解决办法
2471
查看次数

标签 统计

shebang ×1

sudo ×1