Разница между трехзначными и четырехзначными разрешениями на доступ к файлам?

Разница между трехзначными и четырехзначными разрешениями на доступ к файлам?

Недавно я задавался вопросом, в чем разница между трех- и четырехзначными числовыми разрешениями на файлы. Я получаю числовые разрешения, запуская stat --format "%a" $file_name. В чем разница между 0644 и 644?

решение1

Первая цифра в четырехзначном разрешении представляет собой суммуустановить идентификатор пользователя (4),установить идентификатор группы(2) илипкий(1). Трехзначное разрешение похоже на четырехзначное разрешение, но первая цифра равна нулю. Таким образом:

  • 0644 — это то же самое, что и 644.
  • 1644 — это то же самое, что и 644, но бит sticky также установлен
  • 4644 похож на 644, но также установлен бит идентификатора пользователя.

Примеры использования разрешений из четвертой цифры

Если файл с установленным идентификатором пользователя выполняется, то он выполняется как будто владельцем файла, а не пользователем, выполняющим выполнение. Так, например, /bin/mountобычно принадлежит root и имеет разрешения 4755, где 4 означает, что даже если он будет запущен обычным пользователем, он будет запущен с привилегиями владельца (root).

Установка идентификатора группы для каталога полезна для обмена файлами.

Sticky bit используется в каталогах, например, /tmpчтобы все пользователи могли создавать файлы, но не позволяли невладельцам удалять файлы других людей. Таким образом, разрешения /tmpобычно равны 1777, где 1 означает, что sticky bit установлен.

Документация

От man chmod:

Числовой режим — это от одной до четырех восьмеричных цифр (0-7), полученных путем сложения битов со значениями 4, 2 и 1. Пропущенные цифры считаются ведущими нулями. Первая цифра выбирает установленный идентификатор пользователя (4) и установленный идентификатор группы (2), а также атрибуты ограниченного удаления или закрепления (1). Вторая цифра выбирает разрешения для пользователя, владеющего файлом: чтение (4), запись (2) и выполнение (1); третья выбирает разрешения для других пользователей в группе файла с теми же значениями; а четвертая — для других пользователей, не входящих в группу файла, с теми же значениями.

Связанный контент