Umask ведущий 0

Мой umask в настоящее время (по умолчанию) установлен на 0002, как показано ниже. Я понимаю, что права справа налево принадлежат пользователю, владельцу. Так для чего первый 0?

$ umask
0002

1 ответ

Сначала числа octal номера.

Позвольте мне использовать пример, чтобы объяснить, что они все значат.

Обратите внимание, что setuid and setgid (setuid - установить идентификатор пользователя и setgid - установить идентификатор группы) выполняются с использованием чисел 4 and 2 где sudo chmod 4775 будут change or set user id on the file or directory когда sudo chmod setgid готово.

За files если вы говорите "root" и "www-data" sudo chmod 6711 file здесь происходит несколько вещей:

  1. сделать файл read/write/executable для владельца (7)
  2. сделать файл executable для группы (1)
  3. сделать файл 'исполняемым` для других (1)
  4. Затем, когда файл выполняется любым, кроме owner файл будет работать как root:www-data независимо от того, кто выполняет файл.

В итоге, если вы делаете sudo chmod 6711 и другой пользователь запускает этот файл, он будет работать так, как если бы вы (владелец) выполнили файл.

Для каталогов:

если вы делаете sudo chmod g+s в папке, то все файлы, созданные с этого момента, будут наследовать group из original creator не ты, кто только что создал это. Обратите внимание: любой файл, который уже существует, не унаследует новую группу, которую необходимо сделать вручную.

То же самое произойдет, если вы сделаете sudo chmod u+s

У нас есть sticky bit что сделано так: chmod 1000 directory или же chmod +t directory,

Если для каталога установлен бит закрепления, файлы в этом каталоге могут быть не связаны или переименованы только пользователем root или владельцем каталога или владельцем файла

Для получения дополнительной информации проверьте здесь.

Другие вопросы по тегам