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 здесь происходит несколько вещей:
- сделать файл
read/write/executableдля владельца (7) - сделать файл
executableдля группы (1) - сделать файл 'исполняемым` для других (1)
- Затем, когда файл выполняется любым, кроме
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 или владельцем каталога или владельцем файла
Для получения дополнительной информации проверьте здесь.