Similar presentations:
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.
Установка разрешений по умолчанию(примеры)