Не получается использовать rfcomm под обычным пользователем в Ubuntu 20.04

Система Ubuntu 20.04. Устройство bluetooth сканер штрихкода, который эмулирует com порт. У меня не получается использовать rfcomm под обычным пользователем

rfcomm connect hci0 00:20:E0:7F:43:0A 1 Can't connect RFCOMM socket: Permission denied

Под sudo все прекрасно работает. Включил пользователя во все возможные группы, но эффекта нет. Что нужно сделать чтобы заработало?

Если пытаюсь подключится из Гнома Blueman-applet 2.1.2 (Подключить: Serial port) то тогда вообще подвисает подключение, т.е. пишет соединение и больше ничего, пока не перезагрузишь сервис bluetooth. При этом другие устройства, например телефон, прекрасно подключаются.


Ответы (2 шт):

Автор решения: aleksandr barakin

для того, чтобы разрешить пользователю1 выполнять указанную команду от имени другого пользователя2 без ввода каких-либо паролей, можно добавить в файл с произвольным именем в каталоге /etc/sudoers.d такую примерно строку:

пользователь1 ALL = (пользователь2) NOPASSWD: команда

как правильно редактировать файлы /etc/sudoers.d/*, написано в другом моём ответе.

для вашего случая строка будет выглядеть так:

имя_пользователя ALL = (root) NOPASSWD: /usr/bin/rfcomm параметры

полный путь к исполняемому файлу обязателен. если не указывать здесь конкретные параметры, то пользователь сможет передавать произвольный набор параметров.


теперь указанный пользователь сможет выполнить:

$ sudo /usr/bin/rfcomm параметры

без запроса пароля.

→ Ссылка
Автор решения: Иван Жуков

Можно тогда сделать ещё проще: chmod 6755 /usr/bin/rfcomm или chmod ug+s+t /usr/bin/rfcomm Это позволяет запускать файл от имени владельца, но конечно безопасность в этом случае не очень.

→ Ссылка