Добавить в корзинуПозвонить
Найти в Дзене
Easy Linux - о Linux просто

Права доступа на файлы. Часть 3. Специальные биты разрешений SETUID, SETGID и Sticky bit

Приветствую тебя, авантюрист. Сегодня мы закончим тему доступа к файлам. В предыдущих статьях мы разобрали основные механики и инструменты работы с правами доступа. Но в linux системах есть еще несколько интересных моментов, которые используются не так часто, но знать о них нужно. Иногда при администрировании системы возникает необходимость дать пользователю права на выполнение какого-либо файла с правами root. На Windows эта ситуация означала бы, что тебе придется каждый раз бегать к пользователю и вводить пароль администратора. Или дать пользователю роль администратора, что недопустимо. В linux же системах существуют механизмы, которые позволяют дать повышенные права на отдельный файл или команду для обычного пользователя. SETUID Бит доступа SETUID дает возможность запускать файл на исполнение от имени владельца файла. Например, именно так работает программа sudo. Если мы посмотрим на нее через ls, то увидим что вместо ключа x стоит ключ s. Это и означает, что у данного

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

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

SETUID

Бит доступа SETUID дает возможность запускать файл на исполнение от имени владельца файла. Например, именно так работает программа sudo. Если мы посмотрим на нее через ls, то увидим что вместо ключа x стоит ключ s. Это и означает, что у данного файла включен или выставлен параметр SETUID.

Параметры доступа к программе sudo
Параметры доступа к программе sudo

А значит, если обычный пользователь запустит этот файл, то файл будет запущен от имени владельца, то есть root. Важно понимать, что никакого ввода пароля при этом не потребуется. А сам запрос и обработка пароля организованы уже внутри программы sudo.

Для того что бы включить бит SETUID нужно просто выполнить команду

sudo chmod u+s «путь к файлу»

для снятия соответственно

sudo chmod u-s «путь к файлу»

Стоит понимать, что такой трюк не получится со скриптами. Ведь скрипт при запуске передается интерпретатору в качестве параметра, а значит установленный SETUID не будет иметь ни какого значения.

Если установить SETUID на каталог, то это не даст ни какого эффекта.

Если права на выполнение файла нет даже у владельца, то вместо s в нижнем регистре ты увидишь S в верхнем. Это означает что SETUID бит установлен, но запуск файла ничего не даст, ведь даже владелец не может его запустить.

SETGID

Данный параметр работает аналогично параметру SETUID, но только запускает файл от имени группы владельца.

Установить данный бит можно командой

sudo chmod g+s «путь к файлу»

Снять его соответственно командой

sudo chmod g-s «путь к файлу»

У данного параметра есть возможность использования с каталогами. Если установить SETGID для каталога, то все вновь созданные внутри каталоги будут наследовать группу родительского каталога.

Sticky Bit

Это самый простой и понятный бит из всех. Работает он очень просто. Если установить его на каталог, то удалить файлы из этого каталога сможет только владелец каталога.

Для того что бы установить Sticky Bit нужно ввести команду

sudo chmod +t «Путь к каталогу»

Что бы снять соответственно

sudo chmod -t «Путь к каталогу»

Вот пожалуй и все, что можно сказать про этот параметр

Итог

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

По традиции жду тебя в комментариях. Удачи, авантюрист.