/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 脚本来说,它可能是apache
或www-data
。
PS:前面的答案是错误的。只要你属于该sudo
组或拥有权限,sudo su -
就可以完美地成为 root,即使没有设置 root 密码。
sudo -s
不过,可能更好。YMMV