如何使用 sudo 权限运行“chmod”命令表单脚本?

如何使用 sudo 权限运行“chmod”命令表单脚本?

/dev/ttyACM0我想要从脚本更改权限。

我已经尝试过这个命令:

su -c "chmod -R 777 /dev/ttyACM*" -m "$user".

当我执行脚本时,它会要求输入密码。我希望在不提示输入密码的情况下运行它。

我尝试在中添加用户/etc/sudoers,但是没有效果。

这是一个 CGI 脚本。它无法处理外部请求(即来自其他 IP 的请求)。

user ALL= (user)  NOPASSWD: /usr/lib/cgi-bin/test.cgi

我如何更改权限以便任何人都可以从其他 IP 地址执行脚本?

答案1

你还没有说为什么 sudo 解决方案不起作用,但 sudo 的故障排除相当繁重。这条测试线/etc/sudoers对我有用

cgiuser ALL = (root) NOPASSWD: /bin/chmod -R 777 /tmp/xxx*

所以试一试吧。你的/etc/sudoers台词应该是

user ALL = (root) NOPASSWD: /bin/chmod -R 777 /dev/ttyACM*

你的脚本将会

/usr/bin/sudo /bin/chmod -R 777 /dev/ttyACM*

只需确保脚本以 身份运行user,对于 cgi 脚本来说,它可能是apachewww-data

PS:前面的答案是错误的。只要你属于该sudo组或拥有权限,sudo su -就可以完美地成为 root,即使没有设置 root 密码。 sudo -s不过,可能更好。YMMV

相关内容