Лабы по UNIX / UNIX3
.doc
ЛАБОРАТОРНАЯ РАБОТА № 3 (время выполнения -- 2 часа)
Тема: ” Работа с пользователями в UNIX”
Введение
Unix – многопользовательская система, т.е. в системе могут одновременно работать несколько пользователей. Каждый пользователь в системе имеет регистрационное имя и числовой идентификатор UID.
Пользователи объединяются в группы. Каждый пользователь должен принадлежать не менее чем одной группе (PGID).
При создании пользователя для него может быть определен личный каталог и командный процессор.
Информация о пользователях, их группах и личных каталогах хранится в файле /etc/passwd.
Данные о группах пользователей содержатся в файле /etc/group, зашифрованные пароли – в файле /etc/shadow. Эти файлы доступны для редактирования только суперпользователю.
1. Формат файла /etc/passwd
Одна строка файла соответствует одному пользователю. Строки имеют следующий формат:
username : password : uid : gid : comment : home_dir : login_shell
| | | первичная группа пользователя
| |символ-заполнитель для зашифрованного пароля
рег.имя пользователя
2. Формат файла /etc/shadow
Детали шифрования пароля и его устаревание хранятся в файле /etc/shadow Строки имеют следующий формат:
username : password : lastchg : min : max : inactive : expire
password -- 13-символьный шифрованный пароль
или LK -недоступная запись, NP -- нет пароля
lastchg -- количество дней между 1.01.70 и датой последнего изменения
inactive -- количество дней неактивности учетной записи перед ее блокировкой
expire -- дата истечения срока действия учетной записи
3. Формат файла /etc/group
Одна строка соответствует одной группе.
group_name : group_password : gid : user_list(через зпт)
| поле осталось от ранних версий, обычно пусто или *
Группы, существующие по умолчанию
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,tty,adm
lp::8:root,lp,adm
nuucp::0:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::6001:
noaccess::6002:
nogroup::65534:
Для создания новых учетных записей пользователя и группы не рекомендуется напрямую редактировать файлы /etc/passwd и etc/group, т.к. в некоторых системах информация о пользователях хранится в системных таблицах. Лучше пользоваться утилитами.
4. Графическая утилита admintool
Форма admintool позволяет добавлять и удалять пользователей и группы, изменять атрибуты пользователей.
5. Утилиты командной строки
Утилиты командной строки -- более гибкий инструмент по сравнению с admintool.
useradd |
Добавление пользователя |
userdel |
Удаление пользователя |
usermod |
Изменение атрибутов пользователя |
uroupadd |
Добавление группы |
uroupmod |
Изменение группы |
groupdel |
Удаление группы |
passwd |
Изменение пароля пользователя |
6. Переключение бюджета пользователя
В процессе работы пользователь может изменить имя регистрации (открыть новый сеанс работы в системе, не завершая старый) или изменить свою группу.
su |
Переключение имени пользователя |
newgrp |
Переключение группы пользователя |
7. Файлы инициализации пользователей
Принятые по умолчанию файлы инициализации (создаются автоматически в home-каталоге при создании учетной записи пользователя):
Командный интерпретатор |
скрипт инициализации |
Bourne shell (sh) |
.profile |
C shell (csh) |
.login .cshrc |
Korn shell (ksh) |
.profile .kshrc |
Bourne Again shell (bash) |
.profile .bashrc |
"Заготовки" для пользовательских файлов инициализации находятся в каталоге /etc/skel : local.cshrc, local.profile,local.login
Пример файла инициализации .profile
PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/ccs/bin:.
MANPATH=/usr/share/man:/usr/local/man
umaask 022
export PATH МANРАТН
8. Файлы, регламентирующие работу пользователей
/etc/default/login |
Ограничения на вход под именем root |
/etc/default/passwd |
Ограничения на пароли пользователей |
/etc/default/su |
Настройки команды su |
9. Аудит пользователей
who |
Список работающих пользователей |
whodo |
Пользователи и их процессы |
last |
Сеансы заданных пользователей и их терминалы |
logins -x -l имя_пользователя |
Мониторинг деятельности пользователей |
logins -p |
Выявление пользователей, не имеющих паролей |
Бели по какой-то причине необходимо запретить вход пользователей в систему, то для этого суперпользователь может создать файл /ete/nologin. В этом файле можно написать сообщение, которое будет выводиться пользователю при его входе в систему.
УПРАЖНЕНИЯ
1. Определите, сколько пользователей зарегистрировано в системе.
2. Определете UID пользователя sys
3. Определите домашний каталог пользователя root
4. Определите, какие пользователи принадлежат группе bin
5. Определите, принадлежит ли пользователь sys группе bin
6. Определите, принадлежит ли пользователь root группе other
7. Создайте нового пользователя c помощью утилиты admintool
Характеристики пользователя:
Username demoX1
UID 1001
GID 10
Home directory /home/demoX1
Login shell bash
8. Создайте нового пользователя с помощью утилиты usradd
Характеристики пользователя:
Username demoX2
UID 1002
GID 10
Login shell /usr/bin/ksh
9. Установите личный каталог пользователю demoX2 с помощью команды usermod: /home/demoX2
10. Задайте пароль пользователю demoX2 с помощью команды passwd
11. Создайте нового пользователя, редактируя файл /etc/passwd.
Характеристики пользователя:
Username demoX3
UID 1003
GID 10
Home directory /home/demoX3
Login shell /usr/bin/ksh
12. Разбейтесь на пары. Войдите в другую систему удаленно ($telnet адрес-системы) под пользователем demoХЗ. Выполните команду who на своей системе и на удаленной.
13. Попробуйте войти в удаленно в систему под пользователем root. Определите, почему пользователь root не может войти в систему удаленно.
14. Для пользователя demoX3 установите новую переменную ORACLE_HOME=/space/ora так, чтобы она была доступна всем процессам, запускаемым этим пользователем.
15. Определите файл, в который записываются записи журнала аудита команды su
16. Определите требования к минимальной длине пароля.