Как при запуске запустить последовательный порт /dev/ttyACM0 'chmod 777' в Ubuntu 16.04?

Ряд блогов предложил мне напечатать sudo adduser $USER dialout, но это уже показало, что $USER уже является членом группы dialoutи когда я перезагрузил компьютер, /dev/ttyACM0 не было предоставлено преимущество чтения / записи.

crw-rw---- 1 root dialout 166, 0 Mar 22 13:53 /dev/ttyACM0

Я не знаком с Ubuntu 16.04, поэтому любая помощь будет принята с благодарностью.

1 ответ

Вы не должны делать какие-либо файлы, особенно файлы устройств, доступные для записи на вашем компьютере. Это огромный недостаток безопасности. Политики групповых разрешений существуют по причине в ядре Linux. Когда ваш пользователь действительно был членом dialout группа, то у вас уже есть права на чтение и запись для этого файла. Тип id в командной строке перечислить все группы, в которые входит ваш пользователь. dialout в этом списке? Если нет, то вы должны добавить его. sudo adduser $USER dialout должно быть хорошо, чтобы добавить $USER в dialout группа, но это оболочка для Ubuntu, правильный способ добавить своего пользователя в dialout группа на Linux будет sudo usermod -aG $USER dialout, Проверьте, работает ли это лучше. Вы также можете попробовать cat /dev/ttyACM0 чтобы увидеть, действительно ли у вашего пользователя есть права на чтение этого файла, еслиt, youполучил Permission denied ошибка.

Если ваш пользователь является членом dialout группы, но ваше приложение по-прежнему не может получить доступ к этому устройству, а затем убедитесь, что ваше приложение действительно запущено как ваш пользователь или нет как другой пользователь, например, из-за сценария запуска. Также убедитесь, что это действительно тот файл, который блокирует работу вашего приложения, а не что-то еще. Вам нужно будет предоставить дополнительную информацию по этому вопросу.

Другие вопросы по тегам