Lect_6

1.

Лекция 6.

2.

Разрешения файловой системы
Разрешения файловой системы выполняют контроль доступа к файлам.
По отношению к файлам в Linux существует 3 группы пользователей:
1) владелец (owning user);
2) владеющая группа (owning group);
3) другие пользователи (others), не входящие во владеющую группу.
Для владельца, группы и других пользователей могут быть установлены
различные разрешения.
Более специфические (узкие) разрешения имеют более высокий приоритет.
Существует 3 категории разрешений: read, write, execute. Они могут быть
применены к файлам и каталогам, при этом результаты их применения
отличаются.

3.

Влияние разрешений на файлы и директории
Тип
разрешения
Влияние на файл
Влияние на директорию
read (r)
Содержимое файла может быть
просмотрено
Содержимое директории (имена
файлов) может быть прочитано
write (w)
Содержимое файла может быть
изменено
Любой файл в директории может
быть создан или удален
execute (x)
Файл может быть выполнен как
команда
Директория может стать текущей (по
команде cd)
Для директории типа “Read-only” устанавливаются биты “r” и “x”.
Для удаления файла должно быть соответствующее разрешение на директории,
его содержащей. Разрешения на самом файле не имеют значения.
Разрешения применяются только к конкретному файлу или директории и
автоматически не наследуются поддиректориями.

4.

Просмотр и интерпретация свойств файлов
ls -l имя файла
ls -ld имя каталога
ls -la имя каталога
Интерпретация первого символа:
- это обычный (regular) файл;
d это директория;
l это «мягкая» ссылка;
b это блочное устройство (например, раздел HDD);
c это символьное устройство (например, псевдотерминал).

5.

Пример интерпретации разрешений

6.

Символический метод изменения разрешений
chmod WhoWhatWhich file|dir
Who: u (user), g (group), o(other), a(all).
What: + (add), - (remove), = (set exactly).
Which: r (read), w (write), x (execute).
Опция -R для chmod позволяет применить изменения разрешений рекурсивно
ко всему дереву подкаталогов и файлов.

7.

Числовой метод изменения разрешений
chmod ### file|dir
Каждое число (из трех) определяет уровень доступа: user, group, others.
Каждое число получается путем сложения чисел, отвечающих за каждый вид
разрешения: 4 (“100”) - read, 2 (“010”) - write, 1 (“001”) - execute.
В числовом методе группа разрешений представлена в виде 3-х цифр в
восьмеричной системе счисления (или в виде 4-х, если настраиваются
особые разрешения). Например:
- rwx r-x --- = 750
- rw- r-- --- = 640

8.

Изменение владельца или владеющей группы
Только root может изменить владельца файла (директории).
Владеющую группу для файла (директории) может изменить root и владелец.
Root может установить любую группу файлу (директории), а владелец только ту, в которой он сам состоит.
Для изменения владельца и группы используется команда
chown username filename. Для изменения группы используется команда
chgrp groupname filename. Опция -R обеспечивает рекурсивность выполнения.
Символ : в команде chown разделяет имя владельца и имя группы.

9.

Понятие специальных разрешений доступа
Специальные разрешения доступа устанавливаются в дополнение к базовым
разрешениям read, write, execute файловой системы.
Виды и назначение специальных разрешений:
Разрешение
Назначение
u+s (suid)
файл выполняется от имени пользователя-владельца,
для файла
а не от имени запустившего пользователя
g+s (sgid)
файл выполняется от имени владеющей группы,
для файла
а не от имени запустившей группы
g+s (sgid)
файлы, вновь созданные в каталоге, будут иметь владеющую
для каталога группу ту же, которую имеет каталог
o+t (sticky)
пользователи, которые имеют доступ на запись в каталог, могут
для каталога удалять только те файлы, владельцами которых они являются

10.

Использование специальных разрешений
Использование suid:
Использование sgid для файла:
Использование sgid для директории:
Использование sticky для директории:
Как определить, есть ли разрешение x под разрешением s или t?
Разница между s и S, а также t и T.

11.

Установка специальных разрешений
1 метод (символический). Опции для chmod:
u+s – установка suid; g+s – установка sgid; o+t – установка sticky.
2 метод (числовой). Опции для chmod:
Цифра перед основной (3-значной) числовой записью:
4 = suid; 2 = sgid; 1 = sticky.

12.

Разрешения по умолчанию
При создании файла или директории применяются разрешения по умолчанию.
Значение разрешений по умолчанию зависит от двух факторов:
1) Создается файл или директория;
2) Текущее значение битовой маски (umask).
Если создается директория, ОС Linux в качестве набора базовых разрешений
рассматривает 0777 (drwxrwxrwx).
Если создается файл, ОС Linux в качестве набора базовых разрешений
рассматривает 0666 (-rw-rw-rw-).
Разрешение x для файла всегда задается дополнительно.
При определении разрешений по умолчанию из набора базовых разрешений
вычитается значение umask. Команда umask без аргументов выводит текущее
значение битовой маски.

13.

Установка разрешений по умолчанию
Команда umask с числовым аргументом меняет значение битовой маски для
текущего терминала. Числовой аргумент должен быть восьмеричным значением
новой битовой маски. Незначащие нули в начале аргумента могут опускаться.
Значения umask по умолчанию для разных категорий пользователей задаются
в файлах /etc/profile и /etc/bashrc.
Пользователи могут переопределить значения umask в своих домашних
директориях в файлах .bash_profile и .bashrc.

14.

Установка разрешений по умолчанию
(примеры)
English     Русский Правила