3

Я пытаюсь научиться использовать Umask, но это кажется таким сложным.

Помимо всех вычитаний, которые мне приходится делать в голове отдельно для каталогов и файлов каждый раз, когда я вижу значение маски, umask в разное время кажется другим (см. Ниже).

Например, если у меня есть маска

umask
0002

это также можно рассматривать как

umask -S
u=rwx,g=rwx,o=rx

Почему в этом случае umask rwxrwxr-x а не -------w- ? Когда мне дают 0002, я должен рассчитать разрешения для файлов по 666-002 и каталогов по 777-002. Не следует тогда umask -S дать мне аналогичную вещь, чтобы я мог рассчитать с. Например, negation-of(-------w-) . Таким образом, в одном случае это действует как маска для отрицания, а во втором случае оно просто дает результат из того, что я понимаю. Почему это неоднозначное поведение?

1 ответ1

1

Вот как определяется поведение umask :

Если указан -S , сообщение должно иметь следующий формат:

"u =% s, g =% s, o =% s\n",,,

где три значения должны быть комбинациями букв из множества {r, w, x}; наличие буквы должно указывать на то, что соответствующий бит сброшен в маске создания режима файла.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/umask.html)

Кажется логичным, что возможность отображать маску в обеих формах была бы полезной, хотя по общему признанию справочная страница umask(1) не совсем ясно, что делает опция -S .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .