Не может объяснить поведение ACL

Нет никакого способа выразить это регулярное выражение шаблонами это поддержки gitignore. Проблемой не является отсутствие групп получения (на самом деле, Вы не используете группы получения как таковые), проблемой является отсутствие a | оператор. Необходимо повредить это в четыре строки.

BigState-[0-9]*.csv
SmallState-[0-9]*.csv
BigCity-[0-9]*.csv
SmallCity-[0-9]*.csv

Обратите внимание, что шаблоны соответствуют, например. BigState-4foo.csv, с тех пор * соответствия любая последовательность символов. Вы не можете добиться большего успеха, чем это с шаблонами шарика, если Вы не готовы соответствовать только постоянному числу цифр.

6
21.11.2012, 11:54
1 ответ

Ваши ACLs по умолчанию заменяют umask, который указывает не полномочия по умолчанию, но максимальные полномочия для создания новых файлов. В этом случае rwxrwxr-x.

Затем Ваши вызовы приложения open или creat с полномочиями это хочет. Примерно все приложения попросят rw-rw-rw- для файлов.

Вы видите это путем выполнения strace, например.

$ strace -e trace=file touch newfile
...
open("newfile", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3

(0666 совпадает с rw-rw-rw-.)

Эти два полномочий объединены с помощью поразрядно И дать rw-rw-r--.

  rwxrwxr-x     # default ACL
  rw-rw-rw-     # permission requested (e.g. by touch, vim, etc.)
& _________
  rw-rw-r--     # effective permissions

Для другого объяснения см. Списки управления доступом POSIX — “Значение по умолчанию Пример ACL”.

Таким образом, реальный вопрос: почему Вам нужны файлы, чтобы быть исполняемым файлом?

4
27.01.2020, 20:29
  • 1
    Просто попробованный setfacl -m d:u::rwx,g::rwx,o:rwx .; touch beforeumask; umask 777; touch afterumask. Оба получают те же полномочия. Таким образом, я вполне уверен, это действительно заменяет umask. –  Mikel 21.11.2012, 22:35
  • 2
    Вы правы. Мне удалось и испортить мой тест и неправильно читать руководство. Я удалил свой комментарий.Прошу прощения. Спасибо Stephane –  Stéphane Chazelas 21.11.2012, 22:44
  • 3
    Your default ACLs replace the umask, which specifies not default permissions, but maximum permissions for creating new files. Спасибо. –  sjas 01.08.2017, 15:25

Теги

Похожие вопросы