Linux для пользователя
Шрифт:
• /etc/bashrc - глобальный файл конфигурации bash, устанавливает синонимы (алиасы) и функции, и т.п.;
• /etc/issue - содержит сообщение, выдаваемое на терминал перед входом в систему (перед запросом имени и пароля); однако редактировать этот файл с целью изменения текста сообщения не стоит, потому что сам он формируется инициализационным скриптом /etc/rc.d/rc.local;
• /etc/motd - устанавливает сообщение, выдаваемое пользователю после входа в систему (после правильного ввода пароля);
• /etc/redhat-release - содержит название и номер
Перечисленные выше конфигурационные файлы оказывают влияние на процесс загрузки системы и процесс входа в систему любого пользователя. Но существуют и такие файлы, которые влияют только на процедуры входа в систему отдельного пользователя, позволяют создать для него индивидуальную рабочую среду. Такие файлы будут рассмотрены в следующем разделе.
8.2.4. Процессы, происходящие при регистрации пользователя
Последовательность событий при полной регистрации выглядит так.
1. Пользователь вводит регистрационное имя по приглашению login: процесса getty.
2. getty выполняет программу login, используя в качестве аргумента указанное имя.
3. login запрашивает пароль и сверяет имя и пароль с записанными в файле /etc/passwd.
4. login выводит на экран из файла /etc/motd "сообщение дня".
5. login запускает интерпретатор shell, указанный в бюджете пользователя и устанавливает переменную среды TERM.
6. shell выполняет соответствующие файлы запуска, после чего выводит на экран приглашение и ожидает ввода информации.
О файлах запуска надо сказать несколько слов дополнительно. В домашнем каталоге пользователя находятся несколько личных файлов конфигурации. Если таких файлов в домашнем каталоге нет, то после входа в систему будут прочитаны глобальные файлы, содержащие значения "по умолчанию". Если в качестве оболочки используется Bourne-shell, выполняется файл.profile, если C-shell -.login и.cshrc, если Korn-shell -.profile и.kshrc (мы в дальнейшем рассматриваем только случай оболочки bash).
Если вы хотите установить для себя переменные среды (PATH или другие), отличающиеся от тех, которые по умолчанию задаются для всех пользователей, или вы хотите изменить сообщение, которое будет выдаваться вам после входа в систему, или хотите, чтобы после того, как вы войдете в систему, автоматически запускалась какая-то программа, вы можете сделать это с помощью следующих файлов:
/home/your_home/.bashrc - устанавливает ваши алиасы (т. е. псевдонимы или альтернативные имена команд, удобные для упрощения ввода часто используемых команд, имеющих значительную длину из-за большого количества опций) и функции;
/home/your_home/.bash_profile или /home/your_home/.profile - устанавливает переменные среды и запускает ваши программы.
Если такие файлы существуют (заметим, что это скрытые файлы), они будут считаны после входа в систему, и команды, записанные в них, будут выполнены.
Если вы хотите, чтобы при входе пользователя в систему выполнялся какой-то скрипт, то можно вызов этого скрипта поместить в файл ~/.profile. Это может сделать и сам пользователь.
Эти команды будут исполняться только при входе пользователя в систему. Можно, например, приветствовать каждого пользователя по имени или посылать индивидуальные сообщения:
if test $USER = jim; then
echo 'Здравствуйте, уважаемый Jim!'
fi
8.2.5. Загрузка в однопользовательском режиме
Процесс загрузки ОС, к сожалению, не всегда происходит так, как это задумано. Бывают случаи, когда система отказывается загружаться нормальным образом. Основные причины, приводящие к такой ситуации [П10.1]:
• неисправности аппаратных средств;
• дефектные блоки на диске, в частности, блоки, в которых находится программа-загрузчик или ядро системы;
• повреждения файловых систем;
• неверно сконфигурированное ядро (например, при попытках установить самостоятельно скомпилированную или экспериментальную версию ядра);
• ошибки в сценариях запуска (появившиеся, например, из-за того, что вы внесли в эти сценарии какие-то исправления).
Первое, что надо знать пользователю в таком случае - как войти в контакт с системой, заставить ее воспринимать команды, чтобы попытаться что-то исправить. Один из возможных вариантов действий в этом случае - попытаться запустить систему в однопользовательском режиме, т. е. с уровнем выполнения 1 (см. разд. 8.2).
Обычно о необходимости перехода в однопользовательский режим говорит то, что fsck не может автоматически восстановить файловую систему при загрузке. В таких случаях бывает необходимо запустить fsck в разделе /usr, для чего требуется, чтобы раздел был размонтирован, а этого нельзя сделать, пока не будут отключены почти все системные службы. Тут-то и требуется перейти в однопользовательский режим, в котором запускается минимум служб и сервисов системы.
Вы можете заставить процесс init загрузить систему в однопользовательском режиме, если зададите в командной строке загрузки ядра (в ответ на приглашение LILO boot:) аргумент single или emergency. Точнее, в тот момент, когда на экране появится сообщение
необходимо ввести
где вместо /dev/hda1 надо, естественно, подставить имя раздела с корневой файловой системой. Эта команда подключит корневой раздел и переведет систему в однопользовательский режим. В этом режиме в системе работает только один пользователь - администратор и запускается только очень небольшое число самых необходимых системных служб (system services) - включая login. (Заметим в скобках, что другим способом перевода системы в однопользовательский режим является применение команды telinit, однако в рассматриваемой ситуации, когда не проходит загрузка, воспользоваться этим способом вряд ли удастся).