Рейтинговые книги
Читем онлайн Linux - Алексей Стахнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 28 29 30 31 32 33 34 35 36 ... 151

• /etc/bashrc – общесистемный файл для командной оболочки;

• /etc/initscript – файл, позволяющий задать специфические действия для каждой команды из файла /etc/inittab (подробную информацию следует искать в справочной системе).

Второстепенные файлы конфигурации:

• /etc/issue – сообщение, выдаваемое системой до приглашения "login: ";

• /etc/motd – сообщение, выдаваемое системой после регистрации пользователя.

Процессы, происходящие при регистрации пользователя

Последовательность событий при регистрации пользователя:

1. Пользователь вводит свое регистрационное имя (login) по приглашению "login: " процесса getty;

2. Процесс getty выполняет программу login, передавая программе login в качестве аргумента регистрационное имя пользователя;

3. Программа login запрашивает пароль и сверяет регистрационное имя и пароль пользователя с записанными в файле /etc/passwd (login) и /etc/shadow (пароль). При этом введенный пароль пользователя шифруется по специальному алгоритму (в последнее время чаще всего используется алгоритм MD5), и полученный результат сравнивается с зашифрованным паролем, хранящимся в /etc/shadow;

4. В случае, если регистрационное имя пользователя или пароль не совпали с хранящимся в системе, то после паузы (около 3 секувд, задержка настраивается) выводится сообщение Password incorrect. Программа login завершает свою работу, а процесс getty снова выводит приглашение "login: ";

5. Если проверка регистрационного имени и пароля пользователя прошла успешно, login выводит на экран из файла /etc/motd так называемое "сообщение дня";

6. После этого login запускает командную оболочку (shell), указанную в бюджете пользователя, и устанавливает переменную среды TERM;

7. Оболочка shell выполняет файлы, исполняемые при регистрации пользователя в системе, сперва общесистемные, а затем пользовательские (если это Bourne-shell, выполняется файл. profile, если C-shell —.login и. cshrc, если Korn-shell —.profile и. kshrc). В этих файлах можно указать специфические настройки пользователя, переменные окружения, запустить какие-то приложения. После этого shell выводит на экран приглашение и ожидает ввода информации.

Основные файлы, участвующие в регистрации пользователя

В регистрации пользователя участвуют следующие файлы:

• /etc/profile – общесистемный профильный файл, устанавливает пути и другие важнейшие переменные;

• /etc/passwd – различная регистрационная информация, такая как имя пользователя, группа пользователя, домашний каталог и командный интерпретатор;

• /etc/shadow – в определенной мере дублирует файл passwd, но его основное назначение – хранить пароли пользователей;

• /etc/bashrc – общесистемный файл конфигурации bash;

• /домашний каталог/.* – пользовательские файлы конфигурации.

Если требуется, чтобы при регистрации пользователя выполнялся какой-то скрипт или устанавливались переменные окружения, то для этого надо вызов данного скрипта поместить в ""/.profile или в. bash_profile.

Если необходимо, чтобы пользователь не мог отменить выполнение какого-то скрипта или команды при его регистрации в системе, то для этого следует вписать в./etc/profile следующее:

if test $USER = petya; then

echo Hello Petya!

#здесь запускается ваш скрипт

fi

Эти команды будут исполняться только при регистрации в системе пользователя petya.

Загрузка в однопользовательском режиме

Помимо стандартной загрузки, описанной ранее, можно заставить процесс init загрузить систему на уровне выполнения, отличном от загружаемого по умолчанию. Эта возможность крайне необходима в случае, когда у операционной системы есть проблемы. Это могут быть чьи-то неудачные эксперименты с файлом inittab или неправильно сконфигурированный процесс (например, если сеть нормально не настроена, sendmail пытается найти хост, которого нет. Это может привести к задержке при старте системы в 10 минут и более). При возникновении такой ситуации необходимо перевести систему в однопользовательский режим и решить проблему. Для этого в строку приглашения LILO (boot:) надо ввести аргументы single или emergency. Это позволит загрузить систему в однопользовательском режиме (уровень выполнения 1), при котором в системе работает только суперпользователь (root) и запускается очень небольшое число самых необходимых системных служб, включая login. Другим способом перевода системы в однопользовательский режим является применение команды teiinit, которая, собственно, является символической ссылкой на сам init. Команда teiinit, помимо перевода системы с одного уровня выполнения в другой, может заставить процесс init перечитать файл inittab без перезагрузки операционной системы.

Однопользовательский режим необходим для выполнения административных задач, таких как проверка и восстановление файловой системы. К примеру, запуск fsck в разделе /usr. Обычно необходимость перехода в однопользовательский режим возникает тогда, когда fsck не может автоматически восстановить файловую систему при загрузке. Такое случается редко, обычно при пропадании электроэнергии во время работы компьютера или выходе из строя жесткого диска.

Однако бывают случаи, когда в однопользовательском режиме загрузиться с жесткого диска невозможно. В этом случае можно загрузиться в однопользовательском режиме с дискеты или с CD-ROM. Такое может произойти в случае серьезного краха системы (что иногда бывает смертельно для информации на жестком диске) или когда, к примеру, при установке Windows переписывает MBR, и в результате уничтожается загрузчик LILO (разделы Linux и система жизнеспособны, только загрузить ее нечем). Более подробную информацию см. в гл. 40.

Из соображений безопасности правильно сконфигурированная система при загрузке в однопользовательском режиме запросит пароль пользователя root.

Существует еще один способ вмешаться в процесс загрузки. В процессе загрузки системы выдается сообщение Press «I» to enter interactive startup. Если вы нажмете клавишу <1>, система перейдет в режим пошагового выполнения загрузки сервисов (подобно нажатию клавиши <F8> в Windows и выбора режима загрузки step by step).

Это позволит отказаться от загрузки подозрительных (с вашей точки зрения) процессов и определить, при запуске какого процесса возникают неприятности.

Утилиты

Подводя итог, перечислим утилиты, участвующие в процессе загрузки системы:

• init – программа, управляющая загрузкой операционной системы;

• teiinit – утилита для управления процессом init;

• runlevel – выводит текущий уровень выполнения;

• linuxconf – утилита конфигурации операционной системы Linux. В том числе позволяет редактировать список сервисов, запускаемых в текущем уровне выполнения;

• ntsysv – консольная утилита для редактирования списка сервисов, запускаемых в текущем уровне выполнения;

• /usr/sbin/setup – консольная утилита для конфигурирования операционной системы;

• control-panel – графическая утилита для конфигурирования операционной системы.

Ссылки

• www.osp.ru/os/2001/02/073.htm – и. Облаков. Восход солнца вручную.

• /usr/src/Linux-2.4.3/Documentation/ – много информации, так или иначе связанной с ядром операционной системы, драйверами, файловыми системами и т. п.

• Справочные страницы man – init, inittab, teiinit, initscript.

• Соответствующие HOWTO (см. гл. 13):

– Ethernet-HOWTO – различные тонкости настройки сетевых адаптеров;

– The Linux BootPromt HOWTO – справочник по аргументам начальной загрузки, передаваемым ядру Linux во время загрузки системы;

– The Linux Bootdisk HOWTO – создание загрузочной дискеты.

Глава 7 Безопасная работа в Linux

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

Основные положения

Зачем вам безопасность?

Безопасность компьютеров и компьютерных сетей сейчас, в связи с повсеместным распространением Интернета и электронной коммерции, все больше выходит на первый план. В любой серьезной организации при приеме на работу системного администратора одним из основных требований к нему является умение организовать безопасность системы и сетей.

Даже если вы устанавливаете один-единственный сервер, не исключена возможность, что кто-то попробует взломать его просто от скуки. Поэтому особо нельзя надеяться, что на ваш сервер или Web-страницу никто не покусится.

Надежность защиты системы

Следует помнить: «все, что один человек построил, другой всегда сможет поломать». Надежность защиты, в идеале, должна соответствовать следующему правилу: затраты взломщика на преодоление защиты должны существенно превышать стоимость поврежденных или украденных данных. Это, конечно, не означает, что домашнюю систему, на которой ничего важного нет, защищать не надо. Просто необходимо соразмерять затраченные усилия – для домашнего пользователя их надо потратить гораздо меньше, чем для банковской сети.

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

1 ... 28 29 30 31 32 33 34 35 36 ... 151
На этой странице вы можете бесплатно читать книгу Linux - Алексей Стахнов бесплатно.

Оставить комментарий