Европейский Университет в Санкт-Петербурге
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 1309 / 258 | Оценка: 4.34 / 3.65 | Длительность: 21:13:00
Лекция 2:

Изменение настроек системы для начинающих

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Как правильно быть администратором системы

Администратор системы – это, по сути, роль, играть которую может быть поручено одному или нескольким пользователям системы. Принято, чтобы каждый пользователь работал в системе под своим собственным именем, а при необходимости выполнить действие от имени администратора "переходил к исполнению" его роли.

В большинстве систем UNIX для этого использовалась одна из двух схем: передача пароля пользователя root строго ограниченному кругу доверенных лиц администратора или применение команды sudo, которая позволяла обычному пользователю выполнить определенный набор действий от имени администратора в соответствии с настройками файла /etc/sudoers. Суперпользователь в последнем случае должен был заранее сформировать этот файл, указав, кому и что позволено делать.

Оба этих способа не идеальны: первый в силу размазывания ответственности, второй – из-за ограниченности возможностей sudo.

В Solaris начиная с версии 8 была введена система управления доступом, основанная на ролях (RBAC – role-based access control). Она подразумевает создание большего количества ролей, чем всего один суперпользователь. Каждая роль может обладать строго определенным набором привилегий, позволяющих ей выполнить то или иное действие, связанное с безопасностью системы – скажем, только добавлять пользователей или только подключаться к беспроводной сети. Дарованная роли привилегия может охватывать широкий спектр действий или предполагать разные пути их выполнения. Например, добавление пользователей может происходить в командной строке командой useradd или через программу графического интерфейса smc.

Более подробно о ролевом управлении доступом рассказано в лекции 9 курса "Системное администрирование ОС Solaris 10".

Однако для того, чтобы быть хорошим администратором системы, недостаточно знать теорию управления доступом, важно еще и соблюдать некоторые правила, которые выработаны поколениями системных администраторов.

Всегда помните о том, что система беззащитна перед человеком, знающим пароль администратора (т.е. пароль пользователя root). Поэтому:

  1. не работайте в системе от имени root, если вам не надо настраивать систему; набор текстов или разработка программ при работе от имени root – признак разгильдяйства сисадмина;
  2. не работайте от имени root будучи в подпитии или с похмелья; это – совершенно серьезно, потому что работая от root, легко по неосторожности удалить важные данные или внести необратимые изменения в систему – вы же не повезете родных из гостей домой на своей машине, если уже выпили граммов по триста водочки?
  3. всегда делайте резервные копии важной информации;
    Лирическое отступление по поводу важной информации: однажды один из авторов этой книги был уверен, что в его системе все важные данные ежедневно копируются на удаленный сервер, а там усидчивый коллега обеспечивает их ежедневную запись на ленту. В один весьма далекий от прекрасности момент случилось неприятное: по неосторожности было стерто содержимое одного раздела диска. "Что ж, бывает", – подумал автор и занялся восстановлением данных, копируя их с удаленного сервера. Каково же было его удивление, когда часть данных оказалось невозможным восстановить – их не было на сервере. Выяснилось, что один важный каталог не попал в список того, что копируется ежедневно... "Ладно", – подумал автор и обратился к усидчивому администратору удаленного сервера за лентой, поскольку на нее раз в квартал копировалось вообще все. И тут случилось самое забавное: оказалось, что на ленту уже полгода как ничего не копируется, и об этом усидчивый администратор никому не сказал. А важный каталог был достаточно свежим, чтобы его не оказалось на более старой ленте.

    Мораль истории в том, что при организации резервного копирования (1) обязательно убедитесь в том, что вы делаете резервную копию всей важной информации (и каталога /etc , и каталогов настроек пользователей – всяких там .mozilla из домашних каталогов, и вспомогательных скриптов, написанных вами самими и положенных куда-нибудь в /usr/scripts ) и (2) надейтесь только на себя, всегда проверяйте, соблюдаются ли установленные в компании правила резервного копирования; следите за тем, что делаете сами и проверяйте то, что делают ваши коллеги и подчиненные – если от них зависит то, за что вы отвечаете перед Богом и людьми.

  4. передавайте пароль root только тем коллегам, которым доверяете больше, чем себе; и даже в этом случае, как только их доступ к системе с администраторскими полномочиями более не требуется, меняйте пароль root;
  5. меняйте пароль root регулярно, делайте его достаточно сложным. Пароль Jrcfyf плохой, потому что он легко отгадывается подбором по словарю, в котором русские слова написаны нажатием соответствующих клавиш без переключения языка на русский – такие словари созданы уже много лет назад. Пароль должен быть достаточно длинным, но помните о том, что во многих UNIX из соображений совместимости фактически во внимание принимается 8 первых символов пароля. Примером хорошего пароля является K?3085/j – в нем используется случайное сочетание символов латинского алфавита разных регистров, знаков препинания и цифр. Кажущаяся трудность запоминания такого пароля – это иллюзия, на самом деле средний человек способен запомнить любое сочетание восьми символов, просто набрав его несколько раз на клавиатуре;
  6. пользуйтесь ролевым управлением доступом в Solaris – это мощное подспорье тем серьезным администраторам, которые понимают вред распространения пароля root среди нескольких человек одновременно;
  7. никогда не запускайте скрипты, полученные из Сети, от имени root (так, например, незачем запускать скрипт configure от имени root при установке нового приложения).

Управление пользователями

Управление пользователями сводится к их добавлению, удалению и назначению им определенных прав. В простых случаях все ограничивается только первой задачей. Для добавления пользователя достаточно в командной строке дать команду useradd имя, чтобы добавить пользователя с именем "имя". После такого добавления учетная запись пользователя блокируется, потому что пользователю еще не назначен пароль. Пароль можно назначить в командной строке командой passwd имя. После этого надо будет дважды набрать устанавливаемый для пользователя пароль, и он будет присвоен пользователю. По факту назначения пароля учетная запись будет разблокирована, и пользователь сможет входить в систему, используя свои имя и пароль.

Для выполнения этих же действий можно использовать программу Solaris Management Console ( smc ), которая имеет оконный интерфейс и вызывается командой smc & или /usr/sadm/bin/smc & либо запускается посредством двойного щелчка мыши по соответствующей записи в папке /usr/sadm/bin. При работе в GNOME можно вызвать /usr/bin/users-admin из меню Administration->Users and Groups

По умолчанию управлять учетными записями пользователей имеет право только администратор (пользователь с именем root).

Об управлении пользователями и программе smc более подробно рассказано в "Управление пользователями" .

Предопределенные пользователи и группы

При установке системы в файлы /etc/passwd и /etc/group автоматически записываются сведения о предопределенных пользователях и группах. Таким образом гораздо проще управлять правами доступа к системным файлам.

Предопределенные группы и пользователи существуют для того, чтобы от их имени работали системные службы и в то же время доступ к файлам этих служб был ограничен для всех остальных.

В Solaris предопределенными являются пользователи, перечисленные ниже (список корректен для версий Solaris 9 и 10, жирным шрифтом выделены пользователи, которые есть только в Solaris 10) :

root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
gdm:x:50:50:GDM Reserved UID:/:
webservd:x:80:80:WebServer Reserved UID:/:
postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:

К предопределенным группам относятся следующие группы (список корректен для версий Solaris 9 и 10, жирным шрифтом выделены группы, которые есть только в Solaris 10):

root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
smmsp::25:smmsp
gdm::50:
webservd::80:
postgres::90:
nobody::60001:
noaccess::60002:
nogroup::65534:
< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Александр Васильченко
Александр Васильченко
Россия
Денис Гайдуль
Денис Гайдуль
Россия, Подольск