ГлавнаяОперационные системыLinuxКак использовать списки контроля доступа для управления разрешениями файлов в Linux

Как использовать списки контроля доступа для управления разрешениями файлов в Linux

Очень полезной функцией Linux являются «Списки контроля доступа», которые контролируют доступ к файлам и каталогам. Вот как списки управления доступом контролируют права доступа к файлам в Linux.

Примечание. Чтобы полностью понять, как работают списки контроля доступа, мы сначала настроим некоторых пользователей и группы в работающей системе Linux. Следующее упражнение выполняется на виртуальной машине под управлением операционной системы Kali. Пользователь root имеет право добавлять в систему новых пользователей и распределять их по группам.

Создание пользователей и групп

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

Пользователь Группа
john1
john2
john3
johns
Д

Создание пользователей и групп

/tr>

Мы будем использовать команду adduserдля добавления новых пользователей в систему.

Linux-файл ACL 1

Команда idотобразит сведения о вновь созданном пользователе. Он покажет идентификатор пользователя (uid), идентификатор группы (gid) и имя группы (groups). Пользователь при создании автоматически добавляется в группу с тем же именем, что и имя пользователя. Этот пользователь будет единственным членом группы.

Linux-файл ACL 2

Аналогично также создаются пользователи «john2» и «john3».

adduser john2
adduser john3

После создания трех пользователей используйте команду id, чтобы просмотреть соответствующие идентификаторы пользователя и группы.

Акл 5

Мы видим, что три пользователя находятся в своих группах — 1000, 1001 и 1002. Согласно таблице, показанной ранее, мы хотим, чтобы три пользователя находились в одной группе: johns. Поскольку в настоящее время такой группы в системе не существует, мы создадим ее с помощью команды groupadd:

groupadd -g <new_group_ID> <group_name>

Акл 7

Новый идентификатор группы указан как 5000. Если переключатель -gигнорировать, система автоматически выберет идентификатор группы. Название новой группы — «Джонс». Теперь трех пользователей — «john1», «john2» и «john3» — необходимо добавить в качестве членов этой группы. Для этой задачи мы будем использовать команду usermod.

usermod -g <group_name> <user_name>

usermodдобавляет пользователя «user_name» в группу «group_name». На следующем рисунке сначала показаны uid и gid для «john1» перед сменой группы. После успешного выполнения команды usermod«john1» добавляется в группу «johns» с gid 5000.

Акл 8

Тот же процесс выполняется для пользователей «john2» и «john3».

usermod -g johns john2
usermod -g johns john3

Наконец, подробную информацию о трех пользователях в группе «johns» можно просмотреть с помощью команды id.

Акл 10

Мы успешно создали трех пользователей и добавили их в одну группу.

Аналогичным образом пользователи «jane1» и «jane2» создаются и добавляются в группу «janes» с gid 6000. Их данные можно просмотреть с помощью команды id, как показано ниже.

Акл 16

Для чего нужны списки контроля доступа?

Предположим, что пользователь «john1» входит в систему

Акл 18

создает новый файл в домашнем каталоге

Акл 19

и добавляет к нему некоторый контент.

Акл 20

С помощью команды lsмы просматриваем метаданные файла.

Акл 22

Первые несколько символов в выводе, - rw - r - - r - -, соответствуют строке разрешения. Давайте разберем его.

rw – r – – r – –
тип файла разрешения, которые john1 имеет для файла разрешения члены группы johns имеют доступ к файлу разрешения, предоставленные другим пользователям, не входящим в группу johns

Эта статья — хорошее руководство по правам доступа к файлам.

Что, если «john1», будучи владельцем файла, захочет дополнительно предоставить разрешения на запись только «john2» и «jane1», но сохранить разрешения на чтение для «john3» и «jane2?»

rw – r – –
john1
john2
jane1
john3
jane2

Один из вариантов — создать новую группу с разрешениями на чтение и запись для «john1», «john2» и «jane1», а также другую группу с разрешениями только на чтение для «john3» и «jane2». Если john1 желает дополнительно изменить разрешения для любого члена группы, необходимо создать дополнительные группы. Создание нескольких групп и управление ими является обузой для системного администратора.

Вместо этого для файла можно создать «Список контроля доступа», в котором будут четко указан

Для чего нужны списки контроля доступа?

олнять с этим файлом.

Как создать список контроля доступа (ACL) для файла?

Каждому файлу при создании назначается ACL. Его эффективное использование — это просто вопрос его модификации. Только владелец файла и пользователь root могут изменять ACL файла.

Мы можем использовать команду getfaclдля просмотра существующего ACL:

getfacl <file_name>

Акл 31

Строки, начинающиеся с #, являются строками комментариев. Фактическая информация находится в последних трех строках вывода, что аналогично строке разрешения, полученной ранее. Строка «пользователь» относится к разрешениям, назначенным владельцу файла «john1». Строка «группа» относится к разрешениям, назначенным другим членам группы «johns». Как вы уже догадались, строка «другие» относится к кому-либо еще за пределами группы.

Давайте воспользуемся командой setfacl, чтобы изменить существующий список ACL для файла.

setfacl -m entity:name:permissions <file_name>
объект имя разрешения
Значение здесь означает, для кого предназначена запись ACL:

пользователь (u) или группа(g) или другие(o)

имя пользователя или группы, для которых актуальна запись ACL разрешения на чтение, запись и выполнение обозначаются буквами r,w,x

«john2» сначала предоставляется доступ к файлу на чтение и запись

Акл 32

за которым следует «jane1».

Акл 34

Давайте посмотрим обновленный список ACL для «secretfile».

Акл 35

Мы видим, что разрешения на чтение и запись были назначены «john2» и «jane1».

Проверка подлинности ACL

Мы видим, что «john2» может читать файл и писать в него.

Акл 36

Новая информация, введенная «john2», добавлена ​​в файл.

Акл 37

Аналогично, «jane1» получает те же привилегии — доступ на чтение и запись.

Акл 41

Но «john3» в той же группе не может писать в файл.

Акл 40

«jane2», принадлежащая к другой категории, также не может производить запись в файл.

Акл 45

Заключение

Тот же процесс можно распространить и на каталоги. Списки контроля доступа поз

Как создать список контроля доступа (ACL) для файла?

айлам и каталогам.

Проверка подлинности ACL

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи