[решено] Как добавить себя в группу dialout?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

[решено] Как добавить себя в группу dialout?

Сообщение MiK13 »

Нужно отладить программу, которая обменивается с другим устройством через COM-порт. То есть через /dev/ttyS*, у которых

Код: Выделить всё

ls -l /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 апр 12 22:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 апр 12 22:51 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 апр 12 22:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 апр 12 22:51 /dev/ttyS3
то есть с ними может работать, кроме рута, ещё члены группы dialout.
Попробовал добавить в /etc/group, сделать там строку dialout:x:20:mik13, по аналогии со строками типа

Код: Выделить всё

cdrom:x:24:mik13
floppy:x:25:mik13
, но что-то не получается:

Код: Выделить всё

mik13@MD5:~$ id
uid=1000(mik13) gid=1000(mik13) группы=1000(mik13),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)
То есть группы cdrom, floppy и ряд других есть, а вот dialout нет.
В чём может быть дело?
Как-то не хочется ради отладки запускать рутовскую сессию.

P.S. Поэкспериментировал с разными терминалами.
В gnome-terminal это именно так.

Код: Выделить всё

mik13@MD5:~$ stty -F /dev/ttyS0
stty: /dev/ttyS0: Отказано в доступе
А вот в других -- lxterminal, xfce4-terminal

Код: Выделить всё

mik13@MD5:~$ stty -F /dev/ttyS0
stty: /dev/ttyS0: Ошибка ввода/вывода
и в них id выдаёт присутствие в группе dialout
Почему так?
Последний раз редактировалось MiK13 13.04.2021 12:15, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как добавить себя в группу dialout?

Сообщение Hephaestus »

MiK13 писал:
13.04.2021 03:02
сделать там строку dialout:x:20:mik13, по аналогии со строками типа
Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod
MiK13 писал:
13.04.2021 03:02
но что-то не получается
После добавления себя в группу нужен перелогин. Делали?
MiK13 писал:
13.04.2021 03:02
и в них id выдаёт присутствие в группе dialout
Почему так?
Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.



Я сейчас проверил у себя. И в группу спокойно добавился (после перелогина, разумеется), и stty -F /dev/ttyS0 ошибки не выдал. Так что в целом, схема рабочая.
Единственное, в Вашем дистре могут быть ещё где-то гайки закручены.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как добавить себя в группу dialout?

Сообщение MiK13 »

Hephaestus писал:
13.04.2021 08:44
MiK13 писал:
13.04.2021 03:02
сделать там строку dialout:x:20:mik13, по аналогии со строками типа
Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod
С usermod я как-нибудь ещё проверю.
Строку я, естесвенно, не добавлял, так как она уже была. Только добавил в неё себя
Hephaestus писал:
13.04.2021 08:44
MiK13 писал:
13.04.2021 03:02
но что-то не получается
После добавления себя в группу нужен перелогин. Делали?
И даже перегружался. Потом выходил и заново входил.
Hephaestus писал:
13.04.2021 08:44
MiK13 писал:
13.04.2021 03:02
и в них id выдаёт присутствие в группе dialout
Почему так?
Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.

Я сейчас проверил у себя. И в группу спокойно добавился (после перелогина, разумеется), и stty -F /dev/ttyS0 ошибки не выдал. Так что в целом, схема рабочая.
Как я написал выше, я не только выходил, но и даже перегружался. Но это не помогало.
Но потом заметил, что это зависит от эмулятора терминала. Которых в линуксе далеко не один.
То есть при вызове многих оказывается, что я нахожусь в этой группе, а в других (в частности, gnome=terminal, все не проверял) -- нет.
Hephaestus писал:
13.04.2021 08:44
Единственное, в Вашем дистре могут быть ещё где-то гайки закручены.
А вот это вполне может быть.
Это я проверял на Debian 10 Buster (постараюсь сегодня проверить на Raspbian, аналог Buster).
Сейчас, на работе, на Debian 9 Stretch в gnome-terminal у меня id показывает, что я есть в группе 20 dialout.
Правда, есть другая непонятная вещь, но это уже другая тема.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20790
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [решено] Как добавить себя в группу dialout?

Сообщение Bizdelnick »

usermod -aG dialout mik13
И не лазьте руками в group.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить