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

1378
user2585578

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

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

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

0

1 ответ на вопрос

2
LukeLR

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

Похожие вопросы