Вернуть старое меню
Бесплатно, 24/7 8 (800) 775-97-42
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Выбрать VPS
Маркетплейс
О нас
Сообщество
Поддержка
Баланс:
Бонусы:
Войти
Выйти
Зарегистрироваться
ГОТОВЫЕ ТАРИФЫ
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Card icon Своя конфигурация
Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
О компании Входим в топ-15 IAAS в России
Дата-центры 16 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Поможем с гос. лицензированием
Бонусная программа Накопительная система лояльности
Card icon Пинг до дата-центров
Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
КЛИЕНТАМ
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Card icon Соцсети
Наш блог на Хабре, выступления, новости компании.
Присоединиться
Card icon Бесплатный тест на 3 дня
Только для новых пользователей. Возьмите на тест любой сервер до 3000 рублей, проверьте приложения и программы, установив их на VPS.
Попробовать
АККАУНТ Мои серверы Домены Заказать Настройки Партнеру
Бесплатно, 24/7 8 (800) 775-97-42
Mobile menu button
Выбрать VPS
Mobile card icon
Своя конфигурация Удобный конфигуратор позволит вам настроить любой параметр сервера, а мы предложим за него лучшую цену.
Собрать
Ref icon
VPS Старт От 139 рублей/мес
Ref icon
VPS Мощные Мощные серверы по выгодной цене
Ref icon
VPS Windows Удобные конфигурации для работы с ОС Windows
Ref icon
VPS Быстрые NVMe Максимальная скорость с промышленными NVMe дисками
Ref icon
VPS Plesk Настройте сервер под себя в несколько кликов
Ref icon
VPS с 1C для бухгалтеров Оптимизированные под 1C серверы
Ref icon
VPS для трейдинга Установите торговые терминалы за 1 клик
Ref icon
VPS для геймеров Мощное железо для мощных рейдов
Ref icon
VPS для бизнеса Настроить любой параметр сервера
Ref icon
Посмотреть все тарифы
Ref icon
Бесплатный тест на 3 дня
Маркетплейс
О нас
Mobile card icon
Пинг до дата-центров Измерьте ping от вас до всех наших дата-центров. Мы подберем тот, который подходит для вас идеально.
Измерить
О компании Входим в топ-15 IAAS в России
Дата-центры 16 ЦОД уровня Tier III в 7 странах
Аттестация по ФСТЭК Накопительная система лояльности
Бонусная программа Накопительная система лояльности
Сообщество
Mobile card icon
Соцсети Наш блог на Хабре, выступления, новости компании.
Присоединиться
Справочник Пошаговые инструкции, как настроить VPS
FAQ Частые вопросы о настройке VPS и сервисе
Новости и события Новости сервиса, информация о событиях и спецпроектах компании
Поддержка
Country flag RU
Country flag EN
Country flag DE
₽ RUB
$ USD
€ EUR
Войти
Зарегистрироваться
Личный кабинет
Мои серверы
Домены
Баланс: Бонусы:
Заказать
Настройки
Партнеру
Выйти
Мои серверы
Домены
Заказать
Настройки
Партнеру
  • ВЫБРАТЬ VPS
  • ДАТА-ЦЕНТРЫ
  • СПРАВОЧНИК
  • ПОДДЕРЖКА
  • ВОЙТИ
RuVDS/Справочник/Настройка VPS Сервера/Использование SETUID, SETGID и Sticky bit для расширенной настройки прав доступа в операционных системах Linux

Использование SETUID, SETGID и Sticky bit для расширенной настройки прав доступа в операционных системах Linux

64355 просмотров 108 2021-03-25 2024-09-13

В этой статье мы расскажем, как использовать специальные биты разрешений в операционных системах Linux.
Речь пойдет о трех битах – Setuid, Setgid и Sticky Bit. Это специальные типы разрешений позволяют задавать расширенные права доступа на файлы или каталоги.
Статья будет полезна пользователям и администраторам, которые уже знакомы с настройкой базовых прав в операционных системах Linux. Итак, давайте преступим.

Коротко о правах доступа в Linux

В операционных системах Linux используются 3 базовых права доступа – на чтение (read), запись (write) и исполнение (execute). Соответственно, права назначаются пользователю (user), группе (group) и всем остальным (world). Рассмотрим их символьные обозначения:

В случае числового обозначения прав доступа используются цифры от 0 до 7, где каждая цифра соответствует определенному набору прав доступа:

Настройка Setuid

Setuid – это бит разрешения, который позволяет пользователю запускать исполняемый файл с правами владельца этого файла. Другими словами, использование этого бита позволяет нам поднять привилегии пользователя в случае, если это необходимо. Классический пример использования этого бита в операционной системе это команда sudo.

root@ruvds-hrc [~]# which sudo /usr/bin/sudo
root@ruvds-hrc [~]# ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 125308 Feb 20 14:15 /usr/bin/sudo

Как мы видим на месте, где обычно установлен классический бит x (на исполнение), у нас выставлен специальный бит s. Это позволяет обычному пользователю системы выполнять команды с повышенными привилегиями без необходимости входа в систему как root.
Установка бита setuid не представляет сложности. Для этого используется команда:

root@ruvds-hrc [~]# chmod u+s <filename>

Рассмотрим на примере. Создадим файл с именем myfile, а затем проверим его разрешения с помощью команды ls -l.

root@ruvds-hrc [~]# touch myfile
root@ruvds-hrc [~]# ls -l myfile
-rw-rw-r-- 1 test test 0 Mar 25 17:59 myfile

Как видим, файл не имеет разрешений на выполнение для пользователя, группы и остальных. Добавим бит setuid:

root@ruvds-hrc [~]# chmod u+s myfile 
root@ruvds-hrc [~]# ls -l myfile
-rwSrw-r-- 1 test test 0 Mar 25 12:00 myfile

Обратим внимание, что вместо ожидаемой буквы «s», видим заглавную «S». Почему? Это случается, если setuid установлен, но сам владелец файла не имеет прав на его выполнение. Добавим это разрешение с помощью команды chmod u + x.

root@ruvds-hrc [~]#  chmod u+x myfile 
root@ruvds-hrc [~]#  ls -l 
total 0
-rwsrw-r-- 1 test test 0 Mar 25 12:59 myfile

Настройка Setgid

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

root@ruvds-hrc [~]#  which crontab
/usr/bin/crontab
root@ruvds-hrc [~]#  ls -l /usr/bin/crontab
-rwxr-sr-x 1 root crontab 34021 Feb 12 2017 /usr/bin/crontab

Теперь перейдем к настройке этого бита. Аналогично setuid, бит setgid выставляется с помощью команды chmod g + s .
Рассмотрим на примере создания нового файл с именем myfile2.

root@ruvds-hrc [~]#  touch myfile2
root@ruvds-hrc [~]#  ls -l myfile2
-rw-rw-r-- 1 test test 0 Mar 25 19:25 myfile2

Выполним команду chmod g + s и посмотрим результаты.

root@ruvds-hrc [~]#  chmod g+s myfile2
root@ruvds-hrc [~]#  ls -l myfile2
-rw-rwSr-- 1 test test 0 Mar 25 19:25 myfile2

Как разобрались выше, меняем заглавную « S » путем выдачи прав на исполнение группе-владельцу:

root@ruvds-hrc [~]#  chmod g+x myfile2
root@ruvds-hrc [~]#  ls -l
total 0
-rwsrw-r-- 1 test test 0 Mar 25 19:25 myfile
-rw-rwsr-- 1 test test 0 Mar 25 19:25 myfile2

Настройка Sticky Bit

Последний специальный бит разрешения – это Sticky Bit . В случае, если этот бит установлен для папки, то файлы в этой папке могут быть удалены только их владельцем. Пример использования этого бита в операционной системе это системная папка /tmp . Эта папка разрешена на запись любому пользователю, но удалять файлы в ней могут только пользователи, являющиеся владельцами этих файлов.

root@ruvds-hrc [~]#  ls -ld /tmp
drwxrwxrwt 8 root root 4096 Mar 25 10:22 /tmp

Символ «t» указывает, что на папку установлен Sticky Bit.

Удаление специальных битов разрешений

Удаляем эти биты также командой chmod, только вместо « + » используем « – » .

root@ruvds-hrc[~]#  chmod u-s myfile
root@ruvds-hrc[~]#  chmod g-s dir1
root@ruvds-hrc[~]#  chmod -t dir2

Вывод

Мы разобрали что из себя представляют специальные биты разрешений Setuid, Setgid и Sticky bit в операционных системах Linux и как ими пользоваться на практике. Умение использовать эти биты позволит вам произвести более гибкую настройку прав доступа к ресурсам вашего сервера.

Статья полезна?

108 Да  7 Нет
Похожие статьи
  • Как добавить русский язык в Windows Server 2019/2022
  • Двухфакторная аутентификация с использованием одноразовых паролей
  • Как настроить PTR-записи для домена
  • Как в Linux закрыть доступ для пользователей без пароля
  • Защита SSH-подключения
  • Общая безопасность виртуального сервера
11 комментариев о “Использование SETUID, SETGID и Sticky bit для расширенной настройки прав доступа в операционных системах Linux”
  • Argon says:
    Ответить

    Ничего не написано про действие Setuid и Setgid для директорий.

    2022-07-20 at 14:48
  • Денис says:
    Ответить

    Применять биты setuid и setgid для директорий издревле не было принято ввиду того что эти биты применяются для исполняемых бинарных файлов. Ты же не собираешься применить этот бит к папкам /usr/bin/ или /usr/sbin/ или вообще к корню.

    2023-01-31 at 07:55
  • Денис says:
    Ответить

    А статья путевая, донесено внятно и простыми словами.

    2023-01-31 at 07:57
  • Юрий says:
    Ответить

    Странно. А я вот читал, что “Если для директории установлен бит sgid, то все объекты ФС, создаваемые внутри этой папки, наследуют группу этой папки”.

    Это не так, что ли?

    2023-10-16 at 15:50
    • uxteam says:
      Ответить

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

      2023-12-21 at 18:33
  • Сергей says:
    Ответить

    Кажется в статье допущена досадная ошибка. “Как мы видим на месте, где обычно установлен классический бит x (на исполнение), у нас выставлен специальный бит s. Это позволяет обычному пользователю системы выполнять команды с повышенными привилегиями без необходимости входа в систему как root, разумеется зная пароль пользователя root.” – Как раз знать пароль root в данном случае (для запуска файла с установленным SUID) пользователю НЕ требуется ! Максимум, что потребуется – это ввести свой пользовательский пароль (зависит от настроек в sudoers).

    2024-07-12 at 07:37
    • uxteam says:
      Ответить

      Исправили неточность. Благодарим за внимательность.

      2024-09-13 at 14:53
  • Dmitrii Borisov says:
    Ответить

    Перед публикацией проверяйте пожалуйста статью, у новичков может быть путаница:

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    root@ruvds-hrc [~]# chmod u+s myfile
    root@ruvds-hrc [~]# ls -l myfile
    -rw-rw-r– 1 test test 0 Mar 25 12:00 myfile
    Обратим внимание, что вместо ожидаемой буквы «s», видим заглавную «S». Почему?
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Заглавную «S» не наблюдаю в примере.

    2024-07-24 at 18:25
    • uxteam says:
      Ответить

      Поправили, чтобы не возникало путаницы.

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

      2024-09-13 at 14:44
  • Dmitrii Borisov says:
    Ответить

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Добавим это разрешение с помощью команды chmod u + x.

    root@ruvds-hrc [~]# chmod u+x myfile
    root@ruvds-hrc [~]# ls -l
    total 0
    -rwSrw-r– 1 test test 0 Mar 25 12:59 myfile
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    Тут должна быть установлена маленькая “s”

    2024-07-24 at 18:27
    • uxteam says:
      Ответить

      Благодарим за внимательность. Поправили статью.

      2024-09-13 at 14:34
Оставить комментарий Отменить ответ

Популярные статьи
  • Как подключиться по RDP из-под MacOS
  • Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
  • Управление портами в Linux (Ubuntu/Debian/CentOS)
  • Настройка VPN с использованием WireGuard
  • Как извлекать и разархивировать файлы .tar.gz в Linux-системах
Разделы Справочника
  • Настройка VPS Сервера
  • Начало работы
  • Особенности виртуального сервера
  • Партнерам
  • Развертывание ПО на VPS сервере
  • Сетевые настройки сервера
GAME OVERNIGHT
CLOUDRUSSIA
STRATONET
SPACE DC
ARCTIC DC
VPS/VDS серверы:
Тестовый период
Дешевый VPS
VPS Старт
VPS Мощные
VPS Windows
VPS Быстрые NVMe
VPS с 1C
Форекс VPS
Игровые серверы
VPS для бизнеса
Пинг до дата-центров
Услуги:
Маркетплейс
Панель ispmanager
Антивирусная защита
Аренда лицензий
Облачное хранилище
VPS серверы с Plesk Obsidian
Колокация
Looking Glass
DNS
Клиентам:
О компании
Дата-Центры
Новости
Аттестация по ФСТЭК
Бонусная программа
Публичная Оферта
Соглашение об уровне услуг
Политика обработки персональных данных
Сувениры от RuVDS
Партнерам:
Для прессы
Партнерская программа
Отзывы
API
Помощь:
Справочник
FAQ
Созданных
серверов
231504
Huawey
Supermicro
Cisco
Intel
Microsoft
ISP
Kaspersky
RDCA Logo

«Креатив года» Премия ЦОДы.рф 2021, 2025

RDCA Logo

«Хостер года» Премия ЦОДы.рф 2023

RDCA Logo

«Человек года» Премия ЦОДы.рф 2024

RuVDS
support@RUVDS.com
8 (800) 775-97-42
+7 (495) 135-10-99
МЫ В СОЦИАЛЬНЫХ СЕТЯХ
Copyright © 2025 RuVDS. Все права защищены.
ООО "МТ ФИНАНС" | ОГРН 1157746680332
Оставить отзыв

Условия получения бонуса за оставленный отзыв:

  1. Напишите про нас на любом из специализированных сайтах для отзывов.
  2. Пришлите нам текст отзыва и ссылку на ваш отзыв.
  3. После проверки, мы опубликуем ваш отзыв у нас на сайте и также начислим бонус на ваш баланс.
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS
Оставить отзыв
Strong Testimonials form submission spinner.

Обязательное поле

Укажите электронную почту вашего аккаунта RUVDS
Укажите ссылку на ваш отзыв
rating fields
Поставьте оценку серверам RUVDS