Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Администрирование сети компьютеров с Ubuntu через web-интерфейс

Раздел: Software / Linux @ 20.07.2011 | Ключевые слова: ubuntu администрирование web-interface версия для печати

Автор: usefree
Источник: habrahabr

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

В процессе перевода были реструктуризованы: рабочие места пользователей, организован примитивный файловый сервер, шлюз интернет, сервер приложений (скорее всего, это я его так называю, а на самом деле этот термин подразумевает нечто другое, но дальше будет понятно, почему я его так назвал, я надеюсь). В сочетании с некоторыми указаниями и «советами» руководства о том, как работать в «новой» системе, получилась довольно удобная в администрировании система.

На ПК пользователей — Ubuntu 10.04 и стандартный набор программ — архиваторы, кодеки, документоридеры, переводчик, браузеры, скайп, клиент удаленного рабочего стола Remmina. По протоколу RDP пользователи подключаются к серверу терминалов Windows 2003 (который я выше назвал сервером приложений) и в терминальных сессиях работают с приложениями, которые оказалось не так просто заменить аналогами из мира Ubuntu: 1С-бухгалтерия, клиент Лига-закон, MS Office, Me-doc, некоторые клиентбанки. Интернет на сервере приложений запрещен и закрыт фаерволом. Набор каталогов с разрешениями на запись и исполнение для каждого пользователя (группы, если их несколько) четко ограничен. Для прироста файлов от каждого пользователя на дисках выделено по 1-2 Гб места, и основной файловый сервер вынесен на отдельный примитивный файловый сервер Ubuntu и настроена samba. Для каждого пользователя в samba заведен личный каталог и заведен каталог с возможностью для записи для каждой пары пользователей. На файловом сервере и на сервере приложений заведены одинаковые пользователи с одинаковыми паролями, на каждом из компьютеров пользователя заведен только один пользователь и админ. Это дает возможность присоединить расшаренные на файловом сервере каталоги к серверу приложений как сетевые диски (для каждого пользователя сервера приложений эти диски свои), а на локальные ПК пользователей монтировать эти каталоги через файл fstab. Шлюз благополучно работает под управлением FreeBSD, на котором настроен ipfw, natd, squid, sams, dhcpd.

Так вот, в процессе настройки и управления получившейся сетью ПК с Ubuntu мне очень часто приходится делать однотипные задачи типа заведения, удаления пользователя на сервере и на локальном ПК пользователя, создание и удаление общих каталогов на сервере и подключение их на компьютерах пользователей, мониторинг актуальности версий установленных у пользователей приложений, многоразовый запуск, остановка и перезапуск различных сервисов на сервере и на ПК пользователей, шаблонная правка одних и тех же конфигов, в общем все то, что делается после ssh admin@remotePC. В поисках автоматизации всех этих рутинных действий был найден Webmin, но, к сожалению, либо я не разобрался, как с его помощью управлять всем, что мне нужно на серверах и ПК пользователей, либо Webmin этого пока не умеет. Отдельные скрипты, во множестве встречающиеся на разных форумах использовать не очень хотелось, поэтому немного поразмыслив, я придумал как можно своими силами большинство задач, выполняемых при администрировании своей сети упростить и сделать доступными даже секретарше.

1. На ПК с реальным IP (либо с нереальным, но тогда на шлюзе нужно пробрасывать порт на нужный адрес внутри сети) ставится apache, запускаемый далее от имени пользователя с правами суперпользователя (правка httpd.conf) — назовем его условно admin.

2. Этот же пользователь admin заводится на всех ПК сети.

3. Генерируется пара ключей для безпарольного доступа по ssh с сервера, где стоит apache, к любому ПК локальной сети.

4. Далее в файле /etc/sudoers каждого локального ПК нужно дописать строки типа: admin ALL = (ALL) NOPASSWD: ALL — это уберет запрос подтверждения принадлежности группе суперпользователей, и уберет необходимость использования expect скриптов.

5. В apache заводится виртуальный хост, куда вешается сайт с кнопками, типа echo `ssh admin@remotehost `sudo service smbd restart`` или echo `ssh admin@remotehost `sudo apt-get upgrade`` и другими, добавляемыми и программируемыми по необходимости Т.е. мы получаем для любого устройства, на котором есть интернет и web-браузер возможность управления сервисами сервера и локальных ПК, их конфигами, монтированием и размонтированием файловых систем, и вообще всем, что позволено делать по ssh — т.е. всем! Остается только завести базу наших пользователей и ПК и запрограммировать необходимые функции по нажатию кнопок нашего примитивного сайта-админки. И, желательно, доступ к сайту-админке настроить с использованием ssl, для пущей верности.

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Software / Linux


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.