(решено) Права доступа пользователей

Цитата: alibek от 31/08/2019, 22:34Хочу закрыть для ordinary user доступ к разделу Wi-Fi - Main. Насколько я понимаю, это настраивается в /etc/nginx/nvram_acl.conf. Нет ли описания, что и где там нужно указывать?
Хочу закрыть для ordinary user доступ к разделу Wi-Fi - Main. Насколько я понимаю, это настраивается в /etc/nginx/nvram_acl.conf. Нет ли описания, что и где там нужно указывать?

Цитата: Sadler от 31/08/2019, 22:47В nvram_acl указываются права доступа к переменным nvram, с их помощью, конечно, можно ограничить доступ, но интерфейс во вкладке для пользователя скорее всего будет сломан. Формат очень простой: rwRW означает доступ на чтение и запись для пользователя и администратора. Чтобы запретить доступ пользователю, нужно указать --RW. Внутри файла есть комментарии, какие настройки к какому разделу относятся.
В nvram_acl указываются права доступа к переменным nvram, с их помощью, конечно, можно ограничить доступ, но интерфейс во вкладке для пользователя скорее всего будет сломан. Формат очень простой: rwRW означает доступ на чтение и запись для пользователя и администратора. Чтобы запретить доступ пользователю, нужно указать --RW. Внутри файла есть комментарии, какие настройки к какому разделу относятся.

Цитата: alibek от 31/08/2019, 23:03А как тогда правильно ограничить интерфейс (убрать у пользователя раздел Main)?
А как тогда правильно ограничить интерфейс (убрать у пользователя раздел Main)?

Цитата: Sadler от 31/08/2019, 23:07Правильнее было бы закрыть доступ к переменным в nvram_acl и скрыть wireless/main для пользователя в файле treeapp.asp .
Правильнее было бы закрыть доступ к переменным в nvram_acl и скрыть wireless/main для пользователя в файле treeapp.asp .

Цитата: alibek от 31/08/2019, 23:37А не подскажите подробнее? Мне нужно для обычных пользователей либо вообще скрыть раздел Main (через treeapp.asp я его скрыл, но есть еще кнопка "Go to settings", предлагающая настроить безопасность беспроводной сети, которая игнорирует treeapp.asp), либо (что более оптимально) разрешить пользователям изменять настройки радио (включить/выключить, сменить канал), разрешить просмотр "SSID Settings" (без возможности любых изменений) и полностью скрыть все остальные подразделы настроек. в nvram_acl.conf я прописал --RW у всех настроек, связанных с wireless, однако в интерфейсе эти настройки по прежнему видны и визуально доступны для изменений.
А не подскажите подробнее? Мне нужно для обычных пользователей либо вообще скрыть раздел Main (через treeapp.asp я его скрыл, но есть еще кнопка "Go to settings", предлагающая настроить безопасность беспроводной сети, которая игнорирует treeapp.asp), либо (что более оптимально) разрешить пользователям изменять настройки радио (включить/выключить, сменить канал), разрешить просмотр "SSID Settings" (без возможности любых изменений) и полностью скрыть все остальные подразделы настроек. в nvram_acl.conf я прописал --RW у всех настроек, связанных с wireless, однако в интерфейсе эти настройки по прежнему видны и визуально доступны для изменений.

Цитата: Sadler от 31/08/2019, 23:46Чтобы визуально они были недоступны, придётся вносить изменения непосредственно в js и html в файле wireless/main.asp, в простейшем случае проставив элементам классы auth-disable-user, либо используя функции displayElement и disableElement, какого-то специального api на этот случай не существует. Можете посмотреть, как ограничивается доступ на других страницах и сделать по аналогии.
Чтобы визуально они были недоступны, придётся вносить изменения непосредственно в js и html в файле wireless/main.asp, в простейшем случае проставив элементам классы auth-disable-user, либо используя функции displayElement и disableElement, какого-то специального api на этот случай не существует. Можете посмотреть, как ограничивается доступ на других страницах и сделать по аналогии.

Цитата: alibek от 31/08/2019, 23:52Классы auth-readonly-user и auth-disable-user я уже увидел в коде страниц. Их можно применять к TD или к любых элементам HTML? Я пробовал просматривать controls.js (который обрабатывает эти классы), но он слишком большой и запутанный, чтобы с ходу разобраться.
Классы auth-readonly-user и auth-disable-user я уже увидел в коде страниц. Их можно применять к TD или к любых элементам HTML? Я пробовал просматривать controls.js (который обрабатывает эти классы), но он слишком большой и запутанный, чтобы с ходу разобраться.

Цитата: Sadler от 31/08/2019, 23:56Из controls.js нужно прочитать только содержимое disableControlsByAuth() , там всё должно быть понятно. readonly и disabled нужно вешать на контролы, имеющие соответствующие атрибуты, а auth-hide-user будет отрабатывать практически на всём.
Из controls.js нужно прочитать только содержимое disableControlsByAuth() , там всё должно быть понятно. readonly и disabled нужно вешать на контролы, имеющие соответствующие атрибуты, а auth-hide-user будет отрабатывать практически на всём.

Цитата: alibek от 01/09/2019, 00:12Хорошо, попробую.
Не посоветуете еще, как вносить эти изменения? Редактировать файлы через vi в ssh — получается очень печально. Использовать sftp или scp у меня не получилось, видимо это ограничения dropbear.
Я бы хотел скопировать нужные файлы на ПК, отредактировать их, а затем загрузить обратно.
Хорошо, попробую.
Не посоветуете еще, как вносить эти изменения? Редактировать файлы через vi в ssh — получается очень печально. Использовать sftp или scp у меня не получилось, видимо это ограничения dropbear.
Я бы хотел скопировать нужные файлы на ПК, отредактировать их, а затем загрузить обратно.

Цитата: Sadler от 01/09/2019, 00:18/web находится в read-only FS, отредактировать его без пересборки прошивки не получится. Можно редактировать копию в /tmp/web , но после первой же перезагрузки она будет заменена. Поэтому варианта два: либо обойтись nvram_acl , либо самостоятельно пересобирать фирмварь.
/web находится в read-only FS, отредактировать его без пересборки прошивки не получится. Можно редактировать копию в /tmp/web , но после первой же перезагрузки она будет заменена. Поэтому варианта два: либо обойтись nvram_acl , либо самостоятельно пересобирать фирмварь.

Цитата: alibek от 01/09/2019, 01:08Мне ведь не для личного пользования, а лицензия, насколько я помню, кастомизации в таких случаях не разрешает.
Раньше можно было архивом в RWFS подменять файлы прошивки. Теперь это делать нельзя?
Мне ведь не для личного пользования, а лицензия, насколько я помню, кастомизации в таких случаях не разрешает.
Раньше можно было архивом в RWFS подменять файлы прошивки. Теперь это делать нельзя?

Цитата: Sadler от 01/09/2019, 01:14В таком случае вряд ли чем-то можно помочь, web не хранится в rwfs, т.ч. и подменить его там не получится.
В таком случае вряд ли чем-то можно помочь, web не хранится в rwfs, т.ч. и подменить его там не получится.

Цитата: sfstudio от 01/09/2019, 13:571) Из RWFS как была возможность хоть весь WEB заменить так и осталась там логика не менялась Sadler (ты чего эт вдруг?) вводит в заблужение.
if [ -d /etc/web ]; then $LOG "Copy user web pages to tmpfs." cp -rpf /etc/web/* /tmp/web fiВыполняется при загрузке. Т.е. если туда (в /etc/web) положить странички которые надо подменить они будут подменятся в WEB при каждой загрузке.
1) Из RWFS как была возможность хоть весь WEB заменить так и осталась там логика не менялась Sadler (ты чего эт вдруг?) вводит в заблужение.
if [ -d /etc/web ]; then $LOG "Copy user web pages to tmpfs." cp -rpf /etc/web/* /tmp/web fi
Выполняется при загрузке. Т.е. если туда (в /etc/web) положить странички которые надо подменить они будут подменятся в WEB при каждой загрузке.

Цитата: alibek от 01/09/2019, 14:03О, спасибо.
О, спасибо.

Цитата: sfstudio от 01/09/2019, 14:042) Sadler добавь в туду по HQ возможность выставлять флаги для блокирования подгрузки asp файлов целиком с подменой на затычку per user. В HQ ессно. MT всё останется как есть. Только фиксы ошибок.
2 alibek Ну я всё понимаю. Но как бы ладно багрепорты. Ладно инфу какую запросить. Но ведь вы же должны пониматься, что NAG терь сам по себе, а MT ветка в режиме только багфиксов. Да и доки ессно никто под MT уже писать никакие не будет. NAG не дети африки что бы заниматься ТП за них. Решили они сами "развивать" - ок.
Sadler У тебя вроде работы и так вагон. А у меня 3 вагона и 4й на подходе.
Тему закрываю.
2) Sadler добавь в туду по HQ возможность выставлять флаги для блокирования подгрузки asp файлов целиком с подменой на затычку per user. В HQ ессно. MT всё останется как есть. Только фиксы ошибок.
2 alibek Ну я всё понимаю. Но как бы ладно багрепорты. Ладно инфу какую запросить. Но ведь вы же должны пониматься, что NAG терь сам по себе, а MT ветка в режиме только багфиксов. Да и доки ессно никто под MT уже писать никакие не будет. NAG не дети африки что бы заниматься ТП за них. Решили они сами "развивать" - ок.
Sadler У тебя вроде работы и так вагон. А у меня 3 вагона и 4й на подходе.
Тему закрываю.