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

0

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

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

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

user2585578
источник

Ответы:

2

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

LukeLR
источник