vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
По совету [livejournal.com profile] sergio остановился для синхронизации тех данных, которые не умеют синхронизироваться сами (баз keepass, всякой персональной информации, хранящейся в зашифрованных текстовых файлах) на syncthing.

Штука это довольно забавная. Управляется через встроенный вебинтерфейс, который автоматически взлетает на localhost:8384. В дебиановский пакет входят юнит-файлы для systemd, а скриптов для альтернативных инит-систем нет. Пришлось для ноутбука, где системд нет, самому писать.

Подниматься оно желает по экземпляру на пользователя. (собственно юнит-файлы так прописаны). Как организовать многпользователькую систему, не занимая на каждого юзера аж по два порта - один для собственно синхронизации, второй для веб-интерфейса, непонятно.

По умолчанию заниматеся поисками peer-ов само, идентифицируя и авторизуя их по фингерпринтам сертификатов. Но можно настроить явно указанный IP для пира. Поэтому схему "звезда" с центральным сервером на VDS у хостинг-провайдера реализовать можно. Только настраивать сервер у провайдера приходится посредством проброса порта по ssh, поскольку в links веб-интерфейс syncthing не живет.

К андроидному syncthing обязательно нужно добавить вот этот ShoppingList - ибо крайне удобно. На десктопе пишешь список покупок в обычном текстовом файле, а потом ходишь по магазину с телефоном и галочки расставляешь.

Date: 2018-06-28 10:44 am (UTC)
avnik: (Default)
From: [personal profile] avnik
А еще не научились делать базовые sysvinit скрипты из юнитов? (в смысле готового генератора нет? там же достаточно тривиально должно быть)

Date: 2018-06-28 11:11 am (UTC)
avnik: (Default)
From: [personal profile] avnik
Ну либо генерить по скрипту на каждую подстановку, либо играться с $0 седом в рантайме ;)

PS Подстановки -- это то что сделано относительно хорошо в systemd

Date: 2018-06-28 11:26 am (UTC)
avnik: (Default)
From: [personal profile] avnik
> Вообще, в Debian скрипты из /etc/init.d недаром считались конфигурационными файлами, предназначенными для
> ручной правки. Не надо их автоматически генерировать, их надо руками писать. Подумавши головой.

Ну учитывая, что они с пакетами приезжают... Поэтому _эта часть_ логики systemd, что мы сначала читаем системный конфиг, потом админский который override'ит параметры из системного мне кажется разумным.

Единственное, чего мне там не хватает -- это возможности залогинить сервисного юзера (с systemd --user, pam сессией, итд) dbus'овым вызовом (потому что очень не хочется возиться с PAM и поддерживать своего рутового демона для запуска сессий). Ну либо я чего-то незнаю.

Date: 2018-06-28 02:07 pm (UTC)
avnik: (Default)
From: [personal profile] avnik
> Когда хрен определишь из какого именно файлов в цепочке взялась конкретная настройка.

Если мне не изменяет память, там есть утилита которая позволяет это посмотреть (я видел в последних release notes каких-то).

> И в dpkg есть довольно удобный механизм интеграции изменений, сделанных мейнтейнером с изменениями,
> сделанными сисадмином.

Ну он _относительно_ удобный.
А вообще тут есть два подхода -- либо есть админ, который помнит все тонкости 5-100 хостов, имеет время и желание мержить конфиги (и которого может переехать автобус).

А бывает когда дефолтные настройки не устраивают, но желания/времени все это помнить нет -- и тогда у нас идет devops, когда мы описали чего мы хотим, и пускаем систему под бульдозер (просто ли выкатив свой my.tar.gz в /etc, применил в ansible. nixos или любой другой девопс интсрумент). Тут подход systemd больше вписывается, потому что тебе надо описать разницу между стандартным и тем что ты хочешь. А не тупо приносить с собой свой набор инитскриптов -- потому что тут тоже может критическая масса нарасти)

Date: 2018-06-29 08:27 am (UTC)
From: [personal profile] kostix
`systemd-analyze cat-config`, полагаю (вот тут упомянуто: http://www.opennet.ru/opennews/art.shtml?num=48823).
Edited Date: 2018-06-29 08:27 am (UTC)

Date: 2018-06-28 12:07 pm (UTC)
From: [personal profile] kostix
Там есть `machinectl`, который умеет системных юзеров с полной поддержкой PAM и `systemd --user`.

Можно начать, например, с

$ machinectl shell --uid some_sys_user

Date: 2018-06-28 12:08 pm (UTC)
From: [personal profile] kostix
Упс, там подразумевается # конечно же.

Date: 2018-06-28 01:40 pm (UTC)
avnik: (Default)
From: [personal profile] avnik
nspawn то как раз для хост системы --- запускать контейнеры

Date: 2018-06-28 01:48 pm (UTC)
avnik: (Default)
From: [personal profile] avnik
скорее systemd-run тогда (если верить мануалам).
Но мне все равно непонятно -- будет ли там (внутри) нормальный PAM (включая pam_mount), systemd --user/dbus --session итд).

(собственно задача -- выкинуть xrdp-sessman по причине его запредельной кривости, и пинать сессию dbus вызовом к systemd/logind/whatever)

Date: 2018-06-29 08:21 am (UTC)
From: [personal profile] kostix
Я не стану подписываться под этими словами, но:

- Интеграция с `systemd --user` точно есть (см. ниже), но нужно поставить `libpam-systemd`.
- Интеграция с `dbus` должна быть, если поставлен `dbus-user-session`.

Первое я проверял потому что у меня таким макаром настроено копирование "в облако" бэкапов с "бэкапного сервера".

Грубо говоря, скрипт с бэкапящейся машины юзает `borg`
чтобы забэкапить себя на бэкапный сервер, после чего
логинится туда по SSH ещё раз, дёргает `systemctl --user start sync-to-cloud@whatever_instance` и отваливается.
Для этого аккаунта настроен "лингеринг" (https://wiki.debian.org/systemd#orphaned_processes), и сессия остаётся жить после отлогина.

По поводу маунтов, я не знаю.
Быстрый гуглёж нашёл такое: https://kempniu.wordpress.com/2016/01/07/making-pam_mount-play-nicer-with-systemd-user-sessions/

Кстати, удобно юзать `loginctl user-status имяюзера` чтобы быстро посмотреть все деревья процессов, которые для него были созданы при участии systemd и всей этой механики.
Edited Date: 2018-06-29 08:25 am (UTC)

Date: 2018-06-29 01:20 pm (UTC)
avnik: (Default)
From: [personal profile] avnik
> логинится туда по SSH

А вот мне это не нужно как раз, мне надо на локальной машине запустить сессию через dbus. (видимо через тот вызов, к оторый использует systemd-run).
Сами разработчики systemd ничего внятного сказать не могут, либо предлагают таки писать свой демон работающий с pam (чего мне совсем не хочется).

> По поводу маунтов, я не знаю
У pam_mount ecть

<!-- if activated, requires ofl from hxtools to be present -->
<logout wait="10" hup="yes" term="yes" kill="yes" />


И оно замечательно работает. (правда не luks, а оверлеи)
В принцпе вместо ofl можно наверное и скрипт с использованием fuser использовать, но я все время забываю как.
Поэтому пошел по пути наименьшего сопротивления, и выдрал утилитку из пакета.
Сессию гашу вызовом logind.TerminateUser(username)

PS То есть нужна именно та часть функционала (ну скажем) sshd, которая ответственна за создание юзерской сессии. А там PAM, а это боль и страдания. В идеале нужен logind.LoginUser(user, path_to_session_leader_script)

Date: 2018-07-04 11:08 am (UTC)
avnik: (Default)
From: [personal profile] avnik
А как кстати должно быть нормально?

Я тут абсолютно согласен, что пам дефективный (особенно меня радует затыкание коллбека pam_print/pam_input (для получения логина/пароля _помимо_ того, что из могут передать туда как параметры (коллбеки я тут по смыслу обозвал, правильного их названия я не помню и слава б-гу))

Date: 2018-06-29 08:44 pm (UTC)
filin: (Default)
From: [personal profile] filin
Я им пользуюсь, но на телефоне он изрядно жрет батарейку. Стало полегче, когда я ему discovery по всему интернету откусил, но все равно жрет. Поэтому на телефоне я его постоянно включенным не держу.

Камень в огород

Date: 2018-07-06 05:53 am (UTC)
From: [identity profile] sergio.livejournal.com
В синхровещи меня смущают два пунткта:

1. Авторы на сайте говорят как добавить его в дебиан, хотя в дебиане он уже есть. А меня тупо послали с предложением написать об этом пояснение с указанием того, чем отличается их сборка от дистрибутивной, прикрываясь докером.

https://github.com/syncthing/website/issues/55


2. авторы предлагают гадить в /etc/apt/trusted.gpg, хотя в дебиане ясно сказано там не гадить а делать файл в trusted.gpg.d

https://github.com/syncthing/website/issues/56

https://manpages.debian.org/stretch/apt/apt-key.8.en.html


но ничего лучше syncthing под андроед нету

Re: Камень в огород

Date: 2018-07-06 01:34 pm (UTC)
From: [identity profile] sergio.livejournal.com
Поначалу его не было в дистрибутиве.

Я тоже с f-droid брал, не понял, какого эффекта?

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

March 2026

S M T W T F S
1 2 34567
8 910 1112 13 14
15 1617181920 21
22 23 24 25 2627 28
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 29th, 2026 02:24 pm
Powered by Dreamwidth Studios