Профили пользователей

При входе пользователей в сеанс автоматически выполняются специальные файлы сценариев, называемые профилями пользователей. Обычный подход к хранению настроек оболочки состоит в разделении настроек (профилей) на глобальный профиль (Master Profile) и пользовательские профили (Login Pro- files). Кроме профилей имеются еще и специальные файлы настроек оболо- чек (resource files), которые также являются сценариями оболочек. Отличие профилей от файлов ресурсов состоит в том, что сценарии профилей испол- няются единожды при входе пользователя в сеанс, а файлы ресурсов запус- каются при запуске оболочки из командной строки.

Если оболочка Bash запущена интерактивно при входе пользователя в сеанс (т. е. является оболочкой по умолчанию), то сначала исполняется общий для всех пользователей файл /etc/profile, а затем индивидуальный профиль поль- зователя, находящийся в его домашнем каталоге. При запуске оболочка Bash


 

последовательно пытается найти пользовательский профиль в файлах с име- нами:

r ~/.bash_profile;

r ~/.bash_login;

r ~/.profile.

В файлах профилей обычно устанавливаются такие переменные окружения, как:

r PATH — имена каталогов, в которых Bash ищет исполняемые файлы;

r TERM — тип терминала;

r USER — имя пользователя (устанавливается с помощью id -un);

r HOME — путь к домашнему каталогу пользователя;

r MAIL — путь к почтовому ящику пользователя.

Переменные окружения, устанавливаемые в файлах профилей, должны быть экспортированы с помощью команды export. В примере 17.16 к списку ката- логов в переменной окружения PATH добавляется каталог bin в домашнем ка- талоге.

 

Пример 17.16. Назначение значения переменной PATH

 

PATH=$PATH:$HOME/bin export PATH

 

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

umask.

При необходимости исполнить файл профиля из командной строки следует использовать команду source (пример 17.17).

 

Пример 17.17. Команда source

 

# source /etc/profile

 

Эта команда является встроенной и выполняет в текущей оболочке команды из файла, указанного в качестве аргумента.

В противоположность профилям файл ресурсов оболочки ~/.bashrc выполня- ется только при интерактивном запуске оболочки Bash из командной строки, а не при входе в сеанс. Для того чтобы дополнительные настройки оболочки


 

срабатывали не только при запуске оболочки из командной строки (т. е. из уже запущенной оболочки), но и при запуске Bash по умолчанию при входе в сеанс, вызов инструкций в файле ~/.bashrc часто производится из пользова- тельского профиля. Типичное содержимое файла пользовательского профиля показано в примере 17.18.

 

Пример 17.18. Профиль пользователя

 

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi BASH_ENV=$HOME/.bashrc export BASH_ENV

 

Здесь приведен пример содержимого файла пользовательского профиля, в котором проверяется наличие в домашнем каталоге пользователя файла ресурсов оболочки, и, если он есть, содержимое его выполняется в контек- сте текущей оболочки. Это достигается с помощью inline-подстановки — команды "точка" (.). Вызов . ~/.bashrc приводит к тому, что переменные, псевдонимы и функции, определенные в файле ресурсов, будут доступны в текущей оболочке. Inline-подстановка всегда используется для передачи из одного файла сценария оболочки в другой сценарий переменных, псевдони- мов и функций.

Переменная окружения BASH_ENV, определенная в примере 17.18, предназна- чена для информирования оболочки, запускаемой неинтерактивно (например, для выполнения сценария), что должны быть использованы ресурсы, опреде- ленные в файле, имя которого содержится в этой переменной.

Довольно часто в файле ~/.bashrc находится inline-вызов общесистемного файла ресурсов /etc/bashrc. Это не обязательно, но очень удобно, т. к. в этом файле можно определить, например, псевдонимы для команд, которыми час- то пользуются различные пользователи системы, вместо определения этих псевдонимов в частных файлах ресурсов оболочки ~/.bashrc.

Итак, далее приведен список действий, которые обычно выполняются авто- матически при входе в сеанс Bash:

1. Исполняется общесистемный скрипт профиля /etc/profile.

2. Выполняется пользовательский скрипт профиля в его домашнем каталоге

(например, ~/.bash_profile).

3. В пользовательском профиле проверяется наличие в домашнем каталоге файла ресурсов оболочки ~/.bashrc, и, при его наличии, он исполняется.


 

4. Если исполняется файл ресурсов оболочки, то обычно в нем вызывается общесистемный файл ресурсов /etc/bashrc.

5. При запуске оболочки из командной строки выполняются пункты 3 и 4

списка.

 








Дата добавления: 2015-06-12; просмотров: 808;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.