Уведомления

Группа в Telegram: @pythonsu

#1 Июль 28, 2018 18:09:05

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

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

 ls -la /path/to/iwlist
и смотри кто имеет права на выполнение

Отредактировано vic57 (Июль 28, 2018 18:10:34)

Офлайн

#2 Июль 28, 2018 19:59:48

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

ЕМНИП можешь работать напрямую с iwlist

 sudo chmod +s /path/to/iwlist 
 from subprocess import run,PIPE
cmd ='/path/to/iwlist wlan0 scan'.split()
p = run(cmd,stdout=PIPE,stderr=PIPE)
out,err = p.stdout.decode(),p.stderr.decode()
print(err,out)

Офлайн

#3 Июль 29, 2018 00:41:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

dnstuff
А как настроить права, чтобы скрипт мог автономно работать?
Надо пользователя, под которым запускается flask, добавить в группу, имеющую права. Ищи такую группу или делай, права на директории менять - последнее дело.



Офлайн

#4 Июль 29, 2018 10:23:05

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

Добавил пользователя во все рекомендованные для малинки группы (включая netdev, которая якобы как раз для wi-fi) . Не помогло. Добавил во все существующий группы - тоже не помогло.
Сделал пользователя владельцем iwlist

 sudo chown pi /sbin/iwlist
Всё по-старому.

Офлайн

#5 Июль 29, 2018 11:59:17

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

В общем и целом вроде заработало. Не знаю точно, в чем именно было дело. У меня был создан новый пользователь, а стандартный пользователь pi из raspbian удален. Этого нового пользователя так и не удалось обучить вайфаю. Поставил чистую систему, для пользователя pi оказалось достаточно дать права на iwlist

 sudo chmod +s /sbin/iwlist

Офлайн

#6 Июль 29, 2018 23:49:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

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



Офлайн

#7 Авг. 3, 2018 06:51:36

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

py.user.next
Через группы такое делается в лине, сьюидные биты считаются дырой в безопасности. Ну как бы они были сделаны для удобства, а потом оказалось, что они очень часто компрометируют систему.
группы тут не помогут, у iwlist права root:root
через sudoers можно для юзера из группы sudo сделать NOPASSWD и работать с iwlist напрямую, весь этот пакет - обертка над iwlist

Офлайн

#8 Авг. 3, 2018 10:56:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

vic57
у iwlist права root:root
Запускает он её спокойно, просто сама программа iwlist не имеет доступа к областям файловой системы.
Вот находишь нужные области и второе root у них делаешь своей группой (добавляешь её в систему, выставляешь для группы права доступа).
Короче, делаешь, как сделано у многих сервисов (apache там и подобные). Они не запускаются под рутом, а используют везде своего пользователя и свою группу.



Отредактировано py.user.next (Авг. 3, 2018 10:56:59)

Офлайн

#9 Авг. 3, 2018 16:35:02

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Странная работа библиотеки wifi

py.user.next
Запускает он её спокойно, просто сама программа iwlist не имеет доступа к областям файловой системы.
где это ты в файловой системе сетевой интерфейс увидел?
http://manpages.ylsoftware.com/ru/iwlist.8.html

Отредактировано vic57 (Авг. 3, 2018 16:37:59)

Офлайн

#10 Авг. 4, 2018 00:34:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10026
Репутация: +  857  -
Профиль   Отправить e-mail  

Странная работа библиотеки wifi

vic57
где это ты в файловой системе сетевой интерфейс увидел?
Используй strace (программа такая), которая покажет, куда ломится программа iwlist. root - это пользователь с определёнными правами на файловой системе. Поэтому он доступ имеет к данным, а простому пользователю доступ закрыт. Это записано прямо в файловой системе. Надо искать, куда iwlist ломится, ставить там группу свою или уже существующую и добавлять своего пользователя в эту группу. Открой файл /etc/group, может быть, там есть подсказка, куда добавить пользователя, чтобы доступ к данным открылся. Но можно и свои группы создавать и использовать их по аналогии с существующими. Практически любой сервис (служба) имеет собственную группу - это хороший тон. А делается это для того, чтобы если кто-то взломает сервис и полезет куда-то от его имени, чтобы он не мог проникнуть в root'овые области.

Вот этот файл из мана
/proc/net/wireless
Надо посмотреть, какие на нём права и кто владелец.



Отредактировано py.user.next (Авг. 4, 2018 00:37:04)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version