Как мне навсегда изменить разрешения для / dev / ttyS0?


8

У меня система Ubuntu 13.04, и она работает нормально, но я установил VirtuaBox для запуска Windows XP, что очень важно для меня, чтобы запустить приложение, которое взаимодействует с настройкой будильника через адаптер USB-to-Serial.

VirtualBox использует ttyS0 в качестве последовательного порта, и связь может начаться эффективно, только если команда sudo chmod 666 /dev/ttyS0подана на терминал.

Каждый раз, когда я загружаю Ubuntu, ttyS0разрешения возвращаются к значениям по умолчанию, и я должен запускаться chmodкаждый раз при загрузке.

У меня вопрос: как я могу навсегда изменить разрешение файла / dev / ttyS0? Если это не очень хорошая практика, есть ли другие способы решения проблемы?

Ответы:


16

Нет необходимости изменять права доступа к системному файлу. Последовательные устройства имеют следующие разрешения по умолчанию:

crw-rw---- 1 root dialout ... /dev/ttyS0

Так что все, что вам нужно сделать, это добавить пользователя в dialoutгруппу:

sudo adduser $USER dialout

Спасибо, Эрик, твое решение сработало для меня после перезагрузки! Клаудио :)
Клаудио

перезагрузка не требуется, повторного входа достаточно. если вы не хотите закрывать сеанс, вы также можете это сделать ssh $USER@localhost(если вы openssh-serverустановили) и использовать этот терминал.
Роза

2

Решение 1: проверьте группу ttyS0 и затем назначьте ее своему пользователю, затем повторно войдите или su - пользователь

crw-rw---- 1 root dialout 4, 64 feb 28 18:23 /dev/ttyS0
usermod -aG dialout youruser
su - youruser

Решение 2: если вам не нравится первое решение, отредактируйте /etc/udev/rules.d/50-tty.rules

KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="whateveryouwant"

перезапустите udev или перезагрузите компьютер и, конечно, прежде чем добавить пользователя в выбранную группу

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.