У Unix-подобных операционных систем много положительных сторон: безопасность, стабильность, некоторых привлекает и бесплатность. Но для начинающих админов настройка системы может превратиться в настоящий ад. Копание в конфигурационных файлах, постоянное чтение документации, к тому же не для всех понятном английском языке, может отпугнуть любого, тем более успевшего поработать с Windows. И будь система хоть сто раз защищенной, но ошибки в конфигурационных файлах могут привести к серьезным проблемам с безопасностью.
Разработанный Джими Камероном (Jamie Cameron) Webmin является полноценным интерфейсом для системного администрирования Unix, использование которого существенно упрощает процесс управления системой, а использование веб-технологий делает его доступным с любой точки планеты и независимой от используемой на время настройки операционной системы. Он будет полезен для удаленного управления системой тем администраторам, у которых нет в данный момент доступа к компьютеру с установленной Unix-подобной системой, а стандартные сетевые средства Windows, не блещут особым выбором необходимых утилит. В этом случае используя любой web-браузер поддерживающий таблицы и формы (и JAVA для некоторых модулей), можно без проблем, в наглядной форме, с локального или удаленного компьютера настроить пользовательские аккаунты, установить, удалить программы, настроить Web, mail, DNS сервер, сервер печати, управлять базами данных, организовать совместное использование файлов используя Samba или NFS, настроить firewall, синхронизировать время, организовать совместный доступ в Интернет, мониторинг состояния сервисов, осуществить резервное копирование, записать CD-диск, получить доступ к фалам на удаленном компьютере, в том числе документации и прочие бесчисленные задачи администрирования коих не счесть, но требующих определенных знаний и умений. При этом Webmin избавит вас от синтаксических ошибок, и неточностей, как сможет, предупредит о потенциально опасных действиях. Но это, правда, не значит, что ничего знать совсем не обязательно и умная утилита сделает все сама. Иметь некоторые понятия о строении Unix, значении тех или иных утилит, особенности работы протоколов и сервисов все-таки необходимо. Опытным администраторам, также не стоит игнорировать наличие такой удобной утилиты, ведь помнить все параметры в конфигурационных файлах и тонкости настройки сервисов на различных системах, согласитесь довольно тяжело.
Написанный на языке Perl пятой версии, Webmin имеет модульную структуру, позволяющую свободно наращивать требуемую функциональность или наоборот убрать все ненужное. Для работы используется свой собственный мини веб-сервер, что делает его независимым от наличия и использования Apache или других веб-серверов (хотя можно заставить его работать и через Apache). Открытый исходный код пошел только на пользу проекту. Пока Джими Камерон возился с основным кодом системы, многочисленные разработчики перевели интерфейс на более чем 30 языков (есть русский) и создали более 270 модулей существенно расширяющих возможности. Некоторые из модулей уже вошли в стандартную поставку, другие доступны для загрузки отдельно.
На странице найдете список из дистрибутивов и операционных систем, на которых Webmin без проблем будет работать. Если конкретного дистрибутива в нем нет, то отчаиваться не стоит, скорее всего Webmin удастся заставить работать без трудностей. При этом одним из основных преимуществ Webmin, является то, что он подстраивается под систему, в том числе изменяя свой интерфейс и поведение, в соответствии с используемой ОС, т.е. фактически скрывает от конечного пользователя различия между всеми вариантами Unix. Еще одним преимуществом Webmin является возможность делегировать часть полномочий по настройке определенных сервисов другим пользователям (администраторам).
На сегодняшний день актуальной является версия 1.400. Установить Webmin проще простого. Скачиваем архив с исходными тестами размером 13 Мб (имеется версия minimal размером 1,3 Мб содержащая только джентльменский набор) или пакет под свой дистрибутив. При использовании архива распаковываем его, заходим внутрь и даем команду ./setup с указанием каталога, в котором хотите видеть установленный Webmin.
$ wget -c http://prdownloads.sourceforge.net/webadmin/webmin-1.400.tar.gz
$ gunzip webmin-1.400.tar.gz
$ tar xf webmin-1.400.tar.gz
$ cd webmin-1.400.tar.gz
$ sudo ./setup.sh /opt/webmin
Хотя можно каталог не задавать, в этом случае будет произведена установка в текущий каталог. После чего необходимо будет ответить на ряд вопросов о будущем размещении конфигурационных файлов, нахождении интерпретатора Perl, номере порта на котором Webmin будет ожидать соединения (по умолчанию 10000), логин и пароль для доступа, автоматический запуск при старте системы.Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:
…
Full path to perl (default /usr/bin/perl):
Testing Perl …
Perl seems to be installed ok
…
Web server port (default 10000):
Login name (default admin):
Login password:
Password again:
Use SSL (y/n): y
…
Start Webmin at boot time (y/n):y
В большинстве случае можно со всем соглашаться и жать Enter, если программа установки что-то сама не найдет, то тогда в другой консоли при помощи whereis самостоятельно находим и прописываем путь вручную. После чего запустится свой мини web-сервер и будет выдана подсказка, по которой можно найти в сети webmin.
Webmin has been installed and started successfully. Use your web browser to go to
it uses is not signed by one of the recognized CAs such asVerisign. When you first connect to the Webmin server, your
browser will ask you if you want to accept the certificate presented, as it does not recognize the CA. Say yes.
The Perl SSLeay library is not installed. SSL not available.
Загрузите модуль с CPAN и повторите установку, за дополнительной информацией обращайтесь по адресу http://www.webmin.com/ssl.html. Иначе в строке web-браузера набирайте http вместо https.
Кстати удалить Webmin так же просто. Запускаем скрипт /etc/webmin/uninstall.sh и его как небывало.
Дальнейшую настройку можно производить уже непосредственно через Webmin. Но некоторые операции доступны и при помощи скриптов. Например, если вы забыли пароль, то локально его изменить можно при помощи скрипта changepass.pl.
$ sudo /usr/local/webmin/changepass.pl /etc/webmin пользователь новый_пароль
Также изменить некоторые настройки, можно напрямую редактируя конфигурационные файлы miniserv.conf и config, которые лежат в каталоге с Webmin. В них возможно изменить значение сетевого порта, включить/выключить SSL (опция ssl=0/1), изменить месторасположения рабочих файлов, установить другой язык интерфейса (для русского значение lang должно быть ru_RU (для кодировки СР-1251) или ru_SU (koi8-r)). Если будете часто заходить с компьютеров с установленной ОС Windows выберите лучше вариант с СР-1251 т.к. будете реже перенастраивать кодировку в веб-браузере. Чтобы изменения вступили в силу, перезапустите webmin.
$ /etc/webmin/stop && /etc/webmin/start
Или
$ sudo /etc/init.d/webmin restart
Но все-таки настраивать лучше через web-браузер. Набираем в строке браузера https://hostname:10000/, авторизируемся, после чего попадаем в главное окно программы. Как видите вполне привычная большинству пользователей рабочая обстановка. Небольшое примечание: если Webmin уже был установлен в системе или устанавливался при помощи пакетов, то для входа вместо admin возможно придется регистрироваться как root (нужного пользователя можно подсмотреть в файле webmin.acl, он идет первым, но затем заведите лучше для работы с Webmin специального пользователя. Также в некоторых дистрибутивах может быть выставлен другой порт используемый Webmin, а иногда при выборе его значения следует учитывать, что некоторые провайдеры не любят пропускать пакеты на порты с адресами выше 1024, например если не используется защищенный Web-доступ, то вполне подойдет порт 443, провайдеры его пропускают без проблем.
Также необходимо проследить, чтобы нужный порт был открыт в межсетевом экране. Вообще же зная особенности работы тех или иных сервисов, настроить их с Webmin особого труда не составит. Просто выбираете нужную категорию и заполняете или указываете параметры.
Остановлюсь лишь на мерах безопасности и удобстве. Вполне возможно, что после регистрации перед вами предстанет английский интерфейс. Хоть английский язык и является родным языком администратора, но согласитесь общаться на родном все же приятней. Заходим “Webmin Configuration – 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) :
service webmin
{
user = root
env = LANG=
port = 10000
socket_type = stream
protocol = tcp
wait = no
disable = no
type = UNLISTED
server = /usr/local/webmin-1.400/miniserv.pl
server_args = /etc/webmin/miniserv.conf
}
После чего перезапускаем xinetd.
Теперь самое время заняться пользователями. Для начала используем модуль “Аутентификация”, который позволяет включить увеличение задержки между неудачными попытками ввода пароля для одного и того же пользователя и блокирование доступа после нескольких неудачных попыток на определенное время, что затруднит попытки подбора пароля в лоб, все подобные действия можно так же заносить в журнал. Для забывчивых и ленивых пользователей можно активировать опцию, позволяющую автоматически отключать доступ после определенного интервала времени и здесь же отключить возможность запоминания введенного пароля. Следующий полезный модуль “Пользователи 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) позволяющий удаленно выполнять команды оболочки и поддерживающий историю команд. Следующий пункт “Команды пользователя” (Custom Commands) позволяет неподготовленным пользователям выполнять команды или скрипты нажатием одной кнопки. Админу достаточно создать команду, заполнив соответствующие поля (прописать команду, задать параметры, пользователя, от имени которого будет выполняться команда, добавить описание и пр.). Здесь же во вкладке “Прочее” найдете и менеджер файлов рис.4 (требует поддержки JAVA), который позволит получить доступ к файлам на удаленном компьютере в удобной графической оболочке.
Модульность Webmin позволяет нарастить функциональность до нужного уровня, а с другой стороны убрать лишнее, чтобы не мозолило глаза и не отвлекало от работы. Некоторые модули доступны по адресу В первую очередь хотелось отметить модуль Usermin написанный также Джейми Камероном. В отличие от Webmina нацеленого на администратора, Usermin ориентирован на конечного пользователя, позволяя читать почту, работать с GPG, иметь удаленный доступ к своим файлам через Java файловый менеджер, управлять заданиями cron и пр. Для установки достаточно зайти в раздел “Настройка Usermin” (Usermin Configuration) и нажать на кнопку “Install Usermin”. Для работы с модулями (обычно файл с расширением .wbm, хотя возможна установка и rpm пакетов) заходим в “Модули Webmin” (Webmin Modules), где можно установить новый указав его местонахождение на локальном диске или в Интернете, удалить модуль, выбрав его из списка или копировать модуль. Копирование модулей позволяет иметь один и тот же модуль с разными настройками, который можно положить в разные группы для быстрого доступа и разрешить доступ разным пользователям.
Из других вкусностей следует отметить возможность изменения внешнего вида (в одноименной вкладке) т.е. подобрать цвета по вкусу и более глобально изменить вид, в том числе значки, цвета, фон и расположение страниц могут темы. Может, кому это покажется и игрушкой, но когда приходится одновременно настраивать работу нескольких узлов, то разное оформление позволяет меньше путаться.
Вот такой он Webmin. Простой в установке и настройке, полезный в работе, позволяя администраторам больше сосредоточиться на процессе настройке системы, дает возможность безопасно работать и получать информацию с тех мест, где нет доступа нужным утилитам.
5 Комментариев к Упрощаем администрирование с Webmin
Март 31st, 2008 | 16:41
у меня он не справился со squid`ом – портачил конфиг
Апрель 1st, 2008 | 15:37
Ну я Webmin и YaST поэтому не люблю.
Апрель 24th, 2008 | 0:25
А в кубунтовом десктопе от него будет толк, или же штатных гуй-настроек кде хватит?
Апрель 24th, 2008 | 11:01
Смотря, что настраивать конечно. Для десктопа штатных утилит хватает.
Июнь 27th, 2009 | 8:49
Вот тут есть некоторые настройки по Webmin:
http://break-people.ru/cmsmade/index.php?page=unix_webmin_howto