LINUX.ORG.RU
ФорумAdmin

Вынести часть профиля куда-то и сделать общим для нескольких пользователей

 ,


0

2

Накидайте идей.

Есть netboot образ, несколько пользователей
Домашние директории на NFS

Хочется где-то в одном месте хранить общую часть профиля пользователей и отдавать в RO или пусть сбрасывать при каждой авторизации.

Пытался завести overlayfs, как наиболее логичное решение, но nfs не может быть upperdir.

Сейчас скрипт запускается силами pam_exec и копирует /etc/skel в профиль пользователя, чем гарантирует нужные ярлыки и некоторые настройки профиля.

Но вот к примеру удалять старые ярлыки скрипт не умеет.

Какие есть альтернативы кроме как наращивать логику скрипта?

Ответ на: комментарий от ox55ff

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

Flotsky
() автор топика

и пусть сбрасывается при каждой авторизации ??
дык и подключи удаленный ro хомяк как lowerdir (nfs или вообще образ в squashfs)
а поверх него локальный tmpfs хомяк. при выходе его размонтировывать и он сбросится.

pfg 👍👍👍
()
Ответ на: комментарий от pfg

Всё бы хорошо, вот только в RO/сбрасываться должны только условно ярлыки на рабочем столе/настройки интерфейса
Загрузки/профили браузера и других ПО каких бы там не надо было пользователю надо сохранять.

Ну может можно заморочится и каждую RW директорию точечно монтировать с NFS сервера, но это такое себе решение

Flotsky
() автор топика
Ответ на: комментарий от Flotsky

а, ты про это, тебе места штоль жалко ?? :)
забей. чтоб засрать современный носитель, даже в троем, эт надо сильно постараться.
ну можешь видосики, музыки, кеш бравзера и прочий ширпотреб сделать общими…

pfg 👍👍👍
()
Ответ на: комментарий от pfg

Ладно, попробую на примере.

Вот есть у меня условные 100 пользователей, читай 100 директорий профилей.

Есть задача «ярлыки/настройки по списку добавить/удалить/изменить»

С добавить/изменить мой скрипт справится. А вот для удалить надо или руками каждому пользователю найти и удалить этот ярлык или обернуть это скриптом каким. Это в любом случае время/ошибки.

Вот я и хочу унести эти ярлыки/настройки в одно общее для всех пользователей место чтобы только туда один раз внести изменение и всё.

Flotsky
() автор топика

Хочется где-то в одном месте хранить общую часть профиля пользователей

Например можно сделать линки с покоцаными правами.

anc ☕☕☕☕☕
()
Ответ на: комментарий от cobold

К примеру в ~/Desktop пользователь может положить что ему захочется рядом с ярлыками и если я почищу эти файлы это не будет хорошо

Но для скажем ~/.config/autostart такая логика вполне сработает

Flotsky
() автор топика

Но вот к примеру удалять старые ярлыки скрипт не умеет.

Удаляй весь профиль и воссоздавай заново.

Или храни профили в tmpfs.

Вообще пока не понял сути проблемы.

alt-tab-let 😊😊
()

rclone как продвинутый синхронизационный демон мог бы помочь делу ИМХО.

или можно общую часть профилей положить в какую-то специальную папочку, а юзерам в их домашние директории раскидать симлинки...

piyavking 😊
()
Ответ на: комментарий от pfg

Тебе нужно использовать систему оверлеев, когда есть base_system, base_home, home_user1

Где первые два пункта это sfs ro а 3 пункт это nfs rw

Первые два ты хоть на http сервер положи

Только тебе правильно загрузчик приготовить нужно

zxflux
()
Последнее исправление: zxflux (всего исправлений: 2)
Ответ на: комментарий от zxflux

Плюсую систему оверлеев, будет похоже на винду.
Но это только если нужны условные файлы/каталоге для «только чтения», типа «ярлыков», «шаблонов» и т.д.
Если нужно ещё и настройки распространять, то выбирай Puppet, Chef, Ansible, Salt, etc..

Atlant
()
Ответ на: комментарий от Atlant

Весь нужный софт ставится в хомяк по пути .local/*

Где собственно user root и находится, всё что ты перечислил впринципе не нужно, настройки хранятся в деривативах производных от base_home, в зависимости от роли юзера

zxflux
()
Ответ на: комментарий от zxflux

Я не спрашиваю как мне образ собрать, только варианты для вынести часть данных профиля куда-то в общее место.

home_user1
пункт это nfs rw
систему оверлеев

А тему почитать?

Пытался завести overlayfs, как наиболее логичное решение, но nfs не может быть upperdir.

https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html#upper-and-lower

3 абзац явно говорит, что nfs not suitable как upper. Я всёравно попробовал, оно просто не монтируется

Flotsky
() автор топика
Ответ на: комментарий от Flotsky

К примеру в ~/Desktop пользователь может положить что ему захочется рядом с ярлыками и если я почищу эти файлы это не будет хорошо

А если он туда ещё один ярлык положит?

ya-betmen 😊😊😊😊😊
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

А это исключение, которым я возможно готов пожертвовать.
По крайней мере по статистике ни кто так ещё ни разу не сделал.

Ну в теории я могу добавить в созданные мной ярлыки какую-то строку по которой идентифицировать кто сделал файлик.
Усложнение скрипта синхронизации…

Flotsky
() автор топика
Ответ на: комментарий от Flotsky

Я про то, что ты бы сначала определил способ отличать своё и чужое а потом и реализацию можно придумать, начиная с какой-нить оверлейфс и заканчивая простым скриптом очистки. Пока что кажется без либастрал не обойтись.

ya-betmen 😊😊😊😊😊
()
Последнее исправление: ya-betmen (всего исправлений: 2)
Ответ на: комментарий от Flotsky

вот началось правильное действо - подробное разъяснение «чего тебе надобно старче» :)
еще доп.вопрос, а то ту по теме уже идут разногласия:
у тебя система с тонкими клиентами ?? т.е. весь бардак лежит на сервере, на клиенте мелкая запускалка, которая все хомяьи файлы дергает по сети ??
или на клиентах есть носитель с набором файлов пользователя и что добирается по сети ??

к примеру можешь сделать 100 пользовательских проилей в которых ~/Desktop будет представлять собой линк на одну диру которую чистишь.

я б предложил на клиенте после логина монтировать ~/Desktop в виде tmpfs и копировать в него некоторый необходимый набор файлов/ссылок/линков и т.д. апосля выхода содержимое сбрасывается и в следующих заход юзверь начинает с чистого листа.

pfg 👍👍👍
()

А если попробовать организовать overlayfs на сервере, где хостятся nfs и монтировать по сети merged каталоги хомяка?
Или и в таком случае nfs и overlayfs тоже не дружат? То, что завести lowerdir и upperdir по сети не выйдет, понятно.

sehellion ☕☕
()
Ответ на: комментарий от sehellion

А хотя беглым гуглингом натыкаюсь, что так тоже нельзя
https://bbs.archlinux.org/viewtopic.php?id=192585

Тема по ссылке старая, но судя по объяснению в ней причина осталась и никуда не денется

Flotsky
() автор топика
Ответ на: комментарий от Aceler

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

Flotsky
() автор топика
Ответ на: комментарий от Aceler

Вынести часть профиля куда-то и сделать общим для нескольких пользователей (комментарий)

У меня есть список директорий/файлов на данный момент, которые должны быть общими для всех.

Также у меня есть явное понимание, что этот список будет меняться и я не могу предугадать как.

И у этого списка будет сложная структура т.к. к примеру google-chrome решил хранить свой профиль в .config/..., значит я не могу просто сделать .config общим на всех

Flotsky
() автор топика

Увы за всё это время из альтернатив «доработать скрипт» предложили только реализовать overlayfs на стороне NFS сервера.

Подумал, взвесил. Остановлюсь на скрипте, он в любом случае дальше и для других целей понадобится.
Ожидал, что есть что-то более менее готовое для подобных задач

Flotsky
() автор топика