Разделы презентаций


ОП.14 Основы функционирования UNIX - систем

Содержание

Учетные записи пользователей Доступ к операционным системам UNIX, как и ко многим другим, осуществляется только через учетные записи пользователей. Учетная запись (account) пользователя включает в себя инфор­мацию, необходимую для

Слайды и текст этой презентации

Слайд 1ОП.14 Основы функционирования UNIX - систем


занятие 08

ОП.14  Основы функционирования UNIX - системзанятие 08

Слайд 2Учетные записи пользователей
Доступ к операционным системам UNIX, как и ко

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

(account) пользователя включает в себя инфор­мацию, необходимую для его регистрации в системе и начала сеанса работы:
• регистрационное имя;
• пароль для входа в систему;
• исходный (домашний) каталог пользователя;
• файлы инициализации рабочей среды пользователя.
Учетные записи пользователей Доступ к операционным системам UNIX, как и ко многим другим, осуществляется только через учетные

Слайд 3Учетные записи пользователей
Взаимодействие пользователя и операционной системы можно представить себе

так, как показано на следующем рисунке.
На этом рисунке показан

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

Слайд 4Учетные записи пользователей

Учетные записи пользователей

Слайд 5Учетные записи пользователей
Операционные системы UNIX для подключения пользователя к системе

создают так называемые терминальные соединения или терминальные линии.
Исторически сложилось

так, что в ранних версиях UNIX для подключения нескольких пользователей ис­пользовались последовательные порты, доступ через которые осуществлялся под управлением программы getty.
В современ­ных системах UNIX несколько пользователей могут подключаться к одной системе (локальной или сетевой), применяя ме­ханизм так называемых "виртуальных терминалов" или, в кон­тексте пользователя, "виртуальных консолей".
Учетные записи пользователей Операционные системы UNIX для подключения пользователя к системе создают так называемые терминальные соединения или

Слайд 6Учетные записи пользователей
Для пользователя виртуальная консоль

представляется в виде отдельной терминальной

линии, реализованной программно и не зависящей от физической природы соединения (локальный компьютер, сериальный порт или сетевое соединение).
При этом пользователю выделяется отдельный логический дисплей, связанный с конкретным физическим устройством.
Управление виртуальной консолью обычно осуществляется специальной программой, совместимой по функциям с getty.
Учетные записи пользователей Для  пользователя  виртуальная  консоль  представляется  в  виде

Слайд 7Учетные записи пользователей
Например, во многих операционных системах Linux такой программой

являет­ся mingetty (minimal getty), а для

управления терминальными соединениями в Solaris используется намного более сложная и функциональная программа ttymon.
Несколько виртуальных консолей могут использовать одну и ту же физическую линию или одно и то же устройство.
Сказанное иллюстрирует следующий рисунок, где показаны виртуальные соединения для Linux-системы.
Учетные записи пользователей Например, во многих операционных системах Linux такой программой являет­ся mingetty  (minimal  getty),

Слайд 8Учетные записи пользователей

Учетные записи пользователей

Слайд 9Учетные записи пользователей
Здесь несколько пользователей могут подключиться к одной ло­кальной

системе, причем это можно делать даже

с основной консоли, используя комбинации клавиш:
++.
При этом соответствующий данному виртуальному соединению процесс mingetty ожидает ввода имени и пароля, отображая на экране соответствующее приглашение.
Учетные записи пользователей Здесь несколько пользователей могут подключиться к одной ло­кальной  системе,  причем  это

Слайд 10Учетные записи пользователей
Ожидающие процессы mingetty можно просмотреть с помощью команды

ps:
# ps –ef|grep tty*
root 5288

1 0 10:03 tty1 00:00:00 /sbin/mingetty ttyl
root 5290 1 0 10:03 tty3 00:00:00 /sbin/mingetty tty3
root 5291 1 0 10:03 tty4 00:00:00 /sbin/mingetty tty4
root 5292 1 0 10:03 tty5 00:00:00 /sbin/mingetty tty5
Учетные записи пользователей Ожидающие процессы mingetty можно просмотреть с помощью команды ps: # ps –ef|grep tty* root

Слайд 11Учетные записи пользователей
root 5293 1 0

10:03 tty6 00:00:00 /sbin/mingetty tty6
root

7675 1 0 11:18 tty2 00:00:00 /sbin/mingetty tty2
root 7679 5458 0 11:18 pts/0 00:00:00 grep tty*

Из результата выполнения команды ps видно, что в системе вы­полняется 6 процессов mingetty, управляющих терминальными линиями tty1—tty6 (такие обозначения используются в Linux).
Учетные записи пользователей root   5293   1 0 10:03 tty6   00:00:00

Слайд 12Учетные записи пользователей
Если теперь, например, переключиться на виртуальную консоль 2

(комбинация клавиш ++) и войти в систему как пользователь

yury, а с консоли 3 (комбинация клавиш ++) зайти как пользователь user1, то команда ps даст такой результат:
# ps –ef|grep tty*
root 5288 1 0 10:03 tty1 00:00:00 /sbin/mingetty tty1
root 5291 1 0 10:03 tty4 00:00:00 /sbin/mingetty tty4
Учетные записи пользователей Если теперь, например, переключиться на виртуальную консоль 2 (комбинация клавиш ++) и войти в

Слайд 13Учетные записи пользователей
root 5292 1 0

10:03 tty5 00:00:00 /sbin/mingetty tty5
root

5293 1 0 10:03 tty6 00:00:00 /sbin/mingetty tty6
yury 7681 7675 0 11:23 tty2 00:00:00 –bash
user1 7777 7776 0 11:27 tty3 00:00:00 –bash
root 7819 5458 0 11:27 pts/0 00:00:00 grep tty*
Как видно из вывода команды ps, терминальные линии tty2 и tty3 используются в сеансах пользователей yury и user1 с запу­щенными командными интерпретаторами Bourne.
Учетные записи пользователей root   5292   1 0 10:03 tty5   00:00:00

Слайд 14Учетные записи пользователей
Надо уточнить, что процессы mingetty, ttymon и им

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

задача — обеспечить терминальное соединение с указанными параметрами (интерпретация служебных символов, эхо-контроль и т.д.).
Сам процесс входа в систему и инициализация сеанса работы выполняются командой login и другими системными службами.
Процессы, подобные mingetty, во всех операционных системах запускаются процессом init, считывающим таблицу /etc/inittab в процессе запуска системы.

Учетные записи пользователей Надо уточнить, что процессы mingetty, ttymon и им подобные в других системах не управляют

Слайд 15Учетные записи пользователей
Собственно сеанс работы пользователя начинается с

момента подтверждения его полномочий (правильно введены

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

Слайд 16Учетные записи пользователей
Для регистрации пользователь вводит

регистрационное имя, представляющее собой строку символов из цифр

и букв алфави­та.
После ввода идентификатора процесс getty (mingetty, ttymon и т. д.) запускает программу регистрации login, которая использует в качестве параметра введенный идентификатор пользователя.
При вводе пароля вводимые символы обычно не отображаются на экране консоли.
Учетные записи пользователей Для  регистрации  пользователь  вводит  регистрационное  имя,  представляющее собой

Слайд 17Учетные записи пользователей
Если пользователь допустил ошибку во вре­мя процедуры регистрации,

выдается сообщение:
Login incorrect
после чего появляется новое приглашение к

вводу.
В большин­стве случаев количество попыток входа в систему ограничено определенным значением (обычно 5), хотя и может быть изме­нено пользователем root.
Учетные записи пользователей Если пользователь допустил ошибку во вре­мя процедуры регистрации, выдается сообщение: Login incorrect после чего

Слайд 18Учетные записи пользователей
Если количество попыток входа в сис­тему исчерпано, запись

об этом может быть помещена в файл /var/adm/loginlog (если такой

файл существует в системе), а тер­минальная линия, используемая для входа в систему, будет разо­рвана.
Вот последовательность действий, выполняемых командой login:
1. Процесс login проверяет содержимое файла /etc/passwd, чтобы определить, требуется ли ввод пароля при входе в систему.
Учетные записи пользователей Если количество попыток входа в сис­тему исчерпано, запись об этом может быть помещена в

Слайд 19Учетные записи пользователей
Если требуется, то система выдает приглашение к вводу

пароля на экран (пароли пользователей в большинст­ве операционных

систем UNIX хранятся, как правило, в зашифрованном виде в файле /etc/shadow).
Процесс login анализирует также срок действия пароля и, если он истек, требует его замены.
2. Процесс login выполняет все необходимые действия по ре­гистрации пользователя и установке параметров сеанса (процесса с уникальными идентификаторами пользователя uid и группы gid).
Учетные записи пользователей Если требуется, то система выдает приглашение к вводу пароля на экран (пароли пользователей в

Слайд 20Учетные записи пользователей
Кроме этого, каждому пользователю на­значаются права доступа, позволяющие

выполнять команды интерпретатора shell. В этот момент операционная система добавляет

запись в файл, где хранятся записи о зарегистри­рованных пользователях.
При успешной регистрации поль­зователя операционная система устанавливает параметры для текущего сеанса работы.
Каждый сеанс пользователя получает числовой идентификатор пользователя и группы — оба они определяют права доступа пользователя к объектам файловой системы, и без них невозможно выполнить ни одной команды.
Учетные записи пользователей Кроме этого, каждому пользователю на­значаются права доступа, позволяющие выполнять команды интерпретатора shell. В этот

Слайд 21Учетные записи пользователей
После этих действий операционная система запускает командный

интерпретатор shell (обычно это bash), позволяющий вы­полнять

команды операционной системы.
Идентификация пользователей в операционной системе определяется несколькими файлами, имеющими ключевое значение: /etc/passwd, /etc/group и /etc/shadow.
Информация о пользовате­ле, сохраненная в этих файлах, позволяет системе устанавливать, изменять и выполнять другие функции управления учетной за­писью пользователя.
Учетные записи пользователей После этих действий операционная система запускает командный  интерпретатор  shell  (обычно это

Слайд 22Учетные записи пользователей
Важной частью процесса настройки

учетной записи является установка исходного (домашнего)

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

Слайд 23Учетные записи пользователей
С помощью файла инициализации пользователь способен реализовать любую

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

командного интерпретатора.
Однако ос­новной задачей этого файла является установка характеристик рабочего окружения, таких как маршрут поиска файлов и ката­логов, переменные окружения и графический интерфейс поль­зователя.
Каждый командный интерпретатор shell, используемый при ре­гистрации, имеет собственный файл (или файлы) инициализации пользователя, расположенный в его домашнем каталоге.
Учетные записи пользователей С помощью файла инициализации пользователь способен реализовать любую задачу, которая может быть выполнена в

Слайд 24Учетные записи пользователей
Эти файлы запускаются автоматически, когда данный пользователь регистрируется

в системе.
Пользовательские файлы инициализации, принятые по умолчанию, такие как

.cshrc, .profile и .login, создаются автоматически в домашнем каталоге при добавлении к системе новой учетной записи пользователя.
Для каждого командного процессора сис­темное программное обеспечение UNIX предоставляет по умол­чанию пользовательские файлы инициализации, которые нахо­дятся в каталоге /etc/skel (для Linux и Solaris). Эти файлы перечислены в таблице.
Учетные записи пользователей Эти файлы запускаются автоматически, когда данный пользователь регистрируется в системе. Пользовательские файлы инициализации, принятые

Слайд 25Учетные записи пользователей

Учетные записи пользователей

Слайд 26Учетные записи пользователей
В некоторых версиях операционной системы Linux при

создании учетной записи пользователя файл

по умолчанию .bashrc копируется системой в домашний каталог пользователя под именем .bash_profile.
Стандартные файлы инициализации можно использовать в качестве отправной точки и модифицировать их для создания не­которого обобщенного набора файлов, предоставляющего рабо­чее окружение, общее для всех пользователей.
Учетные записи пользователей В  некоторых версиях операционной системы Linux при  создании  учетной  записи

Слайд 27Учетные записи пользователей
В файлах инициализации UNIX используется целый ряд так

на­зываемых системных переменных или, по-другому, переменных окружения, используемых

ядром и пользовательскими процес­сами для настройки и идентификации параметров системы.
Для каждой учетной записи пользователя устанавливаются не­сколько переменных окружения, которые могут присутствовать в файлах инициализации и настраиваться соответствующим обра­зом.
Учетные записи пользователей В файлах инициализации UNIX используется целый ряд так на­зываемых системных переменных или,  по-другому,

Слайд 28Учетные записи пользователей
Вот наиболее важные из них:
• HOME

— устанавливает маршрут к исходному (домашнему) ка­талогу пользователя;

LOGNAME— указывает регистрационное имя пользователя;
• PATH — перечисляет в определенном порядке имена катало­гов, которые командный интерпретатор просматривает в по­исках программы, имя которой пользователь вводит с ко­мандной строки. При этом если конкретный каталог в маршруте поиска отсутствует, то пользователь должен наби­рать полное имя команды.
Учетные записи пользователей Вот наиболее важные из них: •  HOME — устанавливает маршрут к исходному (домашнему)

Слайд 29Учетные записи пользователей
Значение переменной PATH по умолчанию определено

в файле .profile (для командных ин­терпретаторов Bourne или

Korn) или в файле .cshrc (для ко­мандного интерпретатора С) как часть процесса регистрации в системе.
Очень важно то, в каком порядке перечисляются каталоги — программа с одним и тем же именем может встречаться в разных каталогах, поэтому будет запущена та из них, которая первой встретится в списке;
• SHELL — определяет командный интерпретатор shell для те­кущего пользователя;
Учетные записи пользователей Значение переменной  PATH по умолчанию  определено в файле  .profile  (для

Слайд 30Учетные записи пользователей
• TERM — определяет терминал.


Эта переменная должна быть переустановлена в файле /etc/.profile и /etc/.login.


Когда поль­зователь вызывает какой-нибудь редактор, система ищет файл с именем, задаваемым этой переменной окружения;
• MAIL — устанавливает маршрут к почтовому ящику пользова­теля.
Учетные записи пользователей  •  TERM — определяет терминал.  Эта переменная должна быть переустановлена в

Слайд 31Учетные записи пользователей
Значения переменных окружения хранятся в файлах инициали­зации для

каждой учетной записи.
Просмотреть значения пере­менных можно при помощи команды

env.
Вот фрагмент вывода команды env:
Учетные записи пользователей Значения переменных окружения хранятся в файлах инициали­зации для каждой учетной записи. Просмотреть значения пере­менных

Слайд 32Учетные записи пользователей
# env
TERM=xterm
SHELL=/sbin/sh

USER=root

PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:/bin:/usr/ucb MAIL=/var/mail/root

LOGNAME=root

Учетные записи пользователей # env TERM=xterm SHELL=/sbin/sh USER=root PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:/bin:/usr/ucb MAIL=/var/mail/root LOGNAME=root

Слайд 33Учетные записи пользователей
Нередко требуется изменить значения

переменных окружения для конкретного пользователя.
Так, например, во

многих случа­ях необходимо в переменную PATH добавить маршруты к испол­няемым файлам.
Предположим, что в переменную PATH нужно добавить путь /home/user/programs.
Если пользователь работает с командным интерпретатором Bourne или Korn, то следует вы­полнить команды:
РАТН=$РАТН:/home/usr/programs:.;export PATH
Учетные записи пользователей Нередко  требуется  изменить  значения  переменных  окружения  для конкретного

Слайд 34Учетные записи пользователей
При этом к существующим маршрутам, указанным в переменной

PATH, будет добавлен новый.
Команда export делает моди­фицированную переменную

PATH доступной другим программам.
Для проверки модифицированного значения переменной можно выполнить команду:
echo $PATH
Учетные записи пользователей При этом к существующим маршрутам, указанным в переменной  PATH, будет добавлен новый. Команда

Слайд 35Учетные записи пользователей
Вообще, в командных интерпретаторах Bourne или Korn для

мо­дификации переменных окружения следует использовать такую цепочку команд:
ПЕРЕМЕННАЯ=значение;export ПЕРЕМЕННАЯ


Здесь ПЕРЕМЕННАЯ — одна из переменных окружения.
Для того чтобы продемонстрировать принципы настройки рабо­чей среды пользователя, приведём пример такой настройки в операционной системе Red Hat Linux.
Учетные записи пользователей Вообще, в командных интерпретаторах Bourne или Korn для мо­дификации переменных окружения следует использовать такую

Слайд 36Учетные записи пользователей
Здесь для каждого пользователя создается файл инициализации .bash_profile.


При настройке рабочей среды пользователя можно создать файл .profile

с соответствующими установками для конкретного пользователя, а можно и откорректировать один из существующих файлов инициализации, который система создает из шаблона, находящегося в каталоге /etc/skel.
Воспользуемся созданным системой файлом .bash_profile и вне­сем в него некоторые изменения.
Учетные записи пользователей Здесь для каждого пользователя создается файл инициализации .bash_profile. При настройке рабочей среды пользователя можно

Слайд 37Учетные записи пользователей
Пусть, например, необходимо при входе в систему под

учетной записью user1 выполнить такие действия:

отображать имя пользователя;
• отображать дату входа в систему;
• приглашение к вводу команд отображать как полный путь к домашнему каталогу пользователя, завершающийся символом >.
Учетные записи пользователей Пусть, например, необходимо при входе в систему под учетной записью user1 выполнить такие действия:

Слайд 38Учетные записи пользователей
Исходный файл .bash_profile в домашнем каталоге пользователя

выглядит так:

# .bash profile

# Get the aliases and

functions
if [ -f ~/.bashrc ]; then
Учетные записи пользователей Исходный файл  .bash_profile в домашнем каталоге пользователя выглядит так: # .bash profile #

Слайд 39Учетные записи пользователей
. ~/.bashrc
fi

#

User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

Учетные записи пользователей     . ~/.bashrc fi # User specific environment and startup programs

Слайд 40Учетные записи пользователей
Добавим в него следующие строки:

echo Hello, ‘who

am I|cut –c1-8‘
echo Now is ‘date‘
PS1=\$PWD'>'

и сохраним.

Учетные записи пользователей Добавим в него следующие строки: echo Hello, ‘who am I|cut –c1-8‘ echo Now is

Слайд 41Учетные записи пользователей
При следующем входе пользователя user1 в систему на

экране консоли будет отображаться следующая информация:

Hello, user1
Now is

Fri Oct 6 12:58:32 EEST 2006
/home/user1>
Учетные записи пользователей При следующем входе пользователя user1 в систему на экране консоли будет отображаться следующая информация:

Слайд 42Учетные записи пользователей
При настройке рабочей среды

пользователя необходимо пом­нить, что прежде чем внести какие-либо

изменения в стандарт­ные файлы инициализации или использовать собственные, нужно тщательно проверить работу всех команд и значения из­мененных параметров, записав их в текстовый файл и сделав его исполняемым.
Если в файл инициализации будут внесены не­правильные изменения, пользователь может не войти в систему вообще, и придется использовать учетную запись root для уничтожения зависшей сессии и корректировки файлов инициализа­ции данного пользователя!
Учетные записи пользователей При  настройке  рабочей  среды  пользователя  необходимо  пом­нить, что

Слайд 43Учетные записи пользователей
До сих пор мы полагали, что пользователь входит

в систему, ра­ботающую на локальной машине,

хотя многие пользователи должны подключаться с локального компьютера к какой-либо удаленной машине, находящейся в сети.
В таких случаях обычно используют одну из программ удаленного доступа rlogin. Про­грамма rlogin позволяет инициировать удаленный сеанс работы с сетевым хостом, обеспечивая передачу зашифрованных дан­ных.
Команда может принимать в качестве параметров имя пользователя и имя хоста.
Учетные записи пользователей До сих пор мы полагали, что пользователь входит в систему, ра­ботающую  на

Слайд 44Учетные записи пользователей
На компьютере, к которому выполняется подключение, должен выполняться

процесс-сервер rlogind.
Сервер rlogind является сетевым аналогом

команды login, принимая удаленные запросы на вход в систему, инициированные клиентом с помощью про­граммы rlogin.
В современных системах сетевые запросы от­слеживаются демоном inetd, который, в свою очередь, передает запрос серверу rlogind.
Сеанс удаленной работы пользователя показан на следующем рисунке.
Учетные записи пользователей На компьютере, к которому выполняется подключение, должен выполняться  процесс-сервер rlogind.  Сервер

Слайд 45Учетные записи пользователей

Учетные записи пользователей

Слайд 46Учетные записи пользователей
Для сеанса удаленной связи могут использоваться и протоколы

telnet и ssh. Последний обеспечивает высокий уровень защиты данных и

безопасность сессии.
Любой пользователь операционной системы UNIX помимо домашнего каталога получает в свое распоряжение определенный набор ресурсов с установленными правами доступа к этим ре­сурсам.
Например, пользователь может читать и записывать в файлы, выполнять печать документов на принтере, передавать и принимать сообщения электронной почты.
Учетные записи пользователей Для сеанса удаленной связи могут использоваться и протоколы telnet и ssh. Последний обеспечивает высокий

Слайд 47Учетные записи пользователей
Для каждого пользователя в

системе устанавливаются вполне определенные права

(атрибуты) доступа к ресурсам, к тому же для разных пользователей они могут отличаться.
Все ресурсы операционной системы имеют определенные пра­ва доступа, причем часть таких прав устанавливается в процес­се инсталляции операционной системы, а остальные атрибуты доступа устанавливаются или изменяются специальным поль­зователем root, наделенным всеми правами по управлению операционной системой.
Учетные записи пользователей Для  каждого  пользователя  в  системе  устанавливаются  вполне

Слайд 48Учетные записи пользователей
Пользователь root имеет все права на подключение, удаление

и модификацию учетных записей, на­значение и изменение паролей, назначение кода

доступа к ре­сурсам операционной системы.

Учетные записи пользователей Пользователь root имеет все права на подключение, удаление и модификацию учетных записей, на­значение и

Слайд 49Настройка и управ­ление учетными записями пользователей
Учетные записи пользователей

Настройка и управ­ление  учетными записями  пользователей Учетные записи пользователей

Слайд 50Учетные записи пользователей
Пользователь root имеет все права на подключение, удаление

и модификацию учетных записей, на­значение и изменение паролей, назначение кода

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

Учетные записи пользователей Пользователь root имеет все права на подключение, удаление и модификацию учетных записей, на­значение и

Слайд 51Учетные записи пользователей
После регистрации пользователя система устанавливает его параметры для

текущего сеанса работы, одним из которых является идентификатор поль­зователя (сокращенно

uid), представляющий собой 32-разрядное целое число в диапазоне от 0 до 2 147 483 647.
Значение 0 иден­тификатора присваивается суперпользователю root, а идентифи­каторы 1 и 2 присваиваются пользователям с административны­ми правами (bin, daemon).
Учетные записи пользователей После регистрации пользователя система устанавливает его параметры для текущего сеанса работы, одним из которых

Слайд 52Учетные записи пользователей
Далее, пользователю назначаются определенные права доступа к файлам.


Как известно, все объекты файловой системы

имеют два идентификатора: пользователя и группы, которые наследуются от создавшего их процесса и определяют права доступа к файлу.
При этом пользователь и группа, идентификаторы кото­рых связаны с файлом, считаются его владельцами.
Заменить владельца можно с помощью команд chown (change owner) и chgrp (change group).
Учетные записи пользователей Далее, пользователю назначаются определенные права доступа к файлам.  Как известно,  все

Слайд 53Учетные записи пользователей
В операционной системе UNIX существуют три категории доступа

к объектам файловой системы:
• владелец файла (процесс,

идентификатор пользователя кото­рого равен идентификатору владельца файла);
• члены группы (процессы, идентификатор группы которых совпадает с идентификатором группы, установленной для файла);
• прочие — все остальные процессы.
Учетные записи пользователей В операционной системе UNIX существуют три категории доступа к объектам файловой системы:  •

Слайд 54Учетные записи пользователей
Любой файл при создании получает код доступа, представляю­щий

собой комбинацию битов в индексном дескрипторе файла. Комбинации единичных

битов в коде доступа имеют такой смысл:
• 000400 (100h) — владелец файла имеет право на чтение его содержимого;
• 000200 (80h) — владелец имеет право на запись данных в файл;
• 000100 (40h) — владелец файла имеет права на выполнение файла;
Учетные записи пользователей Любой файл при создании получает код доступа, представляю­щий собой комбинацию битов в индексном дескрипторе

Слайд 55Учетные записи пользователей
• 000040 (20h) — члены группы имеют

право на чтение;
• 000020 (10h) — члены группы

имеют право на запись;
• 000010 (8h) — члены группы имеют право на выполнение;
• 000004 (4h) — прочие пользователи имеют право на чтение;
• 000002 (2h) — прочие пользователи имеют право на запись;
• 000001 (1h) — прочие пользователи имеют право на выполнение.
Все коды показаны в восьмеричном формате, а в скобках представлен их шестнадцатеричный эквивалент с завершающим символом "h".
Учетные записи пользователей •  000040 (20h) — члены группы имеют право на чтение; •  000020

Слайд 56Учетные записи пользователей
Код доступа к файлу может быть изменен только

привилегиро­ванным пользователем root.
Мы сталкивались с этим термином ранее, поэтому

дадим более точное его определение: привилеги­рованный пользователь — это пользователь, имеющий процесс с идентификатором, равным нулю.
Независимо от кода защиты, привилегированный пользователь имеет доступ ко всем файлам UNIX-системы. Учетный файл /etc/passwd содержит запись о привилегированном пользователе root, которого часто называют "суперпользователь".
Учетные записи пользователей Код доступа к файлу может быть изменен только привилегиро­ванным пользователем root. Мы сталкивались с

Слайд 57Учетные записи пользователей
Отдельные поля кода доступа

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

идентификато­ры пользователя и группы:
• 004000 (800h) — разрешение смены идентификатора пользователя при обращении к файлу (так называемый "set-uid"-флаг);
• 002000 (400h) — разрешение смены идентификатора группы при обращении к файлу (так называемый "set-gid''-флаг).
Смысл использования этих атрибутов рассмотрим более подробно.
Учетные записи пользователей Отдельные  поля  кода  доступа  предназначены  для  установки

Слайд 58Учетные записи пользователей
Идентификаторы, полученные при запуске процесса (так называемые "реальные

идентификаторы"), могут отличаться от иден­тификаторов, полученных после выполнения системного вызова

exec() (так называемые "эффективные идентификаторы").
Из­начально реальные и эффективные идентификаторы всегда сов­падают, но если код доступа к файлу предусматривает смену идентификаторов, то после загрузки исполняемого файла с по­мощью системного вызова exec() реальные идентификаторы процесса изменяются на идентификаторы владельца (или груп­пы) выполняемого файла, т. е. становятся эффективными.
Учетные записи пользователей Идентификаторы, полученные при запуске процесса (так называемые

Слайд 59Учетные записи пользователей
Права доступа процесса проверяются по его эффективным иден­тификаторам.


Если, например, владельцем файлов данных text1, text2 и text3 является

пользователь user, то полный доступ к этим файлам разрешен только ему.
Предположим, что пользователю user принадлежат исполняемые файлы program1, program2 и program3.
Учетные записи пользователей Права доступа процесса проверяются по его эффективным иден­тификаторам. Если, например, владельцем файлов данных text1,

Слайд 60Учетные записи пользователей
Пусть требуется, чтобы другие процессы, которые хотят выпол­нять

операции над файлами text1, text2 и text3, могли это сде­лать

с помощью программ program1, program2 и program3.
Для этого в коде доступа файлов program1, program2 и program3 не­обходимо установить биты разрешения смены идентификатора пользователя для процесса, вызвавшего на выполнение один из этих файлов.
Учетные записи пользователей Пусть требуется, чтобы другие процессы, которые хотят выпол­нять операции над файлами text1, text2 и

Слайд 61Учетные записи пользователей
В этом случае другой процесс (не пользователя user!),

которому требуется доступ к одному из файлов text1, text2 или

text3, должен запустить через системный вызов exec() соответствующую программу обработки program1, program2 или program3.
Иначе он вообще не получит доступа к защищенным их владельцем фай­лам данных text1, text2 или text3.
Учетные записи пользователей В этом случае другой процесс (не пользователя user!), которому требуется доступ к одному из

Слайд 62Учетные записи пользователей
Установку и изменение требуемых

атрибутов доступа к файлу для пользователя, а

также флагов set-uid и set-gid можно выпол­нить с помощью системного вызова chmod().
Можно воспользо­ваться также командой chmod, которая представляет собой "обертку" соответствующего системного вызова и доступна из командной оболочки shell.
Учетные записи пользователей Установку  и  изменение  требуемых  атрибутов доступа  к  файлу

Слайд 63Учетные записи пользователей
Информацию о реальных и эффективных идентификаторах вы­полняющегося процесса

можно получить с помощью системных вызовов getuid() и getgid().


Выполняющийся процесс может динамически изменять свои идентификаторы посредством сис­темных вызовов setuid() и setgid().
Однако такое допускается только для привилегированного процесса, выполняющегося с идентификатором root, или такого, у которого реальный иден­тификатор совпадает с устанавливаемым.
Учетные записи пользователей Информацию о реальных и эффективных идентификаторах вы­полняющегося процесса можно получить с помощью системных вызовов

Слайд 64Учетные записи пользователей
Например, специальная программа passwd позволяет изменить

пароль пользователя в учетном файле пользователей /etc/passwd.
Владельцем этих

файлов является суперпользователь root.
Код доступа файла /etc/passwd разрешает выполнять запись данных только владельцу, в то время как код доступа исполняемого файла passwd разрешает смену пароля пользователя.
Учетные записи пользователей Например,  специальная  программа passwd позволяет изменить пароль пользователя в учетном файле пользователей

Слайд 65Учетные записи пользователей
Следова­тельно, пользователь, отличный от root,

может изменить свой пароль только с помощью программы passwd, что

является кор­ректным по отношению к пользователю, который всегда может изменить свой пароль, не сообщая об этом системному админи­стратору.
Ключевую роль в регистрации и управлении учетными записями пользователей играют несколько файлов, упоминавшихся ранее:
/etc/passwd, /etc/group и /etc/shadow.
Учетные записи пользователей Следова­тельно,  пользователь,  отличный от root,  может изменить свой пароль только с

Слайд 66Учетные записи пользователей
Рассмотрим их более подробно

и начнем с файла паролей

passwd.
Этот файл обычно располагается в каталоге /etc и состо­ит из текстовых строк, представляющих собой отдельные учетные записи, при этом отдельные поля каждой записи отделены друг от друга двоеточием.
Файл passwd имеет одинаковую структуру во всех операционных системах UNIX.
Учетные записи пользователей Рассмотрим  их  более  подробно  и  начнем  с

Слайд 67Учетные записи пользователей
Вот пример записи файла /etc/passwd для поль­зователя user1:


$ cat /etc/passwd|grep user1 user1:x:500:500:user1:/home/user1:/bin/bash
Все записи имеют семь полей,

разделенных двоеточием.
Приве­дем расшифровку (слева направо) отдельных полей, в качестве примера используя показанную выше запись:
Учетные записи пользователей Вот пример записи файла /etc/passwd для поль­зователя user1: $ cat /etc/passwd|grep user1 user1:x:500:500:user1:/home/user1:/bin/bash Все

Слайд 68Учетные записи пользователей
• поле 1 — регистрационное имя пользователя

(user1);
• поле 2 — зашифрованный пароль (х);

поле 3 — идентификатор пользователя (500);
• поле 4 — идентификатор группы (500);
• поле 5 — информация о пользователе (user1);
• поле 6 — рабочий каталог пользователя (/home/user1);
• поле 7 — используемая командная оболочка (/bin/bash).
Учетные записи пользователей •  поле 1 — регистрационное имя пользователя (user1); •  поле 2 —

Слайд 69Учетные записи пользователей
Поскольку операционные системы UNIX являются многопользовательскими, в них

предусмотрен механизм группового досту­па.
При том, что учетная запись пользователя

может входить в одну или несколько групп, принадлежать она может только од­ной группе, для чего в записях файла паролей /etc/passwd преду­смотрено поле идентификатора группы (group ID, gid).
Информация о принадлежности пользователей к тем или иным группам находится в файле /etc/group.
Учетные записи пользователей Поскольку операционные системы UNIX являются многопользовательскими, в них предусмотрен механизм группового досту­па. При том,

Слайд 70Учетные записи пользователей
Для того чтобы включить пользователя в какую-либо группу,

необходимо внести соответ­ствующие изменения в файл /etc/group.
В ранних версиях

опе­рационной системы UNIX пользователь мог быть членом толь­ко одной группы, но в современных системах такого ограниче­ния более не существует, поэтому пользователь может входить в 16 групп одновременно.
Поле идентификатора группы в на­стоящее время практически не используется операционной сис­темой, тем не менее, ему присваивается определенное значение.
Учетные записи пользователей Для того чтобы включить пользователя в какую-либо группу, необходимо внести соответ­ствующие изменения в файл

Слайд 71Список литературы:
Юрий Магда. UNIX для студентов, Санкт-Петербург «БХВ-Петербург», 2007.
Unix и

Linux: руководство системного администратора, 4-е издание, 2012, Э. Немет, Г.

Снайдер, Т. Хейн, Б. Уэйли
Организация UNIX систем и ОС Solaris 9, Торчинский Ф.И., Ильин Е.С., 2-е издание, исправленное, 2016.

Список литературы:Юрий Магда. UNIX для студентов, Санкт-Петербург «БХВ-Петербург», 2007.Unix и Linux: руководство системного администратора, 4-е издание, 2012,

Слайд 72Спасибо за внимание!
Преподаватель: Солодухин Андрей Геннадьевич
Электронная почта: asoloduhin@kait20.ru


Спасибо за внимание!Преподаватель: Солодухин Андрей ГеннадьевичЭлектронная почта: asoloduhin@kait20.ru

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика