Bluetooth сканирование LE как не корень?

канал 1: открытый отказавший: административно запрещенный: открытый отказавший

Вышеупомянутое сообщение относится к Вашему серверу SSH, отклоняющему запрос Вашего клиента SSH для открытия канала стороны. Это обычно прибывает из -D, -L или -w, поскольку отдельные каналы в потоке SSH требуются, чтобы переправлять переданные данные через.

Так как Вы используете -L (также применимый к -D), существует две рассматриваемых опции, которые заставляют Ваш сервер SSH отклонять этот запрос:

  • AllowTcpForwarding (как Steve Buzonas упомянул),
  • PermitOpen

Эти опции могут быть найдены в /etc/ssh/sshd_config. Необходимо удостовериться что:

  • AllowTCPForwarding или не существует, комментируется или установлен на yes
  • PermitOpen или не существует, комментируется или установлен на any[1]

Кроме того, при использовании ключа SSH к подключению необходимо проверить, что запись, соответствующая SSH, вводит ~/.ssh/authorized_keys не имеет no-port-forwarding или permitopen операторы [2].

Не относящийся к Вашей конкретной команде, но несколько относящийся к этой теме также, PermitTunnel опция, при попытке использовать-w опцию.

[1] Полный синтаксис в sshd_config(5) страница справочника.

[2] Полный синтаксис в authorized_keys(5) страница справочника.

12
15.10.2013, 13:12
3 ответа

Стек протокола Bluetooth для Linux проверяет два возможности. Возможности - это еще не распространенная система для управления некоторыми привилегиями. Они могут быть обработаны модулем PAM или через расширенные атрибуты файлов. (см. http://lxr.free-electrons.com/source/net/bluetooth/hci_sock.c#l619 )

 $> sudo apt-get install libcap2-bin

Устанавливает инструменты манипулирования возможностями Linux.

 $> sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcitool`

Устанавливает отсутствующие возможности на исполняемости, как бит SETUID.

 $> getcap !$
 getcap `which hcitool`
 /usr/bin/hcitool = cap_net_admin,cap_net_raw+eip

Итак, мы готовы к работе:

$>hcitool -i hci0 lescan
Set scan parameters failed: Input/output error

Да, ваш адаптер BT не поддерживает BLE

$>hcitool -i hci1 lescan
LE Scan...

, этот делает, продолжайте и нажмите кнопку на вашем устройстве.

21
27.01.2020, 19:54

Хорошо, по крайней мере, я частично обнаружил, почему hcitool требует полномочий пользователя root для сканирования LE, но не для нормального сканирования. Частично средства, что я определил местоположение системного вызова, который перестал работать из-за недостаточных полномочий при выполнении сканирования LE как обычного пользователя.

"Операция, не разрешенная" ошибка, сгенерирована writev системным вызовом со стеком вызовов, блокирующим следующим образом (все функции, реализованные в hci.c, посмотрите исходный код блюза):

hci_le_set_scan_parameters -> hci_send_req -> hci_send_cmd -> writev

Нормальное сканирование ("hcitool сканирование"), по-видимому, не должно отправлять запросы к контроллеру, но использует специализированный запрос ioctl, звоня:

ioctl(dd, HCIINQUIRY, (unsigned long) buf);

Кажется, что доступ для записи к контроллеру Bluetooth ограничивается, но почему и как я могу деактивировать это?

7
27.01.2020, 19:54
[112361]Я не установил его, но хорошо написанная подсистема устройств обычно имеет группу, связанную с ним. Добавьте пользователя в группу, и вы получите доступ к устройству (например, группа [112904]disk[112905] разрешает доступ к необработанному жёсткому диску). Просто сделайте [112906]ls -l[112907] в [112908]/dev[112909], чтобы проверить это. Если это не так и устройство принадлежит к группе [112910]root[112911], вы можете изменить это, настроив правила [112912]udev[112913], которые управляют именованием, разрешениями и действиями на аппаратном обеспечении при обнаружении (не спрашивайте меня как).[12140]Это относится к прямому доступу к устройству, который вам, вероятно, нужен в данном случае. Обычная функциональность Bluetooth обычно обрабатывается через демона с его собственной конфигурацией, группами, разрешениями и так далее. Проверьте документацию по дистрибутиву, группы могут немного отличаться.[112364].
0
27.01.2020, 19:54

Теги

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