Чтение онлайн

на главную - закладки

Жанры

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

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

Прочие — это все остальные пользователи.

Для каждой категории имеется свой набор прав доступа, просмотреть который вы можете с помощью команды ls –l:

ls –l file.txt

– rw-r----- 1 den group 300 Feb 10 12:00 file.txt

Строка –rw-r–---- характеризует набор прав доступа к файлу file.txt.

Владельцем файла является пользователь den, который входит в группу group. Первый символ — это тип файла. «-» означает файл, a «d» — каталог. Следующие три символа «rw-» задают права доступа для владельца файла. Символ «r» — это право на чтение, «w» — на запись, а «х» — на выполнение. Права задаются именно в таком порядке: чтение, запись, выполнение. Если право на какой-нибудь вид доступа отсутствует, то ставится «-». В данном случае отсутствует право на выполнение.

Второй трёхсимвольный набор задает права доступа для группы, а третий — для прочих пользователей. В нашем примере (r--) члены группы имеют право только на чтение, а другие пользователи вообще не имеют никакого доступа к файлу (---).

Для изменения прав доступа используется программа chmod. При этом права доступа можно задавать двумя способами: символьным и абсолютным. Рассмотрим сначала символьный метод, а потом — абсолютный.

В рамках символьного способа изменения прав вызов программы chmod имеет следующий вид:

chmod права <файл|каталог>

Параметры программы chmod указаны в табл. 4.10.

Права доступа (символьный метод) Таблица 4.10

Опция Описание
+ Устанавливает право доступа
Отменяет право доступа
= Присваивает набор прав доступа
r Право на чтение файла или каталога
w Право на запись файла или каталога
x Право на выполнение
u Устанавливает право доступа для пользователя, который создал файл и является его владельцем
g Устанавливает права доступа для группы
о Устанавливает права доступа для прочих пользователей
а Устанавливает права доступа для владельца, группы и прочих пользователей
s Устанавливает бит смены идентификатора пользователя или группы
t Устанавливает sticky-бит

Бит смены идентификатора пользователя или группы является вариантом права выполнения х. Право на чтение, запись и выполнение обозначается в этом случае не rwx, a rws. Так называемый sticky-бит позволяет оставить программу в памяти после ее выполнения. Устанавливать этот бит полезно для маленьких и часто используемых программ, чтобы ускорить их запуск.

Программа chmod никогда не изменяет права символических ссылок, но это не является особой проблемой, так как права ссылок никогда не используются. Изменить группу файла можно командой chgrp, а владельца — chown.

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

Для изменения прав доступа абсолютным методом используется та же команда chmod:

chmod число <файл|каталог>

Число называется маской прав доступа и представляет собой число в восьмеричной системе, задающее наборы прав доступа. Напомню, что восьмеричная система — это система с основанием 8 (см. табл. 4.11). Не спешите переворачивать страницу, услышав слово «восьмеричная», все на самом деле намного проще, чем звучит.

Каждое число, задающее права доступа, состоит из трех разрядов, например, 760:

7 — первый разряд;

6 — второй разряд;

0 — третий разряд.

Первый разряд задает права доступа для владельца файла, второй — для группы, третий — для остальных пользователей. Одному разряду восьмеричной системы соответствует три разряда в двоичной.

Соответствие разрядов восьмеричной системы разрядам в двоичной системе Таблица 4.11

Восьмеричный формат  Двоичный формат
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Каждый двоичный разряд задает соответствующий ему тип доступа: первый — чтение, второй — запись, третий — выполнение. Будем считать, что разряды нумеруются слева направо. 0 — если данная операция запрещена, а 1 — если разрешена. Теперь все становится на свои места, например, право доступа, задаваемое числом 777 (111111111) означает право на чтение, запись и выполнение для всех пользователей.

Наиболее часто используется маска 644, разрешающая чтение и модификацию файла для владельца, и только чтение — для других пользователей. Иногда используется набор прав доступа, состоящий из четырех цифр. Старшая цифра обозначает флаги SETUID (4), SETGID (2), sticky-бит (1).

Какие же права доступа будут у только что созданного каталога командой mkdir? Обычно маска прав доступа равна 0777 минус значение, выводимое командой umask. Значение, выводимое командой umask, обычно равно 022. Следовательно, маска прав доступа будет равна 0777 – 0022 = 0755. И действительно, создайте каталог и введите команду ls –l:

mkdir new

ls –l

drwxr-xr-x 2 den den 4096 Янв 14 14:30 new/

Набор rwx (111) равен семи, а набор r-x (101) равен пяти в восьмеричной системе. Получается, что маска доступа к новому каталогу = 755. Установить значение umask можно с помощью самой этой команды. Просто выполните команду umask 000 от имени суперпользователя и вы установите новое значение, равное нулю. Обратите внимание, команда mkdir автоматически устанавливает право выполнения (доступа) для каталога, иначе к каталогу нельзя будет получить доступ.

 Кроме рассмотренных выше прав доступа в системе Linux имеются еще два специальных права доступа — SUID (Set User ID root) и SGID (Set Group ID root). Их существование связано с тем, что некоторые программы (pppd, smbmount, SVGA-программы) требуют для своей работы привилегий пользователя root.

Допустим, что вы хотите, чтобы другие пользователи могли устанавливать РРР-соединение, для этого нужно установить право доступа SUID для программы-демона /usr/sbin/pppd. Делается это так:

chmod u+s /usr/sbin/pppd

После этого демон pppd будет запускаться с привилегиями root, даже если он запущен самым обыкновенным пользователем. Запуск pppd в таком режиме необходим для того, чтобы обыкновенный пользователь смог настроить необходимые интерфейсы и таблицу маршрутизации ядра, то есть подготовить систему для РРР-соединения. Обычно на такие изменения (изменение таблицы маршрутизации ядра, конфигурирование интерфейсов) есть право только у пользователя root.

Поделиться:
Популярные книги

Страж Кодекса

Романов Илья Николаевич
1. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса

Курсант: назад в СССР 2

Дамиров Рафаэль
2. Курсант
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Курсант: назад в СССР 2

Я до сих пор не царь. Книга XXVII

Дрейк Сириус
27. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор не царь. Книга XXVII

Хозяин оков V

Матисов Павел
5. Хозяин Оков
Фантастика:
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Хозяин оков V

Идеальный мир для Лекаря 29

Сапфир Олег
29. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 29

Государь

Мазин Александр Владимирович
7. Варяг
Фантастика:
альтернативная история
8.93
рейтинг книги
Государь

Убивать чтобы жить 5

Бор Жорж
5. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 5

Кодекс Охотника. Книга XVIII

Винокуров Юрий
18. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVIII

Барон переписывает правила

Ренгач Евгений
10. Закон сильного
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Барон переписывает правила

Личный аптекарь императора

Карелин Сергей Витальевич
1. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Личный аптекарь императора

Офицер Красной Армии

Поселягин Владимир Геннадьевич
2. Командир Красной Армии
Фантастика:
попаданцы
8.51
рейтинг книги
Офицер Красной Армии

Шведский стол

Ланцов Михаил Алексеевич
3. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Шведский стол

Кодекс Охотника. Книга XV

Винокуров Юрий
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XV

За Горизонтом

Вайс Александр
8. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
За Горизонтом