Разграничение прав доступа пользователей
Ограничение прав пользователей в операционной системе – тема сложная, но необходимая. В зависимости от семейства операционной системы существуют разные правила и стандарты. Рассмотрим подробнее, как это происходит в ОС Ubuntu.
Права администратора
Чтобы запускать привилегированные команды, пользователь должен обладать правами, как минимум, администратора системы. По умолчанию операционная система отключает повышенный уровень прав у любого пользователя. Чтобы его повысить, воспользуемся следующей командой.
Теперь пользователь с именем username1 добавлен в группу sudo и является администратором для операционной системы. Ему доступны настройки ОС, а также доступ к каталогу /dev с вложениями. Большинство привилегий администраторов схоже с возможностями суперпользователя, но они неполные.
Как выставить запрет
В корпоративных информационных системах большинство ОС являются многопользовательскими. Соответственно, необходимо для каждого владельца разграничить права доступа. Для этого используется внутренняя команда chmod, например:
Вышеуказанная строка означает, что только root имеет право запускать команду ls. Всем остальным в доступе будет отказано.
Разберем другую ситуацию. Есть пользователь с именем username1. Ему необходимо ограничить доступ к команде ls. Для этого создаем группу пользователей usergroup1, в которую перенесём всех кроме username1.
sudo useradd -G usergroup1 <username2, username3>
Вторая строка добавляет в группу usergroup1 пользователей username2, username3 и т. д. Ограничим права на запуск команды ls. Её смогут активировать только участники usergroup1.
sudo chmod 754 $(which ls)
Теперь неучастник usergroup1 не сможет активировать ls.
Немного о файле /etc/sudoers
Sudoers содержит информацию о пользователях, которые могут использовать утилиту sudo. Чтобы открыть файл, используем специальную утилиту visudo.
Внутри содержится следующая информация:
Расскажем подробнее о строке:
%sudo означает, что к группе sudo применяется следующее правило. Если устанавливаем правила для конкретного пользователя, то % не нужен.
Первая переменная ALL расшифровывает, как применить правило ко всем IP-адресам. Второй и третий ALL – указанный пользователь или группа имеют право исполнять команды в сессии любого пользователя или группы. Четвертая переменная означает, что данный шаблон применяется ко всем командам.
Например, необходимо установить права на запуск утилиты apt get для группы admin.
Alias (псевдонимы)
Для удобства разграничения прав доступа используются алиасы. Они объединяют один или несколько значений в один параметр. Например, присвоим IP-адресу облачного хранилища более удобное имя.
CLOUD – псевдоним, который указывается в параметрах вместо IP-адреса.
При необходимости алиасы используются для объединения пользователей в одну группу.
, где Name – псевдоним, а user1, user2 – имена пользователей. Также утилита Alias доступна и для команд, т. е. объединяем список инструкций в единую группу.
- name – произвольное наименование для перечня команд;
- cmd1, cmd2 – перечисление команд через запятую.
Например, объединим обновление пакетов в алиас: