Цель работы: Ознакомиться с процессом создания групп, пользователей и настройкой прав в Linux.
Права доступа в операционной системе Linux представляют собой ключевой элемент безопасности, определяющий, какой доступ имеют пользователи и программы к файлам и каталогам.
Самих пользователей разделяют на три категории: владелец, группа и остальные. Для каждой из них выделяют три основных атрибута доступа:
Существуют два основных способа записи прав доступа: символьный и числовой формат. Символьный формат использует читаемые буквы и символы для представления прав доступа, в то время как числовой формат использует числа в восьмеричной системе.
Так как в ALT adduser это символическая ссылка на useradd, они абсолютно одинаковы:
Создаем пользователей:
#Создаем пользователя user2 и задаем ему пароль для входа.
#Всем пользователям задайте пароль P@ssw0rd.
sudo useradd user2
sudo passwd user2
sudo adduser user3
sudo passwd user3
После созданий пользователей убедитесь, что у них имеется домашний каталог. Для этого выполните команду:
sudo tail -n 2 /etc/passwd
Результат должен быть таким:
Из этого вывода видно, что домашний каталог пользователя user2 находиться по пути /home/user2, так же видна используемая оболочка /bin/bash (бывают также /bin/sh и /bin/zsh)
sudo tail -n 2 /etc/group
Вывод:
#Меняем права на домашний каталог пользователя user1.
sudo chmod 750 /home/user1
ls -l /home
В выводе обратите на права доступа к домашнему каталогу user1:
Здесь, мы видим, что первым символом идет d, который обозначает тип файла, в нашем случае — каталог («directory»). После него идут символы, обозначающие права доступа для разных категорий пользователей по порядку.
В числовом формате, права доступа из примера выше будут следующими:
Таким образом, в числовом формате это будет 750.
#Добавляем пользователя user2 в группу user1
sudo usermod -aG user1 user2
#Добавляем пользователя user2 в группу user3
sudo usermod -aG user3 user2
Теперь чтобы проверить, выполните:
id user2
В выводе вы увидите все группы, к которым принадлежит user2:
sudo vim /home/user1/file.txt
sudo vim /home/user3/file.txt
Заполните файлы содержимым типа:
sudo su – user2
Вывод:
Как видите мы из-под пользователя user2 имеем доступ к домашней директории user1. Давайте теперь попробуем вывести содержимое этого файла:
cat /home/user1/file.txt
У вас должно было получиться, так как пользователи группы user1 имеют доступ на чтение. Давайте теперь попробуем изменить этот файл:
echo “Change” > /home/user1/file.txt
Мы получаем сообщение отказано в доступе, так как у членов группы user1 нет права на запись для домашней директории пользователя user1.
Давайте это исправим. Для этого перейдите обратно под пользователя user1:
exit
Затем измените права для группы user1 (2 число - 770) на домашний каталог пользователя user1 и все его содержимое:
#7 = 4 за чтение + 2 за запись + 1 за исполнение
chmod 770 /home/user1
chmod 770 /home/user1/*
Заново перейдите под пользователя user2 и попробуйте изменить file.txt:
sudo su – user2
echo “Change” > /home/user1/file.txt
#Проверьте файл после изменения (команда cat выводит содержимое файла)
cat /home/user1/file.txt
Вывод:
ls -l /home/user3
Вывод:
Мы получаем сообщение в доступе отказано. Попробуйте понять почему (и дайте ответ в контрольном вопросе №1). В этом вам поможет следующий вывод: