Задача следующая:
Для организации терминального доступа я часто использую 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 (но тут много недочетов, пользователь может презапустить чужой сеанс, не отслеживается номер консоли и т.п.)