Пожелания разработчикам (навеяно установкой на боевой сервер)

Жаль что мы с Вами не в одном городе находимся - попросил-бы выполнить описанный Вами алгоритм на “бис” на базе CDS 10.0 :wink: Слишком много в вашем описании пропущено - и загрузчик на ДВА раздела писать нужно, и не забыть модуль raid1 подгрузить, и mdraid запустить и помочь при первой загрузке initrd, а то не сгенерится …

Единственное что пропустил - установка загрузчика на два раздела. Модуль raid1 у меня на CDS 10.0 подгрузился ЕМНИМ сам, а initrd трогать тоже не надо - только нужно прописать domdadm.

А что будет при обновлении системы - так даже думать не хочу… Так что на месте разработчиков я бы просто вписал данный пункт в “план полета”

Та ничего страшного не будет :slight_smile:
Хотя в “план полета” таки не помешало бы, но далеко не в первую очередь.

btw, не трогайте reiserfs, мне он нравится :slight_smile:

Хотя в “план полета” таки не помешало бы, но далеко не в первую очередь.

Может все тоже и в своем блоге :slight_smile:

Хорошо, только чуть освобожусь. Сейчас просто допиливаю до рабочего состояния CLD с Gnome (раз вы не успели :slight_smile: ) и тестирую его в рабочей обстановке.

Хорошо, только чуть освобожусь. Сейчас просто допиливаю до рабочего состояния CLD с Gnome (раз вы не успели :slight_smile: ) и тестирую его в рабочей обстановке.

Отлично, это тоже можно будет описать :slight_smile:
Что следует включить в app-misc/cldg-meta, а также профиль calculate/desktop/CLDG/amd64.
Т.к. на подбор софта и настройки уйдет прилично времени.

Можно в принципе, хотя сомневаюсь в ценности моих настроек, т.к. они абсолютно не вписываются в стиль Calculate :slight_smile:
И у меня только x86 используется.

Как и обещал, продолжение:

Сетевые ресурсы, монтируемые на клиента — не могу на 100% согласится с существующим решением. Объясню по какой причине - имея немаленький опыт эксплуатации “нехорошего ПО” (типа 1С 7.7) на SAMBA-серверах вывел для себя раз и навсегда правило - есть ПО, для которого самые лучшие право доступа на шару - это rwx:rwx:rwx. Да, секьюрность *nix воет волком от такого решения, но только в таком случае не приходится заниматься поиском блох от некоторых M$-воятелей.
Что предлагается в данном случае? - выставить в samba.conf все security и mask на /var/calculate/server-data/samba/share в 0777 и рулить дальше через ACL ? У меня только два вопроса к разработчикам - первый - все ли нюансы работы ACL они учли; и второй - что будет с безопасностью наших сетевых шар, если они не учли все возможные комбинации в ответе на вопрос первый :wink: Потому как я администратор вменяемый, и на остальных samba-ресурсах мне нужна НОРМАЛЬНАЯ реализация разграничения прав доступа, не зависящая от того, “кто-чем-и-как” туда ломится. А это, как показывает практика, получается только на связке прав с samba.conf и прав ФС (пусть даже с ACL). К сожалению, в нынешней реализации ACL на ФС не покрывает все потребности при контроле прав доступа к расшаренным ресурсам …

Мне видится более правильным и грамотным следующее решение - не ограничивать количество шар в samba, которые участвуют в работе Calculate, а добавить, например /etc/calculate/calculate.mnt, в котором прописывать - какие ресурсы samba и в какие точки монтируются на клиенте …

Мне видится более правильным и грамотным следующее решение - не ограничивать количество шар в samba, которые участвуют в работе Calculate, а добавить, например /etc/calculate/calculate.mnt, в котором прописывать - какие ресурсы samba и в какие точки монтируются на клиенте …

Так как здесь могут быть разные опции монтирования, проще добавить свой скрипт монтирования при входе в сеанс.
Файл /usr/share/config/kdm/kdmrc:

Startup=/usr/share/calculate/xdm/login;/../my_mount
Reset=/usr/share/calculate/xdm/logout;/../my_umount

… можно конечно итак, вот только возникает несколько подводных камней …

1 - а как быть с идеологией централизованности Calculate ? - получается на каждом клиенте все “по своему”
2 - а как для этого скрипта выдрать логин/пас пользователя, который в настоящее время проходит авторизацию - нам ведь желательно монтировать от его имени ?

… не знаю, ИМХО единый конфигурационный файлик, в котором прописано какие шары в какие точки и с какими опциями монтировать - был бы оптимальнее. (можно еще “довернуть” его до структуры “пользователь-шары-точки_монтирования-опции_монтирования”) … Распарсить подобное утилитами Calculate не кажется проблемой, а гибкость системы существенно возросла-бы - с одной стороны единое место, где мы управляем монтированием, а с другой ушли-бы от существующего ограничения на количество монтируемых шар …

Подобные вещи должны выполняться plugin-ами или всевозможными расширениями. Именно над этим мы сейчас и работаем - документацией и переработкой кода.

В момент выполнения скрипта kdm, а также на протяжении работы пользователя, его пароль известен root-у и хранится в ключах ядра. Благодаря этому можно [[keyexec|выполнять Windows приложения]] с терминального сервера без ввода пароля. Извлечь пароль из ядра можно так:

keyctl list @us | grep user
keyctl print ID

Извлечь пароль из ядра можно так:
[…]

И "да и “нет” - со старта заходим первым пользователем - да, keyctl list @us как и говорили - выдает нам имя нашего пользователя, но! система то у нас многопользовательская - не перезагружаясь завершаем сеанс текущего пользователя и логинимся под другим. И вывод все той-же команды уже выглядит как

798060949: --alswrv 0 0 user: alexandr
347357565: --alswrv 0 0 user: kostya

… т.е. однозначно определить кто в данный момент входит в систему мы уже не можем …
… куда копать? …

Посмотрите переменную $USER.

Alexander Tratsevskiy wrote:

Так как здесь могут быть разные опции монтирования, проще добавить свой скрипт монтирования при входе в сеанс.
Файл /usr/share/config/kdm/kdmrc:
[…]

… угу, для KDE это работает, а вот что делать при использовании XFCE ?

Для XFCE

/etc/slim.conf

Как это сделано у нас
зти строчки

login_cmd               exec /bin/bash -login /etc/X11/xinit/xinitrc
sessionstart_cmd    /usr/bin/sessreg -a -l :0.0 %user
sessionstop_cmd         /usr/bin/sessreg -d -l :0.0 %user

заменяем на эти

login_cmd               /usr/share/calculate/xdm/cmd_login && exec /bin/bash -login /etc/X11/xinit/xinitrc
sessionstart_cmd    export USER=%user && /usr/share/calculate/xdm/login && exec /usr/bin/sessreg -a -l :0.0 %user
sessionstop_cmd         export USER=%user && start-stop-daemon --start --exec /usr/share/calculate/xdm/logout && killall gam_server && /usr/bin/sessreg -d -l :0.0 %user

где

  • /usr/share/calculate/xdm/cmd_login - скрипт выполняемый при входе пользователя (в переменной $USER имя пользователя)
  • /usr/share/calculate/xdm/logout - скрипт выполнямй при выходе пользователя (в переменной $USER имя пользователя)

спасибо за подробное описание :wink:
… только вижу разное поведение в CLD и CLDX - добавляю в скрипт /usr/share/calculate/xdm/cmd_login строку:

mount -v -t cifs -o user=$USER,iocharset=utf8,users,owner //server/new.share /media/new.share

в CLD - шара нормально монтируется от имени пользователя, а в CLDX - система на моменте монтирования просто зависает… Но то-же самое, только с явным указанием пользователя/пароля - работает и в CLD и в CLDX.

небольшое уточнение
/usr/share/calculate/xdm/login - скрипт выполняемый при входе пользователя
/usr/share/calculate/xdm/cmd_login - скрипт проверки на ошибки (если есть файл ошибок то выходим)

сорри, описался - естественно добавлял в /usr/share/calculate/xdm/login, перед строкой exit0. Такое ощущение, что в CLDX ядро в момент выполнения этого скрипта не знает (не захешело) пароль пользователя …