Автор Тема: доступна бета зимних стартеркитов (20161205)  (Прочитано 3066 раз)

dango

  • Гость
Вчера хватило времени только на установку alt-p8-sysv-xfce-20161205-i586 на нетбуке ASUS X101CH.
Но одну проблемку успел выцепить.
После установки и загрузки в свежеустановленную систему под первым пользователем (username) при попытке настроить сетевые соединения в NetworkManager получил сообщение "Not authorized to control networking".
Решение отсюда:
$ su -
# groupadd -r _nmconnect
# gpasswd -a username _nmconnect
# reboot
После перезагрузки под первым пользователем успешно настроил в NetworkManager Wi-Fi-соединение.

Оффлайн Jinn

  • alt linux team
  • ***
  • Сообщений: 93
    • Email
Ну дык сейчас можно чрутнуться в установленную систему (в /mnt/destination)
и настроить сразу после установки.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Вчера хватило времени только на установку alt-p8-sysv-xfce-20161205-i586 на нетбуке ASUS X101CH.
Но одну проблемку успел выцепить.
После установки и загрузки в свежеустановленную систему под первым пользователем (username) при попытке настроить сетевые соединения в NetworkManager получил сообщение "Not authorized to control networking".
Решение отсюда:
$ su -
# nm-connection-editor

# groupadd -r _nmconnect
# gpasswd -a username _nmconnect
# reboot
После перезагрузки под первым пользователем успешно настроил в NetworkManager Wi-Fi-соединение.

Так может попросить Мишу добавить комментарий фиксом в 60-sysvinit-nm.rules чтобы выглядело так и поднять версию до 0.3.3?
// To edit the network connections:
// Add user to _nmconnect group as root
//
// groupadd -r _nmconnect
// gpasswd -a username _nmconnect
//
// Relogin please

polkit.addRule(function(action, subject) {
    if (subject.isInGroup("_nmconnect") && (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 )) {
        return polkit.Result.YES;
    }
});

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

Можно было ещё выполнить для редактирования/создания сетевого соединения, если прав на настройку/редактирование ни у кого нет
# nm-connection-editor

:-) Можно ещё так:
Создание системной группы _nmconnect и добавление в неё пользователя с id=500:500 имеющего право создавать/редактировать сетевые соединения
$ su -c "/usr/sbin/groupadd -r _nmconnect && /usr/bin/gpasswd -a $(grep 500 /etc/group|awk -F ':' '{printf $1}') _nmconnect"
Password:
Добавление пользователя itsme в группу _nmconnect
$ grep _nmconn /etc/group
_nmconnect:x:468:itsme
И перелогиниться в X-сессию.
Само-собой пользователь выполняющий команду должен состоять в группе wheel.
« Последнее редактирование: 07.12.2016 16:35:06 от Speccyfighter »

dango

  • Гость
Так может попросить Мишу добавить комментарий фиксом в 60-sysvinit-nm.rules чтобы выглядело так и поднять версию до 0.3.3?
Конечно, можно и так. ИМХО, для "изкоробочности" лучше чтобы эти команды выполнялись например при установке пакета polkit-sysvinit. Хотелось бы услышать мнение Михаила.
На мой предвзятый взгляд, лезть за подсказкой в интернет при ненастроенной сети, не шибко хорошая идея.
"Переведи!" (С) 8-)
« Последнее редактирование: 07.12.2016 17:47:12 от dango »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Так может попросить Мишу добавить комментарий фиксом в 60-sysvinit-nm.rules чтобы выглядело так и поднять версию до 0.3.3?
Конечно, можно и так. ИМХО, для "изкоробочности" лучше чтобы эти команды выполнялись например при установке пакета polkit-sysvinit. Хотелось бы услышать мнение Михаила.

Есть предложение ложить в polkit-sysvinit скрипт
(эти две команды совершенно аналогичны по функциональности: создают системную группу _nmconnect и добавляют в неё уже существующего в системе пользователя с gid=500; как правило это первый созданный на инсталляции пользователь, если где-то не взорвалось косяком конечно, - у второй команды более жёсткое условие grep: она исключает случайный grep номера gid 5000 или 50000, - номер gid между двоеточиями, в соответствии с форматом /etc/group)
/usr/sbin/groupadd -r _nmconnect && /usr/bin/gpasswd -a $(grep 500 /etc/group|awk -F ':' '{printf $1}') _nmconnect
/usr/sbin/groupadd -r _nmconnect && /usr/bin/gpasswd -a $(grep ':500:' /etc/group|cut -f1 -d ':') _nmconnect
Скажем этот исполняемый скрипт можно назвать sysuser2nmgroup. Это от фонаря конечно.

Подобно тому как в системе на первом старте настраивается alsa
$ rpm -qvl alsa-set-initial-options|grep first
-rwxr-xr-x    1 root    root             1524 дек 29  2011 /etc/firsttime.d/alsa-set-initial-options

Т.е. исполняемый файл с правами 700, - 755 здесь всё равно абсолютно бесполезно
/etc/firsttime.d./sysuser2nmgroup

Скрипт отработает на первом, после инсталляции, старте системы.


На мой предвзятый взгляд, лезть за подсказкой в интернет при ненастроенной сети, не шибко хорошая идея.
"Переведи!" (С) 8-)

На мой взгляд стартеркиты с sysv не для опытного пользователя, а для пользователя MS DOS или для MS DOS/W95 геймера, который хотя бы мало-мальски знаком с шелл и который знает что все настройки лежат в конфигах. Он наверняка догадается посмотреть коммент в рулезе.
Момент второй:
У пользователя может оказаться или маленький винчестер только для одной ОСи, либо один девственно чистый на его единственном компьютере, а посмотреть ему не через что, что делать чтобы настройка сети была разрешена и как и куда посмотреть. По крайней мере комментарий с командами в рулезе подскажет что делать. На крайняк даже ридми можно положить в корень образа с кратким указанием, подобно тому как это делалось в альтовых образах 13 лет назад.
И здесь есть ещё момент про посмотреть через андроид или второй компьютер:
У меня у самого десктоп и пара ноутбуков, но я крайне негативно отношусь к любым намёкам на нищебродов и не взирая на ранги и пожизненный бан, пресекаю такие намёки предельно грубо и без предупреждения, - дискриминацию пользователей по толщине кошелька я не потерплю. Вполне может оказаться что у пользователя один маленький компьютер и если добавление первого созданного в системе пользователя в _nmconnect не на автомате, то нужно дать ему шанс увидеть эту крайне необходимую информацию в офлайне, т.е в самой системе, в рулезе или в ридми образа.
« Последнее редактирование: 07.12.2016 20:56:19 от Speccyfighter »

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Если "неопытный" пользователь догадается заглянуть в rules и найдет там _nmconnect то он и в группу себя включить догадается.
Но может и не догадаться.
ИМХО сеть wifi должна работать "из коробки" без дополнительных телодвижений пользователя. Иначе не менее половины "неопытных" снесут "глючный" дистрибутив на sysvinit и установят что нибудь на systemd.
 

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Так может попросить Мишу добавить комментарий фиксом в 60-sysvinit-nm.rules чтобы выглядело так и поднять версию до 0.3.3?
Конечно, можно и так. ИМХО, для "изкоробочности" лучше чтобы эти команды выполнялись например при установке пакета polkit-sysvinit. Хотелось бы услышать мнение Михаила.

Есть предложение ложить в polkit-sysvinit скрипт
(эти две команды совершенно аналогичны по функциональности: создают системную группу _nmconnect и добавляют в неё уже существующего в системе пользователя с gid=500; как правило это первый созданный на инсталляции пользователь, если где-то не взорвалось косяком конечно, - у второй команды более жёсткое условие grep: она исключает случайный grep номера gid 5000 или 50000, - номер gid между двоеточиями, в соответствии с форматом /etc/group)
/usr/sbin/groupadd -r _nmconnect && /usr/bin/gpasswd -a $(grep 500 /etc/group|awk -F ':' '{printf $1}') _nmconnect
/usr/sbin/groupadd -r _nmconnect && /usr/bin/gpasswd -a $(grep ':500:' /etc/group|cut -f1 -d ':') _nmconnect
Скажем этот исполняемый скрипт можно назвать sysuser2nmgroup. Это от фонаря конечно.

Подобно тому как в системе на первом старте настраивается alsa
$ rpm -qvl alsa-set-initial-options|grep first
-rwxr-xr-x    1 root    root             1524 дек 29  2011 /etc/firsttime.d/alsa-set-initial-options

Т.е. исполняемый файл с правами 700, - 755 здесь всё равно абсолютно бесполезно
/etc/firsttime.d./sysuser2nmgroup

Скрипт отработает на первом, после инсталляции, старте системы.

Но скорее всего строки должны выглядеть так, чтобы исключить выброс в терминал сообщений и ошибок, - команды для скрипта по принципу ИЛИ:
/usr/sbin/groupadd -r _nmconnect &>/dev/null && /usr/bin/gpasswd -a $(grep ':500:' /etc/group|awk -F ':' '{printf $1}') _nmconnect &>/dev/null
/usr/sbin/groupadd -r _nmconnect &>/dev/null && /usr/bin/gpasswd -a $(grep ':500:' /etc/group|cut -f1 -d ':') _nmconnect &>/dev/null

Иначе на первой команде (до двойного амперсанда) на ошибке/сообщении, вывалит в tty1 (например группа существует), а после двойного амперсанда, обязательно вывалит в tty1, что пользователь user добавлен в группу.

Чтобы выглядело где-то так, например:
#!/bin/sh

/usr/sbin/groupadd -r _nmconnect &>/dev/null
/usr/bin/gpasswd -a $(grep ':500:' /etc/group|cut -f1 -d ':') _nmconnect &>/dev/null

Аналогично этому, с тем отличием, что старт всем кроме root запрещён
# ls -l /etc/firsttime.d/alsa-set-initial-options | awk '{print $1,$3,$4,$9}'
-rwxr-xr-x root root /etc/firsttime.d/alsa-set-initial-options

Правда для случая с etcnet, _nmconnect будет явно лишней.


Логика firsttime такая:
# grep -rHin firsttime /etc/
/etc/rc.d/scripts/first_time:3:[ -f /etc/firsttime.flag ] || exit 0
/etc/rc.d/scripts/first_time:4:rm -f /etc/firsttime.flag
/etc/rc.d/scripts/first_time:5:run-parts /etc/firsttime.d
# grep -rHin first_time /etc/
/etc/rc.d/init.d/local:24:/etc/rc.d/scripts/first_time
# cat /etc/rc.d/scripts/first_time
#!/bin/sh

[ -f /etc/firsttime.flag ] || exit 0
rm -f /etc/firsttime.flag
run-parts /etc/firsttime.d

Если /etc/firsttime.flag не существует, - ничего не выполнять.
Иначе:
Удалить /etc/firsttime.flag и выполнить исполняемые скрипт-файлы в /etc/firsttime.d
Т.е. исполняемый скрипт (для polkit-sysvinit) должен лежать в том каталоге, в котором скрипты выполняются только на первом старте системы.
А это нам и требуется:
На первом старте системы добавить пользователя с gid=500 в системную группу _nmconnect.


Предлагайте любой альтернативный вариант, возможно ваш будет лучше.
« Последнее редактирование: 07.12.2016 22:39:40 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Если "неопытный" пользователь догадается заглянуть в rules и найдет там _nmconnect то он и в группу себя включить догадается.
Но может и не догадаться.

Поэтому и предлагал ложить README в корень образа. Который был и в Junior 2.0 и в Junior 2.2. Там было много полезных фишек.

Но:
Высказывайте любые варианты. У театралов это называют мысли на мусор, - этап когда генерируются идеи.

ИМХО сеть wifi должна работать "из коробки" без дополнительных телодвижений пользователя. Иначе не менее половины "неопытных" снесут "глючный" дистрибутив на sysvinit и установят что нибудь на systemd.

В сети со статикой этого не избежать нигде, ни в одной ОСи. Хоть два systemd к ней прицепи.
К тому же пароль к точке доступа всё-таки придётся вводить, и мало кому понравится вводить его каждый раз.
А про dhcp посмотрел бы кто, у меня все клиентские машины на статике с фильтрацией.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Ещё просьба, если возможно, включить в образ sysv-xfce эти пакеты:
# apt-get install firefox-uBlock htop leafpad cdrkit mediainfo \
nload sysstat disable-usb-autosuspend  libopenal1 atril-gtk-djvu \
xinput dmidecode ntpdate menulibre -y
Или что-то из этого.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
ИМХО сеть wifi должна работать "из коробки" без дополнительных телодвижений пользователя
Это ещё и и производителя железа зависит. Эти бродкасты, наверное уже у всего форума в печёнках сидят - обному подавай один драйвер, другому другой, а третьему третий.
PS Жаль что модуль ядра  для ndiswrapper никто не соберёт - хороший был костыль для особо запущенных случаев.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Эх, не додумался хотя бы на выходных сюда заглянуть...
братцы, ТРЕБУЮ пинать меня почтой при ВАЖНЫХ ответах на форуме :(

PS: похоже, надо будет сделать в фиче deflogin управление группами через /usr/share/install3/default-groups (заодно обобщить код из фичи net-usershares); сейчас пытаться это сделать и пересобрать не хочу, чтоб не накосячить в общем для различных стартеркитов коде и не сломать воспроизводимость, лучше спокойно наработаем решение и положим рядом в beta/ более новую сборку, а это задокументируем (если кто напишет http://www.altlinux.org/Starterkits/sysv-xfce за меня, спасибо).
« Последнее редактирование: 12.12.2016 17:48:22 от gvy »
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

dango

  • Гость
Эх, не додумался хотя бы на выходных сюда заглянуть...
братцы, ТРЕБУЮ пинать меня почтой при ВАЖНЫХ ответах на форуме :(
Михаил, не пинаю, потому что понимаю, что у всех конец года со всеми следствиями и последствиями. Тут бы рад погрузиться, а хватает только по верхам.