Материал: 6261

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

136

$ldd /bin/su

linux-gate.so.1 => (0xb76e8000)

libpam.so.0 => /lib/i386-linux-gnu/libpam.so.0 (0xb76c8000)

libpam_misc.so.0 => /lib/i386-linux-gnu/libpam_misc.so.0 (0xb76c4000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7519000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7514000)

/lib/ld-linux.so.2 (0xb76e9000)

$

5.4 Команды управления пользователями

Теоретическая концепция пользователя поддерживается соответствующей информационной и управляющей инфраструктурой ОС.

Хотя работа с пользователями предполагает всего три действия: создание, удаление и модификацию, - наличие множества конфигурационных файлов, привязанных к древовидной структуре ФС, превращает сам процесс управления в непростую задачу.

Чтобы упростить этот процесс, используются три команды (утилиты): useradd, userdel и usermod, расположенные обычно в директории /usr/sbin.

Замечание

Прежде чем выполнять любую из этих команд, следует воспользоваться руководством man, а после — предварительно запустить команды с ключем --help.

Общий синтаксис команды создания нового пользователя имеет вид:

useradd [ -A { DEFAULT | method [ ,... ] } ]

[ -c comment ] [ -d home_dir ]

[ -e expire_date ]

[ -f inactive_time ]

[ -g initial_group ]

[ -G group [ ,... ] ]

[ -m [ -k skeleton_dir ] | -M ]

[ -s shell ]

[ -u uid [ -o ]] имя_пользователя [ -r ]

[ -n ]

Команда требует одного обязательного аргумента — имя_пользователя. Многие другие аргументы команды интуитивно понятны и не требуют пояснения.

137

Замечание

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

Удаление пользователя выполняется командой:

userdell имя_пользователя;

Если пользователь с таким именем существует и, при этом, не находится в системе, то userdell:

•удаляет его домашний каталог со всеми подкаталогами;

•удаляет все записи об этом пользователе из файлов /etc/passwd, /etc/shadow, /etc/group;

•возможно, оставляет временные забытые файлы в директории /tmp.

Изменение параметров пользователя выполняется командой usermod, в которой большинство аргументов совпадают с аргументами команды useradd, но ориентированы на изменение соответствующих параметров.

Особое место в управлении пользователями занимает утилита passwd, которая управляет паролями пользователя и ограничивает его работу на уровне сеанса. Общие правила применения утилиты passwd:

•администратор ОС может изменить пароль любого пользователя;

•работа утилиты, практически всегда происходит в интерактивном режиме; например, новый пароль вводится дважды;

•обычный пользователь может сменить только свой пароль, предварительно

набрав старый.

Общий синтаксис команды:

passwd [параметры] [LOGIN]

Замечание

Обязательно следует изучить параметры команды с помощью руководства man passwd и запуска ее с ключем —help.

Утилита passwd имеет множество опций, поэтому рассмотрим наиболее типичные варианты ее применения.

passwd [ -f | -s ] [ имя ]

138

-f Позволяет изменить поле GEOS в файле /etc/passwd.

-s Позволяет изменить интерпретатор shell, вызываемый при входе пользователя в систему.

passwd [ -g ] [ -r | -R ] группа

-g Переключает passwd в режим работы с паролями групп. -r Удаляет групповой пароль.

-R Закрывает доступ к группе для всех пользователей.

passwd [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] имя

-x max

Максимальное число дней, в течение которых пароль действителен.

 

9999 — пароль действителен всегда.

-n min

В течение скольких дней пользователь не может изменять свой пароль.

 

0 — может всегда.

-w warn

За сколько дней до истечения срока max пользователю начнут

 

выдаваться предупреждения о необходимости смены пароля.

-i inact

Число дней, свыше max, когда пользователь может сменить пароль,

 

иначе он будет заблокирован до вмешательства администратора.

passwd { -l | -u | -d | -S } имя

-l Временно запретить доступ пользователя в систему. -u Восстановить доступ пользователя в систему.

-d Удаление пароля пользователя с разрешением входа в систему (без пароля). -S Получить информацию о пароле пользователя. Например,

$ passwd -S

vgr P 12/21/2012 0 99999 7 -1

$

139

5.5 Лабораторная работа по теме №5

Цель лабораторной работы №5 — практическое закрепление учебного материала по теме «Управление пользователями ОС».

Метод достижения указанной цели — закрепление учебного материала, изложенного в первом разделе пособия посредством утилит ОС, а также выполнение заданий, приведенных в данном разделе.

Чтобы успешно выполнить данную работу, студенту следует:

•запустить с flashUSB ОС УПК АСУ, подключить личный архив и переключиться в сеанс пользователя upk;

•запустить на чтение данное пособие и на редактирование личный отчет;

•открыть одно или несколько окон терминалов, причем хотя бы в одном окне

терминала открыть Midnight Commander, для удобства работы с файловой системой ОС;

•приступить к выполнению работы, последовательно пользуясь рекомендациями представленных ниже подразделов.

Замечание

Многие команды ОС студенту еще не известны, поэтому следует:

•для вывода на консоль руководства по интересуемой команде, использовать: man имя_команды;

•для выяснения сущесвования команды, ее доступности и местоположения, использовать: command -v имя_команды;

•для уточнения правил запуска конкретной команды, можно попробовать один из вариантов: команда --help или команда -h или команда -?.

Впроцессе выполнения лабораторной работы студент заполняет личный отчет по каждому изученному вопросу!.

5.5.1 Инфраструктура управления пользователями

Прочитайте и усвойте учебный материал подраздела 5.1.

Исследуйте содержимое директорий: /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow. Усвойте структуру и назначение этих файлов.

5.5.2 Реалные и эффективные права пользователя

Прочитайте и усвойте учебный материал подраздела 5.2.

Спомощью руководства man изучите утилиты whoami, id, chown и chmod.

Спомощью учебного материала подраздела 4.5, а также таблиц 4.9 и 4.10, изучите структуру поля дескриптора файлов i_mode.

Усвойте назначение битов SUID и SGID.

В директории ~/src создайте текстовый файл test и включите в него команды id и

140

whoami.

Сделайте файл ~/src/test исполняемым и, запуская его, исследуйте эффективные идентификаторы запускаемого процесса.

Находясь в директории ~/src, уснановите значения битов SUID и SGID командой: sudo chmod 3777 ./test

Запустите команды:

./test sudo ./test

Сравните результаты.

5.5.3 Инфраструктура PAM

Прочитайте и усвойте учебный материал подраздела 5.3.

Исследуйте содержимое директории /etc/skel и сравните с содержимым рабочей директории пользователя upk.

Изучите содержимое директории /lib/x86_64-linux-gnu/security. Изучите содержимое директории /etc/pam.d и файла /etc/pam.conf.

Изучите утилиту ldd и исследуйте с помощью нее ряд утилит, которые вы считаете, участвуют в контроле прав доступа пользователей.

5.5.4 Команды управления пользователями

Прочитайте и усвойте учебный материал подраздела 5.4. Изучите утилиты useradd, userdel и usermod.

Из главного меню рабочего стола откройте окно «Все настройки», выберите и запустите ПО, озаглавленное «Пользователи и группы», как показано на рисунке 5.2.

Добавьте нового пользователя, например с именем mmm.

Исследуйте содержимое директорий: /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow. Запустите Midnight Commander в окне терминала и перейдите в директорию

/home/mmm.

Сравните содержимое директории /home/mmm с содержимым диреткоии /etc/skel. Закройте все окна пользователя upk и выйдите из его сеанса.

Войдите в сеанс пользователя mmm, запустите Midnight Commander в окне терминала и исследуте содержимое директории /home/upk.

Выйдите из сеанса пользователя mmm и зайдите в сеанс пользователя upk. Запустите главное окно работы с пользователями и удалите пользователя mmm. Исследуйте изменения структуры файлов и директорий.

Замечание

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

useradd, userdel и usermod.

Источник: https://studfile.net/preview/16438529/