Назад | Перейти на главную страницу

Как мне сбросить разрешение «s» для каталога в Linux?

У меня есть каталог, который отображается с маской разрешения drwsrwsr-x. Когда я пытаюсь сбросить разрешения на 755 S все еще остается.

Что такое "s" и почему я не могу изменить права доступа обратно на 775 (drwxrwxr-x)?

setuid и setgid

setuid и setgid (сокращение от «установить идентификатор пользователя при выполнении» и «установить идентификатор группы при выполнении», соответственно) - это флаги прав доступа Unix, которые позволяют пользователям запускать исполняемый файл с разрешениями владельца или группы исполняемого файла. Они часто используются, чтобы позволить пользователям компьютерной системы запускать программы с временно повышенными привилегиями для выполнения определенной задачи. Хотя предполагаемый идентификатор пользователя или предоставляемые привилегии идентификатора группы не всегда повышаются, как минимум они являются конкретными.

Чтобы удалить биты setuid и setgid численно, вы должны префикс битового шаблона с 0 (например.: 0775 становится 00775).

Запускаем, чтобы удалить setuid и setgid:

chmod 00775 path

или

chmod a-st path

S, которые вы видите в позиции «выполнить» в столбце пользователя и группы, - это биты SetUID (установить идентификатор пользователя при выполнении) и SetGID (установить идентификатор группы при выполнении).

Разрешения файла Unix на самом деле представляют собой четырехзначное восьмеричное число SUGO

  • S управляет битами SetUID (4), SetGID (2) и "Sticky" (1)
  • U управляет битами чтения (4) / записи (2) / выполнения (1) для владельца файла
  • грамм управляет битами чтения / записи / выполнения для группы файла
  • О управляет битами чтения / записи / выполнения для всех остальных.

Вы можете удалить биты setuid из своего каталога с помощью chmod ug-s directory, или chmod 0755 directory

Для получения дополнительной информации см. Справочную страницу для chmod, и эта страница Википедии о бите SetUID.

Добавление к ответу ooshro ...

Если вы используете разрешения suid или sgid для каталога, любые файлы, созданные внутри этого каталога, будут иметь того же владельца (если suid) или группу (sgid), что и рассматриваемый каталог.

Я использую это для своей домашней папки Samba. Базовый каталог принадлежит пользователю nobody и группе olympia, а права доступа - 2770. Таким образом, вы должны быть в группе olympia, чтобы читать или писать что-либо ниже этого каталога, и это будет гарантировать, что olympia является группой-владельцем всего, что находится под ним. . У меня также есть Samba, настроенная на использование dirmask 2770 и filemask 660, чтобы сохранить правильные разрешения на всем протяжении дерева.