LASG - Administrative tools
Административные инструментальные средства
Обзор
Локальные инструментальные средства
Инструментальные средства, основанные на WWW
Инструментальные средства, основанные
на сети
Имеется ряд инструментальных средств, чтобы упростить управление системой.
От локальных инструментальных средств подобных sudo, которые предоставляют
ограниченные привилегии суперпользователя, до Webmin и Linuxconf, которые
основаны на www. Информации относительно того как войти в систему
дистанционно (то есть, через telnet или ssh) есть в разделе
shell server.
YaST (Yet Another Setup Tool) довольно хороший инструмент на основе
командной строки (очень похож на scoadmin), который обеспечивает простой
интерфейс к наиболее частым административным задачам. Он не имеет никаких
условий для предоставления пользователям ограниченного доступа, так что
годится только для root. Другая проблема: в отличие от Linuxconf, это не
сетевое средство, так что придется регистрироваться на каждой управляемой
системе, что может и повышает безопасность, но создает неудобства.
Sudo дает пользователю setuid-доступ к программе (или нескольким), и Вы
можете определять, при доступе с каких хостов можно работать с sudo (так что
кто-то, ворвавшись не с того хоста, ничего не разрушит). Вы можете определять
то, какой пользователь какие команды может выполнить. Необходимо проследить,
чтобы пользователи использовали только ПОЛНЫЕ имена исполняемых файлов
(если пользователь имеет sudo-доступ к "adduser", ничто не помешает
ему реально подправить путь, скопировать bash в /tmp/adduser и захватить
контроль над системой). Этот инструмент очень подобен super, но с немного
менее удобным управлением доступом. Sudo доступен в большинстве дистрибутивов,
но его можно скачать с
http://www.courtesan.com/sudo. Sudo позволяет Вам определять группы
хостов, команд и пользователей. Несколько примеров /etc/sudoers:
#Give the user seifried full access
seifried ALL=(ALL) ALL
#Create a group of users, a group of hosts, and allow then to shutdown
#the server as root
Host_Alias WORKSTATIONS=localhost, station1, station2
User_Alias SHUTDOWNUSERS=bob, mary, jane
Cmnd_Alias REBOOT=halt, reboot, sync
Runas_Alias REBOOTUSER=admin
SHUTDOWNUSERS WORKSTATIONS=(REBOOTUSER) REBOOT
Super одно из немногих инструментальных средств, которые могут реально
использоваться, чтобы дать некоторым пользователям (и группам) измененные
уровни доступа к администрированию системы. В дополнение к этому Вы можете
определять время и позволять доступ к скриптам, давая setuid доступ к
командам, которые могли бы иметь непредвиденные последствия (любой редактор,
любые инструментальные средства манипулирования файлами подобные chown,
chmod, инструментальные средства вроде lp вообще-то могут поставить под
угрозу части системы). Debian поставляется с super, к тому же есть rpm-пакет.
Это очень мощный инструмент но требует значительных усилий при настройке
(подобно любому мощному инструменту), но я думаю, что это стоит усилий.
Некоторые примеры файла конфигурации обычно в каталоге /usr/doc/super-xxxx.
Главный сайт для super
ftp://ftp.ucolick.org/pub/users/will.
runas очень похож на sudo и Super с некоторыми отличиями. Вы создаете
файл настройки в котором указываете кто, как и что может выполнять. В
дополнение к этому однако Вы можете ограничивать использование параметров, и
Вы можете запрашивать пользователя о причинах (ответы пишутся в syslog).
Это одно из моих любимых свойств. Загрузить runas можно с
http://www.mindspring.com/~carpinello/runas/index.html.
Webmin одно из лучших инструментальных средств удаленного
администрирования для Linux, написанное на Perl. Оно является легким в
использовании и простым в установке. Вы можете назначать различных
'пользователей' (имена и пароли хранятся внутри webmin) и их уровни доступа.
Например, можно предоставить пользователю bob право останавливать сервер,
а john создание/удаление и управление пользователями. В дополнение к этому,
данное средство работает на большинстве Linux платформ и ряде других UNIX
платформ. Главное проблема с webmin несколько недостаточная документация в
некоторых областях использования и факт, что пара username/password
представлена чистым текстом в сети. Наиболее важно то, что это делает систему
более доступной для нетехнических людей, которые должны управлять системами
таким способом, что Вы не должны предоставить им фактический логин на
сервере. Webmin доступен на
http://www.webmin.com/webmin, и в настоящее время свободен. Webmin
по умолчанию работает на порте 10000 и должен быть прикрыт firewall:
ipfwadm -I -a accept -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 10000
ipfwadm -I -a accept -P tcp -S some.trusted.host -D 0.0.0.0/0 10000
ipfwadm -I -a deny -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 10000
или в терминах ipchains:
ipchains -A input -p all -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 10000
ipchains -A input -p all -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 10000
ipchains -A input -p all -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 10000
Linuxconf универсальный инструмент администрирования, который является
пригодным для использования из командной строки, из-под X, или встроенным в
www-сервер. Из X он обеспечивает полное представление всего, что может быть
конфигурировано (PPP, пользователи, диски, и т.д.). Чтобы использовать его
через www, Вы должны сначала выполнить Linuxconf на машине и добавить хост
или сеть, с которых разрешается заходить (Conf > Misc > Linuxconf
network access), сохранить настройки и выйти. Затем, когда Вы соединяетесь с
машиной (по умолчанию Linuxconf ждет на порте 98), Вы должны ввести username
и пароль. По умолчанию Linuxconf пускает только root, и Linuxconf не
поддерживает шифрование (это выполняется автономно на порте 901), так что я
бы очень настоятельно не рекомендовал использовать это свойство в сети, если
Вы не имеете IPSec или некоторую другую форму защиты уровня IP.
Linuxconf входит в Red Hat Linux и доступен на
http://www.solucorp.qc.ca/linuxconf. Linuxconf вроде бы не имеет никаких
man-страниц, справка доступна только в нем самом, что не очень удобно.
Проект COAS (Caldera Open Administration System) очень честолюбивый
проект, призванный обеспечить управление системами из командной строки
(с псевдографическим интерфейсом), из X (использование набора qt widget) и по
сети. Вышла версия 1.0. Сайт COAS:
http://www.coas.org.
Инструмент администрирования WebRAT основан на web. Доступен на
http://hq.hellug.gr/~webrat.
Pikt чрезвычайно интересный инструмент, это фактически язык скриптов для
администрирования системы. Pikt позволяет Вам делать многое: уничтожать
неактивные процессы пользователя, устанавливать квоты почты, контролировать
систему на предмет подозрительных действий и многое другое. Единственной
проблемы с Pikt будет трудность изучения, поскольку он использует собственный
язык создания скриптов, но в конечном счете я думаю этот язык того стиот,
особенно если Вы имеете много систем (тем более, что Pikt сейчас работает на
Solaris, Linux и FreeBSD). Pikt доступен на
http://pikt.uchicago.edu/pikt.
Virtual Network Computer (VNC) похож на X или PCAnywhere. Вы можете
отображать графический рабочий стол, и управлять им дистанционно, с NT или
Linux как сервером и/или клиентом. VNC в сети 10 megabit Ethernet хорош, но
имеет тенденцию сильно загружать систему в сравнении с другими методами
удаленного администрирования. VNC доступен на
http://www.uk.research.att.com/vnc. Защита VNC не очень хорошая, но есть
несколько сайтов по защите VNC с использованием SSL, SSH и других методов.
MindVNC является java-клиентом, который использует SSH, доступен на
http://www.mindbright.com/english/technology/products/mindvnc.html.
Имеется заплата, чтобы добавить шифрование к VNC:
http://web.mit.edu/thouis/vnc.
Есть также страница про обеспечение работы VNC с SSH:
http://www.zip.com.au/~cs/answers/vnc-thru-firewall-via-ssh.txt.
cfengine набор инструментальных средств для автоматизации задач
администрации и контроля сети. Доступен на
http://www.iu.hioslo.no/cfengine/.
SAS сейчас специфичен для Stormix (новый дистрибутив Linux), но его можно
скачать с
http://www.stormix.com/products/sas/index_html.
Back
|