добавил лог в пост выше.
Если не поможет, готов организовать доступ по ssh. Могу дать доступ к облаку, там консоль…
У меня SprutHub BETA установлен. Может он?
Выполните
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
Ну и - какие-то операции с файлами проводились из систем с неадекватным поведением, например Windows?
Судя по группе - возможно.
Помогло! Спасибо!
Стало так:
Windows нет. Выполнялась установка SprutHUB через инструкцию в их ТГ канале (ссылку на который Wirenboard присылает в email при покупке WBE2R-R-ZIGBEE-SH).
Инструкция заключается в wget (суперсекретныйадрес)/install.sh | bash и далее мной осуществлен переход на SprutHUB BETA из интерфейса через GUI.
В скрипте install.sh есть следующий код:
if $CREATE_USER; then
if [ ! -d $USERDIR ] || ! getent passwd ${USER} >/dev/null; then
if $USE_SYSTEMD && [ -f /etc/systemd/system/spruthub.service ]; then systemctl stop spruthub; fi
echo "Creating User ..."
if [ ! "$(getent group "$1")" ]; then groupadd ${GROUP}; fi
useradd --system -m -u 666 -g ${GROUP} -d $USERDIR -s /usr/sbin/nologin ${USER}
fi
if getent passwd ${USER} | grep bash >/dev/null; then usermod -p "*" -s /usr/sbin/nologin ${USER}; fi
usermod -g ${GROUP} ${USER}
set -- "ssh" "input" "gpio" "i2c" "spi" "adm" "dialout" "cdrom" "sudo" "audio" "video" "plugdev" "games" "users" "netdev"
for ITEM in "$@"; do group_check ${ITEM}; done
fi
И для примера:
Мне надо все объекты из перечня “вернуть” по правам, по аналогии с sudo?
[непечатное удалено] ну, оно ведь не только в этом конкретном месте, в fastcgi, может вылезти. Как бы смена разрешений на системные каталоги - ну зачем?
Ну, в общем, ладно если только в каком-то именно beta релизе. Но необычный подход, совсем не учитывающий то что в ОС могут работать еще и другие программы… Я пару раз пробовал поставить SH, остался на HA у которого по крайней мере поведение описано.
Я бы обновился с помощью FIT. Там для некоторых файлов есть suid, права не у каждого одинаковы. Руками - долго.
Скрипт НЕ в бете! А в основном скрипте инсталляции SH. Может передадите партнеру рекомендации?
Просто сверху fit накатить?
Так?
Написал, да.
Да. Содержимое корня поменяется целиком. Это проще чем восстанавливать руками.
P.S. Я еще мучался с тем, что в /etc/default/locale в какой то момент был прописан ru_RU.UTF-8 и работать в отладочной консоли стало не возможно. Оно по-русски стало запрашивать пароль, а на компе был не “продвинутый” терминальный и UTF-8 он не понимал… пришлось помучаться с подбором софта.
Теперь нашел истоки своих проблем и они в этом же скрипте:
if $Wirenboard6 || $Wirenboard7; then
if ! locale | grep -q ru_RU; then
ln -sf /etc/locale.alias /usr/share/locale/locale.alias
locale-gen ru_RU.utf8
export LC_ALL=ru_RU.UTF-8
export LANG=ru_RU.UTF-8
update-locale LC_ALL=ru_RU.UTF-8 LANG=ru_RU.UTF-8
sync
fi
fi
@BrainRoot
У Вас есть ссылка на сам скрипт? Может посмотрите, что еще чудаковатого он делает?
Посмотрю, не обещаю что в ближайшие пару дней, но запланирую.
Использую ссылку Обновление прошивки контроллеров Wiren Board 6.x — Wiren Board
Абзац " Обновление через веб-интерфейс".
Там ссылка на stable - https://fw-releases.wirenboard.com/fit_image/stable/67/latest.fit
Т.к. у меня Testing, из инструкции из статьи я иду в репозиторий (ссылка из web интерфейса устройства, из раздела обновления, тоже туда ведет), в S3 Bucket Listing Generator
И там файл README - https://fw-releases.wirenboard.com/fit_image/README.txt
И он не понятный!
Файлы для обновления контроллеров WirenBoard.
Различаются для аппаратных ревизий контроллера.
Общая логика выбора:
1) узнать аппаратную ревизию контроллера (вида 6.9.1)
2) выбрать директорию, ближайшую к ревизии, но в меньшую сторону
Примеры:
* Ревизия контроллера - 5.6; Директория с прошивками - 55
* Ревизия контроллера - 5.8.1; Директория с прошивками - 58
* Ревизия контроллера - 6.5; Директория с прошивками - 6x
* Ревизия контроллера - 6.7.2; Директория с прошивками - 67
* Ревизия контроллера - 6.8.1; Директория с прошивками - 67
У меня ревизия 6.9, для невнимательных - укажите в файле, “6.7, 6.8 и 6.9” Директория с прошивками - 67
Далее иду в Testing (хотя в readme об этом так же ни слова).
Там в 67 и в нем пять видов файлов:
- latest.fit
- вида 202402120208_testing_bullseye_wb67.fit
- latest_stretch.fit
- latest_stretch_FACTORYRESET.fit (хотя по вики нужен wb6_update_FACTORYRESET.fit)
- вида 202210191315_testing_webupd_wb67.fit
Ладно бы 6-ая версия старая и фиг с ней, но из интерфейса свежего ПО идет ссылка в этот репозиторий и там readme, в котором не указано ни про 7x (они подходят на 7.4?) ни про методику именования, ни ссылки на статьи про обновление (а их три, для 7.х и 7.4 разные).
не до документировано, как мне кажется.
Поправим, благодарю. Да, не составит труда просто перечислить все ревизии, отличия в 6.7-6.9 в основном схемотехнические и их не так много чтоб просто не перечислить.
Да, посмотрел “со стороны” на 2) выбрать директорию, ближайшую к ревизии, но в меньшую сторону и тоже не понял. Переработаем, конечно, вот это, свежий взгляд - ценно, я сам этот файл и не открывал никогда, к стыду своему.