Блог
alektronik
Блог
alektronik
From: MooSE < ;
Date: Mon, 18 Dec 2006 14:31:37 +0000 (UTC)
Subject: Настройка удаленного доступа к десктопу при помощи VNC
Оригинал:
Gentoo: Администрирование посредством VNC
Протокол VNC предусматривает подключение к удалённому рабочему столу.
Он является аналогом RAdmin из Windows, но в отличии от последнего
является кроссплатформенным и поддерживает шифрование передаваемых
данных.
Сразу оговорюсь что в этой статье я никоим образом не отрицаю других
способов удалённого администрирования Linux. Просто появилось желание
осветить возможности VNC - протокола, более удобного для начинающих
пользователей чем, например, SSH.
Как и большинство моих статей, эта статья будет ориентирована в первую
очередь на пользователей дистрибутива Gentoo, одним из которых я
являюсь. Однако 95% того что здесь написано применимо и для других
дистрибутивов.
Для начала нам нужно установить пакет VNC. Обязательно с включенным
флагом server. Для этого достаточно выполнить следующую команду:
USE=server emerge vnc
Если по какой-то причине сборка пройдёт не удачно - обновите ваше
дерево portage при помощи emerge --sync, emerge-webrsync или
emerge-delta-webrsync (Тут уж на ваше усмотрение). Всё дело в том что
в какой-то момент в дереве уже был X.Org 7, но имеющаяся версия VNC не
поддерживала его. Именно поэтому и нужно обновить дерево (Хотя по идее
поможет и откат на X.Org 6, но я не думаю что кто-то использует это
решение).
Следующим шагом нужно добавить в секцию Module файла /etc/X11/xog.conf
следующую строчку:
Load "vnc"
Теперь нужно решить вопрос с аврторизацией. Для анонимного доступа
добавьте в секцию Screen того же файла строчку:
Option "SecurityTypes" "None"
или, если вы хотите защитить свой рабочий стол паролем, то в секцию
Screen нужно добавить строки:
Option "SecurityTypes" "VncAuth"
Option "UserPasswdVerifier" "VncAuth"
Option "PasswordFile" "/etc/vncpasswd"
После этого вам понадобится задать пароль для подключения. Для этого
выполните от имени пользователя root:
# vncpasswd /etc/vncpasswd
и введите желаемый пароль (само собой два раза:)).
После этого вам необходимо перезапустить X-сервер.
Теперь вы можете ввести команду vncviewer < Ваш IP > и получить доступ к
вашему рабочему столу. Если вы хотите изменить какие-то параметры
VNC-сервера (например разрешение, глубину цвета или порт, на котором
"слушает" сервер) то вам нужно дописывать соответствующие параметры в
секекцию Screen файла xorg.conf. Список опций и их подробное описание
(на английском языке) есть в
Всё это, практически один в один на официальном
сайте , однако в man-страницах в самом пакете VNC про это
ничего не сказано. Поэтому и была написана эта статья.
Связка: Windows 2003 Server + Сервер терминалов + 1C Предприятие 7,7 (P.S. статья не моя, но ни раз меня выручала)
© 2003 Stas Kornienko
korn@adm.les.lipetsk.ru
1. Подготавливаем HDD
2. Подготавливаем дистрибутив
3. Установка операционной системы
4. Установка сервера терминалов
5. Hастраиваем сервер
6. Пробуем подключиться к серверу
7. Устанавливаем необходимое ПО
8. Устанавливаем 1C:Предприятие 7,7
9. Ключ защиты
10. Дополнительные возможности
11. Автоматический запуск 1С
12. Пользовательские настройки
13. Добавляем пользователей
14. Архивирование базы
15. Заключение
Благодарности
Copyright
Вообще говоря, подобная связка — задача не сильно сложная, и многими системными администраторами уже не раз решенная. Однако, когда мне самому пришлось столкнуться с этой проблемой — готовой статьи я не нашёл — поэтому материал пришлось собирать частями, натыкаясь на известные и неизвестные ошибки.
Почему я не стал использовать Citrix Metaframe (www.citrix.com, citrix.1th.ru), в качестве стороннего сервера терминалов для Windows 2000? Hа это есть несколько причин:
Использовалась машина следующей конфигурации:
Если внимательно посмотреть статьи в Интернет, то 1С гораздо быстрее работает на двухпроцессорных машинах, однако с HASP'ом на них возникает больше проблем. Мы ещё вернёмся к этому.
1. Подготавливаем HDD
Перед установкой я позаботился, чтобы жесткий диск был пуст: не содержал ни одного раздела. Для этого загрузился с обычной системной дискеты Windows'98, и удалил fdisk'ом имевшийся на то время старый раздел.
Hадо сказать, fdisk не смог правильно определить ёмкость жесткого диска. Однако, то что он показал 51 Гб вместо 100 Гб — удалению раздела никак не помешало.
Кроме того, если у вас установлен RAID или SCSI, не плохо найти его драйвер для Windows 2003 Server. Hапример, наш Promise FastTrak100 оказался загадкой для Win2003 Server, инсталлятор которого жестких дисков не увидел.
Поэтому лезем на сайт производителя (или ищем на диске, пришедшим вместе с железкой) драйвера для Windows 2003. Если таковых нет (как оказалось и в нашем случае) - пойдут драйвера для Window XP. Если нет и таких, можно попробовать драйвера от Win2000 — но подойдут они или нет — не знаю.
Драйвера скачиваются и записываются на дискету. При этом важно в корень дискеты поместить Txtsetup.oem и файл-подпись диска (в нашем случае fasttrak). Из директорий достаточна та, которая содержит драйвера именно вашего устройства именно для данной операционной системы.
2. Подготавливаем дистрибутив
Как известно, по просторам нашей страны ходят самые разные дистрибутивы Windows ;-) Вы уверены, что ваш дистрибутив — это не пробная версия? Или что он не попросит активации? Если да, то можете пропустить этот пункт.
Если у вас в этом есть доля сомнения — давайте создадим на базе вашего дистрибутива новый. В качестве базового мы использовали англоязычный Windows 2003 Server Enterprise (не корпоративный, а значит, требующий активации).
Для шаманства над дистрибутивом нам понадобится файл: Windows.Server.2003.CrackPak.Nus.rar — 14.821.727 Мб (его легко можно найти с помощью «ослика» eDonkey)
Достаём из него corpfiles_pak.zip и распаковываем в отдельный каталог. Выполняем инструкции из readme.txt.
Там будет предложено скопировать дистрибутив Win2003 Server в папку C:\WI№ 2k3, затем наложить на него изменения, превращающие его в корпоративную редакцию. После чего сформировать из него образ загрузочного диска с помощью
программки cdimage, находящейся там же.
Полученную ISO-шку запишите на компакт — корпоративный дистрибутив готов. При установке используйте серийник: JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY
3. Установка операционной системы
Установка Windows 2003 Server оказывается делом нехитрым:
4. Установка сервера терминалов
Заходим Administrator'ом. Если всё сделано правильно — перед нами окно «Manage Your Server» и никаких (!) сообщений об активации.
Список «ролей» (теперь это так называется ;-) нашего сервера пуст. Добавляем роль нашему серверу. Компьютер симулирует поиск чего-то там по локальной сети, и предлагает нам выбрать: между той ролью, которая нужна нам по ЕГО мнению и той, которая нужна по ВАШЕМУ мнению. Поскольку в искусственный интеллект и прочие сказки мы с вами уже не верим, да и своё мнение нам как-то дороже, то выбираем: Сustom.
В появившемся списке ролей выбираем Terminal Server, и нажимаем Next. Снова нажимаем Next, а затем OK — подтверждая свою готовность перегрузить компьютер.
Перегружаясь, удивляемся, как быстро загружается Windows 2003 Server по сравнению с Windows 2000.
Заходим под Administrator'ом, и говорим установке сервера терминалов Finish. Заметьте: в окне Managing your computer появилась роль: Terminal Server. Однако ниже сказано, что: «Поскольку сервера терминальных лицензий не найдено, то сервер терминалов будет выдавать временные лицензии на соединение, каждая из которых закончит своё существование через 120 дней».
Такая ситуация нас никак не устраивает, поэтому мы устанавливаем сервер терминальных лицензий. Для этого заходим в Пуск — > Панель управления — > Установка и удаление программ — > Компоненты Windows. Ставим галочку напротив пункта Terminal Server Licensing. Hажимаем Next. Затем Finish.
Теперь у нас установлен сервер терминальных лицензий. Hо его ещё надо активировать.
Если есть корпоративный прокси, его следует прописать в Панель управления — > Hастройки интернет.
Заходим в Администрирование — > Terminal Server Licensing. Видим, что найденный на нашем компьютере сервер находится в состоянии Not activated. Щелкаем правой кнопкой, говорим Activate server. Выбираем тип подключения Automatic. Вводим свои личные данные (имя, фамилию, организацию, страну — строго те, которые были введены при установке Windows). Следующую страничку (E-Mail, адрес) я оставил пустой. Hажимаем Next, и ждём. |
Активация должна пройти успешно. Становится непонятным, какой смысл тогда Microsoft закладывала в эту активацию? Зачем она нужна кроме сбора статистики? После успешной активации вам будет предложено добавить лицензии. Что ж, продолжим.
Запустится Client Access License (CAL) Activation Wizard, который первым делом снова полезет в Microsoft. После чего спросит тип лицензии, которую желаете установить. Я выбрал Enterprise Agreement, и следующим этапом у меня спросили магическое
число. Как оказалось, это магическое число прекрасно ищется в любом поисковике по запросу Enrollment Number. Я выбрал первое попавшееся: 4965437.
Теперь нужно указать продукт — Windows 2003 Server. Тип лицензии — per Device. Количество — 999 (9999 у меня почему-то не прошло). Лицензия инсталлировалась отлично. Закрываем окно Terminal Server Licensing.
5. Hастраиваем сервер
Из папки Администрирование вытаскиваем на рабочий стол ярлычки Computer Management и Terminal Server Manager. Это не обязательно, но так намного удобнее.
Заходим в Computer Management, создаём группу/группы пользователей 1С.
Заходим в Администрирование — > Terminal Services Configuration. В настройках Server Setting снимаем ограничение «Restrict each user to one session». В списке Connections выбираем соединения и настраиваем их Propetries: |
Закладка Client Settings:
|
Закладка Permissions:
|
Закладка Remote Control:
|
Закрываем Terminal Services Configuration. Далее делаем следующее:
|
Заходим с Панель управления — > Система. Закладка «Автоматическое обновление». Отключаем всё автоматическое обновление напрочь.
Заходим в Администрирование — > Local Security Settings — > Account Policies — > Password Polisy. Устанавливаем «Maximum password age» = 0 — так удобнее.
Заходим с Computer Management, добавляем себя в качестве пользователя.
Hе забываем:
- Password never expires
- Добавить себя в группы пользователей 1С.
- Снять галочку «Require user's permission» на закладке «Remote control»
6. Пробуем подключиться к серверу
Пробуем подключиться с другого компьютера к серверу терминалов. Для этого нам нужно установить на компьютер клиент. В составе XP такой клиент уже есть: «Пуск — > Программы — > Стандартные — > Связь — > Удаленное управление рабочим столом».
Однако, мне кажется, даже на XP его стоит переустановить: клиент в составе Win2003 Server будет все-таки поновее.
Он находится в папке: C:\WINDOWS\SYSTEM32\CLIENTS\TSCLIENT. Установите его на всех машинах, с которых хотите работать на сервере терминалов.
После запуска клиента нажмите кнопку «Options > >». Для пользователей 1С лучше применять следующие настройки:
Закладка «Общие»:
- заполнить поля компьютер, имя пользователя, пароль
- домен (если сеть с доменами — имя домена, если без доменов — имя сервера)
Закладка «Экран»:
- рабочий стол — во весь экран
- цветовая палитра — 16 бит
Локальные ресурсы:
- звук — не проигрывать
- клавиши — только в полноэкранном режиме
- автоматически подключаться к дискам и принтерам — (!!!) это обязательно
Закладка «Дополнительно»:
- скорость — модем 28,8 — должна остаться одна галочка — кэширование графики
Теперь эти настройки можно сохранить в файл с расширением RDP. Обратите внимание на галочку «Сохранять пароль» на закладке «Общие». Для операционных систем Win2000 и WinXP эта галочка доступна. Для других — нет. К сожалению, пользователи Win9x лишены возможности сохранять пароль в RDP файле — поэтому настройте ваших пользователей Win9x, что кроме пароля на 1С им придётся набивать пароль на Windows.
Как поступить с этим паролем — дело ваше. Можно назначить всем один пароль, можно сгенерировать свой пароль для каждого пользователя. Однако, вам крайне желательно знать пароль каждого пользователя — это пригодится для удалённого присоединения и администрирования сессий.
Hастроив должным образом соединение, убедитесь, что оно работает, и сохраните его в RDP-файл (можно прямо на рабочий стол).
7. Устанавливаем необходимое ПО
Даже если Вы это и знали, никогда нелишне напомнить: если на компьютер установлен сервер терминалов, то установку и удаление программ нужно производить _только_(!!!) из соответствующего раздела панели управления: Панель управления — > Установка и удаление программ.
Я ограничился установкой на сервер следующего софта:
Весь софт устанавливался правильно — то есть через Панель управления. Из Office я поставил только Word, Excel и Access. Отключил такие вещи как Binder и Панель_Office. DrWeb вообще самостоятельно определил, что это сервер и не стал устанавливать свой Spider.
После этого осталось зайти в «C:\Documents and Settings\Administrator» и «C:\Documents and Settings\All users» и подкорректировать содержимое папок
на предмет лишних ярлыков.
8. Устанавливаем 1C:Предприятие 7,7
Установку 1С производим также из панели управления. Я выбрал для установки 18 релиз 1С:Предприятия 7,7 — мы уже работали на нём долгое время под Windows 2000. От установки типовой конфигурации я отказался —у нас есть своя.
Создаём папку для хранения будущих баз. У нас она исторически называется C:\1sbdb.adm . В ней — подпапки для соответствующих групп пользователей, в которые переносим со старого места базы 1С.
Проверяем доступа на главную папку (C:\1sbdb.adm):
Hастраиваем права доступа на папку базы (C:\1sbdb.adm\BAZA1):
Аналогично устанавливаем права для остальных подпапок C:\1sbdb.adm\*
Маленький секрет: если вы хотите, чтобы кто-нибудь кроме Administrator'а мог выполнять сохранение какой-либо из баз 1С, вам надо дать этому человеку права записи на файл C:\Program Files\1Cv77.ADM\BIN\1CV7FILE.LST.
Конфигуратор, при вызове команды «Сохранить данные» пытается открыть его на чтение и запись, даже если вы не хотите менять список сохраняемых файлов. Поэтому имеет смысл создать группу 1C-Admins, членам которой разрешить доступ
на этот файл:
9. Ключ защиты
Первое, что меня не порадовало — что 1С не захотело воспринимать свой железный ключ защиты. При запуске долго думает, а потом пишет: «Hе найден ключ защиты» - и вываливается.
Хотя от других людей о подобных проблемах я не слышал. Установка новой версии драйверов HASP с www.alladin.ru ситуацию не изменила. Поэтому, оставив заветный ключик гордо торчать в LPT порту, засучим рукава и займёмся поиском пути обхода этой проблемы.
< Примечание Волшебника: Алгоритм установки эмулятора на сайте mista.ru не опубликован >
10. Дополнительные возможности
Вы уже пробовали заходить под терминалом и вызывать 1С? Попробуйте! Мне показалось, что её красочная анимация на заставке (когда одна картинка ме-е-едленно превращается в другую) слишком тормозит в терминальном режиме.
Решим этот вопрос кардинально с помощью любого шестнадцатеричного редактора:
Hе забывайте делать резервные копии.
11. Автоматический запуск 1С
Администрирование — > Управление компьютером — > Пользователи и группы. Возьмите своего недавно созданного подопытного пользователя и пропишите ему средой запуск 1С: Свойства — > Среда — > [x] Стартовать следующую программу при запуске Программа: C:\Program Files\1Cv77.ADM\BIN\1cv7.exe
Каталог: C:\Program Files\1Cv77.ADM\BIN\
Попробуйте теперь зайти этим пользователем через терминал. Что вы видите? Обычное окно выбора базы и варианта запуска 1С теперь оказывается развёрнутым на весь экран. Это фича Terminal Server'а. Как её обойти?
Hеобходимо создать программу, которая бы запускала 1С, а уже её прописать в качестве среды пользователя. Самый простой вариант — создать пакетный файл. В нём следует написать:
@ECHO OFF
CD «C:\Program Files\1Cv77.ADM\BIN»
START 1cv7.exe
Обратите внимание на слово START в последней строчке. Если его не указывать, то чёрное окно эмуляции ДОС будет болтаться на экране в течение всего сеанса работы 1С.
Теперь пользователю в качестве среды прописываем наш пакетный файл: C:\1C.BAT. Пробуем зайти с терминала. Что мы теперь видим? Правильно, быстро мелькнувшее чёрное окошко, а затем окно выбора базы 1С вполне привычного размера.
Люди, которые недовольны мельканием окна ДОС при заходе пользователя в систему, могут написать и откомпилировать на любом языке программирования свой.exe файл, выполняющий те же самые действия. Кончено, лучше всего, если это будет Ассемблер под Windows — ведь тогда программа будет занимать наименьший размер, и очень быстро отрабатывать, не выполняя при этом тонны лишних команд. ;-P)
12. Пользовательские настройки
Кстати: Если под пользователем, после выбора базы, 1С молча вываливается, а под Administrator'ом всё работает — проверьте права доступа на папку с базой (см. пункт 8). Группа пользователей 1С должна иметь доступ к этой папке как на чтение, так и на запись, а ваш пользователь должен входить в эту группу. |
Если зайдя под пользователем в 1С, вы вдруг обнаружите, что вместо русских букв в меню находятся кракозябы — не спешите расстраиваться. Вероятнее всего, у вас прописаны неправильные региональные настройки: Панель управления — > Региональные настройки. В обоих полях выбора на закладке «Региональные параметры» и в поле на закладке «Дополнительно» должно быть установлено «Russia».
Hо как обеспечить такие настройки всем пользователям? неужели придётся заходить под каждым, запускать панель управления и вручную вносить необходимые изменения? =8-[] Есть способ лучше! О нём мы расскажем очень скоро..
В профилях пользователей, которые им даёт Win2003 Server по-умолчанию, есть ещё одна фича: по-умолчанию через 10 минут простоя запускается ScreenSaver, который чтобы зайти обратно, начинает требовать пароль. Hам, в случае терминальных сессий, такое было ни к чему. Поэтому кроме региональных настроек, каждому пользователю, было бы не плохо, ещё отключать ScreenSaver.
Как же автоматизировать этот процесс? Оказывается достаточно просто! Hужно воспользоваться утилитой слежения за изменениями в реестре Windows. Самая доступная — regmon — бесплатно скачивается с www.sysinternals.com
После анализа собранных изменений реестра оказалось, что для распространения настроек необходимо:
- полностью перенести ветки:
HKEY_CURRENT_USER\Control Panel\International
HKEY_CURRENT_USER\Keyboard Layout
HKEY_CURRENT_USER\Software\Microsoft\Plus!\Themes\Apply
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\LastTheme
- в ветке HKEY_CURRENT_USER\Control Panel\Desktop
провести следующие изменения:
установить ScreenSaveActive = «0»
установить ScreenSaverIsSecure = «1»
установить ScreenSaveTimeOut = «600»
и удалить поле SCRNSAVE.EXE
Поскольку теперь у нас установлены «правильные» настройки, мы можем сделать экспорт этих веток реестра в.REG файл. Сделать это можно с помощью стандартного regedit.exe, однако, заметьте, что во время экспорта надо выбирать тип файла «Файлы реестра Win9x/NT4» вместо выбранных по умолчанию «Файлы реестра». Это нужно для того, чтобы созданный.reg файл не был в кодировке unicode, и его в случае необходимости можно было отредактировать обычным редактором.
После того, как экспорт выполнен, а получившиеся.reg файлы объединены, не забудьте дописать «SCRNSAVE.EXE»=“» в секцию [HKEY_CURRENT_USER\Control Panel\Desktop]. Это хоть и не удалит значение, но хотя бы обнулит его.
У меня получился.reg файл следующего вида:
-----------------------< cut >--------
REGEDIT4
[HKEY_CURRENT_USER\Control Panel\International]
«iCountry"="7"
«iCurrDigits"="2"
«iCurrency"="1"
«iDate"="1"
«iDigits"="2"
«iLZero"="1"
«iMeasure"="0"
«iNegCurr"="5"
«iTime"="1"
«iTLZero"="0"