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

11

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

NerdOfCode
источник
Мне было интересно
узнать

Ответы:

11

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

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

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

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

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

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

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

От man chmod:

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

John1024
источник