Как при запуске запустить последовательный порт /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
группы, но ваше приложение по-прежнему не может получить доступ к этому устройству, а затем убедитесь, что ваше приложение действительно запущено как ваш пользователь или нет как другой пользователь, например, из-за сценария запуска. Также убедитесь, что это действительно тот файл, который блокирует работу вашего приложения, а не что-то еще. Вам нужно будет предоставить дополнительную информацию по этому вопросу.