Автор Тема: Не знаю с чего начать!  (Прочитано 1394 раз)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 443
Не знаю с чего начать!
« : 06.05.2013 12:33:31 »
Задача следующая:
Для организации терминального доступа я часто использую vncserver, но для его администрирования требуются рутинные телодвижения:
1. Добавить виртуальный рабочий стол пользователя - требует правки /etc/sysconfig/vncservers
2. Перезапустить сеанс - требует:
   2.а. Правки /etc/sysconfig/vncservers
   2.б. service vncserver restart   2.в. Правки /etc/sysconfig/vncservers обратно до исходного состояния
3. Изменить геометрию рабочего стола - процесс аналогичный

Так вот, хотелось бы автоматизировать сей процесс в виде модуля альтератора, дабы можно было бы из веб интерфейса перезапустить сеанс, добавить пользователя и т.д.

Есть вопросы:
1. Вообще не представляю себе как подойти к написанию модуля альтератора (не знаю как вообще они устроены, имеется ввиду структурно)
2. Как правильно указывать пользователя, для этой подсистемы? Своя собственная база пользователей со ссылками на ldap или создавать схему к ldap в которой указывать хранимые параметры пользователя (будет у него виртуальный сеанс или нет, геометрия сеанса, dm и т.п.) а скриптом обрабатывать запросы к ldap
3. Или вообще, ничего этого не трогать, а добавить команды к service vncserver start/stop/startn */restartn *

P.S. Речь не идет о том, чтобы сделать быстро, а о том, чтобы максимально правильно. Быстро я сделал в виде нескольких файлов vncservers в каталогах пользователя и скрипт от рута, который временно подменяет оригинальный файл /etc/sysconfig/vncservers на пользовательский и рестартует сервис vnc (но тут много недочетов, пользователь может презапустить чужой сеанс, не отслеживается номер консоли и т.п.)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Андрей Черепанов (cas@)

Оффлайн flint1975

  • Участник
  • *
  • Сообщений: 1 443
Re: Не знаю с чего начать!
« Ответ #2 : 07.05.2013 19:42:55 »
Спасибо за ссылку, понял гораздо больше чем сам догадывался.
Теперь возникли вопросы:
1. Правильно ли я понял?
При решении поставленной задачи надлежит вести разработку с двух сторон: а) бэкэнд б) Интерфейс
Собственно, в применении к моей задаче требуется где-то хранить промежуточные результаты, а собственно: Массив пользователей с номерами рабочих столов и признаком инициализированности, массив параметров. На основании этих сохраненных данных будет генерится /etc/sysconfig/vncservers. Вопрос заключается в том, как именно, согласно правил хорошего тона, это следует организовать:
а) в виде отдельного конфигурационного файла, например: /etc/sysconfig/vncservers.def , который парсить в бэкэнде
б) в виде дополнительных полей у базы пользователей, которые вычитывать в том же бэкэнде.
???
Еще вопрос, как можно получить пароли пользователей для задания их же в качестве паролей vnc? (или придется модифицировать alterator-ldap-users ?)


Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Не знаю с чего начать!
« Ответ #3 : 08.05.2013 09:13:31 »
Смотрите как в других модулях сделано. И читайте FHS и man tcb.
Андрей Черепанов (cas@)