УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней....

4
34 администрирование администрирование администрирование администрирование администрирование У UNIX-подобных операционных систем много положи- тельных сторон: безопасность, стабильность и, что осо- бенно привлекает внимание многих, – бесплатность. Но для начинающих системных администраторов настройка системы может превратиться в настоящий ад. Копание в конфигурационных файлах, постоянное чтение докумен- тации, к тому же на не для всех понятном английском язы- ке, может отпугнуть любого, привычного к удобному ин- терфейсу Windows-систем. Да что там отпугнуть, ошибки в конфигурационных файлах могут привести к серьезным проблемам с безопасностью. Мне часто в письмах прихо- дят просьбы от новичков помочь подобрать дистрибутив для использования в качестве шлюза, но с обязательным наличием веб-интерфейса, сегодня попробуем раз и на- всегда решить эту проблему. Webmin (http://www.webmin.com) представляет собой веб-интерфейс для системного администрирования UNIX, использование которого существенно упрощает процесс управления системой. Кроме того, он будет полезен для удаленного управления системой тем администраторам, СЕРГЕЙ ЯРЕМЧУК УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMIN у которых нет в данный момент доступа к компьютеру с установленной UNIX-подобной системой, а стандартные сетевые средства Windows не блещут особым выбором необходимых утилит. В этом случае, используя любой веб- браузер, поддерживающий таблицы и формы (и JAVA для некоторых модулей), можно без затруднений в наглядной форме с локального или удаленного компьютера настро- ить пользовательские аккаунты, установить/удалить про- граммы, настроить Web, mail, DNS-сервер, сервер печа- ти, управлять базами данных, организовать совместное использование файлов, применяя Samba или NFS, настро- ить firewall, синхронизировать время, организовать совме- стный доступ в Интернет, мониторинг состояния серви- сов, осуществить резервное копирование, записать CD- диск, получить доступ к файлам на удаленном компьюте- ре, в том числе документации и прочие бесчисленные за- дачи администрирования, коих не счесть, но требующих определенных умений. При этом Webmin избавит вас от синтаксических ошибок и неточностей, как сможет пре- дупредит о потенциально опасных действиях. Но это, прав-

Transcript of УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней....

Page 1: УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней. Заходим «Webmin Configuration → Language» и выбираем из выпадающего

34

администрированиеадминистрированиеадминистрированиеадминистрированиеадминистрирование

У UNIX-подобных операционных систем много положи-тельных сторон: безопасность, стабильность и, что осо-бенно привлекает внимание многих, – бесплатность. Нодля начинающих системных администраторов настройкасистемы может превратиться в настоящий ад. Копание вконфигурационных файлах, постоянное чтение докумен-тации, к тому же на не для всех понятном английском язы-ке, может отпугнуть любого, привычного к удобному ин-терфейсу Windows-систем. Да что там отпугнуть, ошибкив конфигурационных файлах могут привести к серьезнымпроблемам с безопасностью. Мне часто в письмах прихо-дят просьбы от новичков помочь подобрать дистрибутивдля использования в качестве шлюза, но с обязательнымналичием веб-интерфейса, сегодня попробуем раз и на-всегда решить эту проблему.

Webmin (http://www.webmin.com) представляет собойвеб-интерфейс для системного администрирования UNIX,использование которого существенно упрощает процессуправления системой. Кроме того, он будет полезен дляудаленного управления системой тем администраторам,

СЕРГЕЙ ЯРЕМЧУК

УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMIN

у которых нет в данный момент доступа к компьютеру сустановленной UNIX-подобной системой, а стандартныесетевые средства Windows не блещут особым выборомнеобходимых утилит. В этом случае, используя любой веб-браузер, поддерживающий таблицы и формы (и JAVA длянекоторых модулей), можно без затруднений в нагляднойформе с локального или удаленного компьютера настро-ить пользовательские аккаунты, установить/удалить про-граммы, настроить Web, mail, DNS-сервер, сервер печа-ти, управлять базами данных, организовать совместноеиспользование файлов, применяя Samba или NFS, настро-ить firewall, синхронизировать время, организовать совме-стный доступ в Интернет, мониторинг состояния серви-сов, осуществить резервное копирование, записать CD-диск, получить доступ к файлам на удаленном компьюте-ре, в том числе документации и прочие бесчисленные за-дачи администрирования, коих не счесть, но требующихопределенных умений. При этом Webmin избавит вас отсинтаксических ошибок и неточностей, как сможет пре-дупредит о потенциально опасных действиях. Но это, прав-

Page 2: УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней. Заходим «Webmin Configuration → Language» и выбираем из выпадающего

35№7(20), июль 2004

администрированиеадминистрированиеадминистрированиеадминистрированиеадминистрирование

Еще один момент. Для возможности работы по защи-щенному каналу (а из внешней сети работать нужно толь-ко так, да и во внутренней не будет лишней подстраховка)требуется наличие модуля Net::SSLeay и OpenSSL (http://www.openssl.org/). Поэтому при появлении сообщения

загрузите модуль с CPAN и повторите установку, за до-полнительной информацией обращайтесь по адресу: http://www.webmin.com/ssl.html. Иначе в строке веб-браузеранабирайте http вместо https. Кстати, удалить Webmin так-же просто. Запускаем скрипт /etc/webmin/uninstall.sh, и егокак не бывало. Дальнейшую настройку можно произво-дить уже через Webmin. Но, например, если вы забылипароль, то локально его изменить можно при помощискрипта changepass.pl.

Также изменить некоторые настройки можно, напря-мую редактируя конфигурационные файлы miniserv.confи config, которые лежат в каталоге с Webmin. В них воз-можно изменить значение сетевого порта, включить/вык-лючить SSL (опция ssl=0/1), изменить месторасположениерабочих файлов, установить другой язык интерфейса (длярусского значение lang должно быть ru_RU (для кодиров-ки СР-1251) или ru_SU (koi8-r)). Если планируете часто за-ходить с компьютеров, где установлена ОС Windows, вы-берите лучше вариант с СР-1251, тогда будете реже пе-ренастраивать кодировку в браузере. После измененийперезапустите webmin.

Но все настройки, повторяю, теперь доступны через веб-браузер. Набираем в строке браузера https://hostname:10000,авторизируемся (рис. 1):

После чего попадаем в главное окно программы (рис. 2).

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

Написанный Джейми Камероном (Jamie Cameron) наязыке Perl, Webmin имеет модульную структуру, позво-ляющую свободно наращивать требуемую функциональ-ность или, наоборот, убрать все ненужное. В настоящеевремя доступно около 200 модулей как входящих в стан-дартную поставку, так и доступных для загрузки отдель-но. Дополнительно ко всему интерфейс переведен на 32языка, среди которых имеется и русский. На страницеhttp://www.webmin.com/support.html найдете список из 35UNIX-подобных операционных систем (в том числе иCygwin, Mac OS X), на которых Webmin без проблем бу-дет работать. Если вашего дистрибутива в нем нет, тоотчаиваться не стоит, скорее всего, Webmin удастся зас-тавить работать без трудностей. При этом одним из ос-новных преимуществ Webmin является то, что он факти-чески подстраивается, в том числе изменяя свой интер-фейс и поведение в соответствии с используемой ОС,т.е. фактически скрывает от конечного пользователя раз-личия между всеми вариантами UNIX. Еще одним преиму-ществом Webmin является возможность делегироватьчасть полномочий по настройке определенных сервисовдругим пользователям. Установить Webmin проще просто-го: скачиваем архив размером чуть меньше 7 Мб (доступ-ны и прекомпилированные пакеты), распаковываем его,заходим внутрь и даем команду ./setup с указанием ка-талога, в котором вы хотите видеть установленныйWebmin. По умолчанию установка будет произведена втекущий каталог. После чего необходимо будет ответитьна ряд вопросов о будущем размещении конфигураци-онных файлов, нахождении интерпретатора Perl, номе-ре порта, на котором Webmin будет ожидать соединения(по умолчанию 10000), логин и пароль для доступа, ав-томатический запуск при старте системы.

В большинстве случаев можно со всем соглашаться инажимать Enter. Если программа установки что-либо самане найдет, то тогда в другой консоли при помощи whereisсамостоятельно находим и прописываем путь вручную.После чего запустится свой мини-веб-сервер и будет вы-дана подсказка, по которой можно найти в сети webmin.

#/usr/local/webmin-1.140/changepass.pl /etc/webmin ↵↵↵↵↵ïîëüçîâàòåëü íîâûé_ïàðîëü

# /etc/webmin/stop && /etc/webmin/start

Ðèñóíîê 1

Page 3: УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней. Заходим «Webmin Configuration → Language» и выбираем из выпадающего

36

администрированиеадминистрированиеадминистрированиеадминистрированиеадминистрирование

Как видите, вполне привычная большинству пользо-вателей рабочая обстановка.

Небольшое примечание: если Webmin уже был уста-новлен в системе, то для входа вместо admin придетсявоспользоватья root (нужного пользователя можно посмот-реть в файле webmin.acl, он идет первым, например,admin), но затем заведите лучше отдельного пользовате-ля для работы с Webmin. Также в некоторых дистрибути-вах может быть выставлен другой порт, используемыйWebmin, иногда при выборе его значения следует учиты-вать, что некоторые провайдеры не любят пропускать па-кеты на порты с адресами выше 1024, и, например, еслине используется защищенный веб-доступ, то вполне по-дойдет порт 443, также и проследите, чтобы нужный портбыл открыт firewall.

А так, зная особенности работы тех или иных серви-сов, настроить их с Webmin особого труда не составит,просто выбираете нужную категорию (рис. 3) и заполняе-те или выбираете параметры, к тому же по адресу http://www.swelltech.com/support/webminguide-1.0/index.html до-ступна неплохая книга по использованию, которая будетособенно полезна начинающим «The book of Webmin».

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

ляется родным языком админа, но, согласитесь, общать-ся на родном все же приятней. Заходим «WebminConfiguration →→→→→ Language» и выбираем из выпадающегосписка нужный язык, после чего подтверждаем свой вы-бор нажатием на «Change Language». И возвращаемсятеперь уже к пункту «Настройка Webmin». По умолча-нию Webmin будет принимать подключения со всех ад-ресов, что не всегда нужно и безопасно, используя пункт«Управление доступом по IP» (IP Access Control), можноограничить доступ, оставив его только для тех адресов,которым вы доверяете (например, внутренняя сеть), пол-ный доступ можно разрешить, только если вы, например,уезжаете в отпуск и хотите иметь возможность попастьна свой сервер. Здесь возможно задать в качестве па-раметра сразу сеть или подсеть, отдельные узлы по IP-адресу или доменному имени. В последнем случае дляподстраховки установите галочку в пункте «ОпределятьIP-адрес по имени при каждом запросе». Для быстротыэту операцию можно проделать и вручную, использовавв файле /etc/webmin/miniserv.conf параметры allow= илиdeny=. Первый содержит список узлов и компьютеров,перечисленных через пробел, которым позволено соеди-няться, второй, наоборот, попытки доступа с которыхбудут игнорироваться.

После установки при положительном ответе на воп-рос «Start Webmin at boot time» Webmin будет загружать-ся при старте системы, другим вариантом запуска бу-дет использование для этих целей xinetd. Для этого вфайл miniserv.conf добавляем строчку inetd=1 и убира-ем session=1. После этого пишем в файл /etc/xinetd.conf(в некоторых дистрибутивах вроде Slaskware его сна-чала создаем командой touch /etc/xinetd.conf):

После чего перезапускаем xinetd.Теперь самое время заняться пользователями. Для

начала используем модуль «Аутентификация», которыйпозволяет включить увеличение задержки между неудач-ными попытками ввода пароля для одного и того жепользователя и блокирование доступа после несколькихнеудачных попыток на определенное время, что затруд-нит попытки подбора пароля в лоб, все подобные дей-ствия можно также заносить в журнал. Для забывчивыхи ленивых пользователей можно активировать опцию, по-зволяющую автоматически отключать доступ после оп-ределенного интервала времени, и здесь же отключитьвозможность запоминания введенного пароля. Для улуч-шения защиты от перебора стоит также установить ути-литу logwatch http://www.logwatch.org/, с которой отличноладит Webmin.

Ðèñóíîê 2

Ðèñóíîê 3

service webmin{ user = root env = LANG= port = 10000 socket_type = stream protocol = tcp wait = no disable = no type = UNLISTED server = /usr/local/webmin-1.140/miniserv.pl server_args = /etc/webmin/miniserv.conf}

Page 4: УПРОЩАЕМ СЕБЕ ЖИЗНЬ С WEBMINся на родном все же приятней. Заходим «Webmin Configuration → Language» и выбираем из выпадающего

37№7(20), июль 2004

администрированиеадминистрированиеадминистрированиеадминистрированиеадминистрирование

Следующий полезный модуль «Пользователи Webmin»(Webmin Users) позволит создать пользователя или груп-пу, наделенную определенными правами по работе с темиили иными сервисами.

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

Webmin может вести журнал событий в стандартномформате журнальных файлов CLF (combined log format),при этом имеет довольно гибкие возможности по регист-рации. Так, зайдя в меню «Настройка Webmin» →→→→→ «Жур-нал» можно указать, какие IP-адреса и имена узлов будутзаноситься в журнал, действия каких пользователей бу-дут регистрироваться, а также как часто журнал будеточищаться. Записи журнала будут заноситься в файл /var/webmin/miniserv.log.

Кроме того, при активации опции «Заносить измене-ния, произведенные в файлах при каждом действии» так-же будут вестись подробные записи действий пользова-телей в файл /var/webmin/webmin.log. Этот журнал можетбыть просмотрен и проанализирован с помощью модуля«Журнал действий Webmin» (Webmin Actions Log).

Если возможностей Webmin не хватает или соскучи-лись по командной строке, то во вкладке «Прочее» (Others)имеются несколько специальных пунктов. «Вход по SSH/Telnet» (SSH/Telnet Login), который по умолчанию пыта-ется подключиться к 23 порту сервиса telnet, чтобы из-менить поведение, нажимаем вкладку «Настройка моду-ля» и в строке «Тип соединения» выбираем Secure Shell,здесь же можно выставить количество строк, другой узелдля работы и использование отдельного окна. Так чтоWebmin может пригодиться для того, чтобы попасть насвои компьютеры, используя SSH в местах, где не такпросто найти необходимые приложения (даже из интер-нет-кафе), для этого достаточно запустить его на однойиз своих машин.

Далее во вкладке «Прочие» обнаруживается и интер-фейс к командному интерпретатору «Командная оболоч-ка (shell)» (Command Shell), позволяющий удаленно вы-полнять команды оболочки и поддерживающий историюкоманд.

Следующий пункт «Команды пользователя» (CustomCommands) позволяет неподготовленным пользователямвыполнять команды или скрипты нажатием одной кнопки.Админу достаточно создать команду, заполнив соответ-ствующие поля (прописать комманду, задать параметрыпользователя, от имени которого будет выполняться ко-манда, добавить описание и пр.).

Здесь же во вкладке «Прочее» найдете и менеджерфайлов (рис. 4) (требует подержки JAVA), который позво-лит получить доступ к файлам на удаленном компьютерев удобной графической оболочке.

Модульность Webmin позволяет нарастить функцио-нальность до нужного уровня, а с другой стороны, убратьлишнее, чтобы не мозолило глаза и не отвлекало от рабо-

ты. Некоторые модули доступны с главного сайта, большуюколлекцию модулей найдете по адресу http://www.thirdpartymodules.com/webmin. В первую очередь хотелось бы от-метить модуль Usermin (http://www.usermin.com), написан-ный также Джейми Камероном. В отличие от Webmin, на-целенного на администратора, Usermin ориентирован наконечного пользователя, позволяя читать почту, работатьс GPG, иметь удаленный доступ к своим файлам, управ-лять заданиями cron и пр.

Для установки достаточно зайти в раздел «Настрой-ка Usermin» (Usermin Configuration) и нажать на кнопку«Install Usermin tar.gz package». Для работы с модулями(обычно файл с расширением .wbm, хотя возможна ус-тановка и rpm-пакетов) заходим в «Модули Webmin»(Webmin Modules), где можно установить новый, указавего местонахождение на локальном диске или в Интер-нете, удалить модуль, выбрав его из списка, или копиро-вать модуль. Копирование модулей позволяет иметь одини тот же модуль с разными настройками, который можноположить в разные группы для быстрого доступа и раз-решить доступ разным пользователям.

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

Вот такой он, Webmin. Простой в установке и настрой-ке, полезный в работе, позволяющий администраторамбольше сосредоточиться на процессе настройки системыи дающий возможность безопасно работать и получатьинформацию из тех мест, где нет доступа нужным утили-там. Есть, конечно, и другие утилиты, имеющие аналогич-ные (почти) возможности, наиболее популярен здесьlinuxconf (http://www.solucorp.qc.ca/linuxconf), традиционновходящий в состав RedHat и умеющий работать как в кон-соли, так и в Х, и позволяющий подключаться через сеть.Но все-таки linuxconf, как мне кажется, менее удобен, осо-бенно для новичка, имеет меньше возможностей и ори-ентирован в первую очередь на локальное применение.

Ðèñóíîê 4