Dialout linux что это

unixforum.org

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

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

Сообщение MiK13 » 13.04.2021 03:02

Нужно отладить программу, которая обменивается с другим устройством через 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, сделать там строку dialout20: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: Отказано в доступе
mik13@MD5:~$ stty -F /dev/ttyS0 stty: /dev/ttyS0: Ошибка ввода/вывода

Hephaestus Сообщения: 3729 Статус: Многоуважаемый джинн. ОС: Slackware64-14.1/14.2 Контактная информация:

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

Сообщение Hephaestus » 13.04.2021 08:44

Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod

Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.

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

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

Сообщение MiK13 » 13.04.2021 12:14

Читайте также:  Linux oracle database service

Если Вы пытались добавить новую строку, это неверно. Нужно добавлять себя в существующую строку. Если несколько пользователей, то через запятую.
Ну или использовать usermod

С usermod я как-нибудь ещё проверю.
Строку я, естесвенно, не добавлял, так как она уже была. Только добавил в неё себя

Если я правильно понял и после редактирования /etc/group Вы не перелогинивались, то похоже, что с открытием какого-то из этих терминалов получилась новая сессия.

Я сейчас проверил у себя. И в группу спокойно добавился (после перелогина, разумеется), и stty -F /dev/ttyS0 ошибки не выдал. Так что в целом, схема рабочая.

Как я написал выше, я не только выходил, но и даже перегружался. Но это не помогало.
Но потом заметил, что это зависит от эмулятора терминала. Которых в линуксе далеко не один.
То есть при вызове многих оказывается, что я нахожусь в этой группе, а в других (в частности, gnome=terminal, все не проверял) — нет.

А вот это вполне может быть.
Это я проверял на Debian 10 Buster (постараюсь сегодня проверить на Raspbian, аналог Buster).
Сейчас, на работе, на Debian 9 Stretch в gnome-terminal у меня id показывает, что я есть в группе 20 dialout.
Правда, есть другая непонятная вещь, но это уже другая тема.

Источник

What do the groups do in «Users and Groups»?

enter image description here

I know that some define permissions on the file system (such as www-data). But I don’t understand why this question was answered successfully by adding a user to the «Video» group. So the question is mainly what do all the pre-built groups do in Ubuntu? More reasonably, since there are so many, what «special» groups exist and how or when should they be used?

2 Answers 2

Some groups allow access to files or directories, for example: the www-data allow the access to web files or the adm group to read files in /var/log . This is the trivial use.

But some groups allow access to certain devices. For example the dialout group allows access to the serial ports via files in /dev :

$ find /dev -group dialout -exec ls -ld <> \; crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0 crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3 crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2 crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1 

So if you are member of the dialout group you can use the serial ports by reading and writing to the device file: echo «Hello world» > /dev/ttyS0 . The video group allows access to the video hardware.

Читайте также:  Astra linux очистить кэш паролей

For description of each groups, read the file: /usr/share/doc/base-passwd/users-and-groups.html

EDIT about first comment:

In fact, usually you don’t have to be in those groups to «access» the hardware resources, from a user point of view. The common practice is to have a daemon/server managing it, being member of the most restrictive group, then allowing you access to the daemon/server.

For your case, being member of the video group allows direct access to the graphic hardware, not through the X server. Usually on desktop/laptop computer it is nice to have direct access to the graphic hardware ( glxinfo | grep «direct rendering» ).

Side note, if you have direct rendering but you are not member of the video group ( id | grep —color video ), you were allowed hardware access by an acl of the /dev file ( find /dev/ -group video -exec getfacl <> \; | grep $USERNAME ).

Источник

Linux группы и их возможности

Если открыть файл /etc/group , то можно увидеть ряд различных групп. Стало интересно, что может пользователь, который входит в ту или иную группу? Какие права он приобретает? Например, мой пользователь входит в группы wheel , lp , power , network . Как посмотреть что дает данная группа пользователю, какие права и т.д? Я пытался таким образом: man wheel , но безрезультатно. Понятное дело что я мог бы написать в google мол manjaro wheel group и слоняться по форумам. Но может быть в Linux есть какая-то утилита или что-то в этом роде, чтобы узнать информацию о той или иной группе?

Группы создаются и удаляются, в системе может не быть указанных групп. Права на любую группу можно навесить любые, все зависит от файла /etc/sudoers . Вот мой ответ, который частично прояснит ситуацию ru.stackoverflow.com/questions/800756/…

Читайте также:  Zfs on linux mount

Есть команды, ls, find, fuser, lsof, getent, и ещё миллион других, которые в целом дают некое понимание, что и куда.

2 ответа 2

Думаю, что такого инструмента в Linux нет.
Назначение групп описаны в документации к Linux или в описании к программам, которые создают свои группы при установке.

Список стандартных групп:

  • daemon — от имени этой группы и пользователя daemon запускаютcя сервисы, которым необходима возможность записи файлов на диск.
  • sys — группа открывает доступ к исходникам ядра и файлам include сохраненным в системе
  • sync — позволяет выполнять команду /bin/sync
  • games — разрешает играм записывать свои файлы настроек и историю в определенную папку
  • man — позволяет добавлять страницы в директорию /var/cache/man
  • lp — позволяет использовать устройства параллельных портов
  • mail — позволяет записывать данные в почтовые ящики /var/mail/
  • proxy — используется прокси серверами, нет доступа записи файлов на диск
  • www-data — с этой группой запускается веб-сервер, она дает доступ на запись /var/www, где находятся файлы веб-документов
  • list — позволяет просматривать сообщения в /var/mail
  • nogroup — используется для процессов, которые не могут создавать файлов на жестком диске, а только читать, обычно применяется вместе с пользователем nobody.
  • adm — позволяет читать логи из директории /var/log
  • tty — все устройства /dev/vca разрешают доступ на чтение и запись пользователям из этой группы
  • disk — открывает доступ к жестким дискам /dev/sd* /dev/hd*, можно сказать, что это аналог рут доступа.
  • dialout — полный доступ к серийному порту
  • cdrom — доступ к CD-ROM
  • wheel — позволяет запускать утилиту sudo для повышения привилегий
  • audio — управление аудиодрайвером
  • src — полный доступ к исходникам в каталоге /usr/src/
  • shadow — разрешает чтение файла /etc/shadow
  • utmp — разрешает запись в файлы /var/log/utmp /var/log/wtmp
  • video — позволяет работать с видеодрайвером
  • plugdev — позволяет монтировать внешние устройства USB, CD и т д
  • staff — разрешает запись в папку /usr/local

Источник

Оцените статью
Adblock
detector