Я хочу изменение полномочия /dev/ttyACM0
из сценария.
Я попробовал эту команду:
su -c "chmod -R 777 /dev/ttyACM*" -m "$user".
Когда я выполняю сценарий, он просит пароль. Я хочу, выполняет это, не будучи запрошенным пароль.
Я пытался включить пользователя /etc/sudoers
, но это не работает.
Это - сценарий CGI. Это не работает внешние запросы (т.е. от другого дюйм/с).
user ALL= (user) NOPASSWD: /usr/lib/cgi-bin/test.cgi
Как я могу сделать, изменяют полномочия так, чтобы кто-либо мог выполнить сценарий от других IP-адресов?
Вы не сказали, почему 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
.
пз: предыдущий ответ просто неправильный. При условии, что Вы принадлежите sudo
группа или иначе имеете привилегии, sudo su -
работы отлично, чтобы стать корнем, даже если никакой пароль корня не установлен. sudo -s
, вероятно, лучше, как бы то ни было. YMMV