Нет никакого способа выразить это регулярное выражение шаблонами это поддержки gitignore. Проблемой не является отсутствие групп получения (на самом деле, Вы не используете группы получения как таковые), проблемой является отсутствие a |
оператор. Необходимо повредить это в четыре строки.
BigState-[0-9]*.csv
SmallState-[0-9]*.csv
BigCity-[0-9]*.csv
SmallCity-[0-9]*.csv
Обратите внимание, что шаблоны соответствуют, например. BigState-4foo.csv
, с тех пор *
соответствия любая последовательность символов. Вы не можете добиться большего успеха, чем это с шаблонами шарика, если Вы не готовы соответствовать только постоянному числу цифр.
Ваши 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”.
Таким образом, реальный вопрос: почему Вам нужны файлы, чтобы быть исполняемым файлом?
setfacl -m d:u::rwx,g::rwx,o:rwx .; touch beforeumask; umask 777; touch afterumask
. Оба получают те же полномочия. Таким образом, я вполне уверен, это действительно заменяет umask. – Mikel 21.11.2012, 22:35Your default ACLs replace the umask, which specifies not default permissions, but maximum permissions for creating new files.
Спасибо. – sjas 01.08.2017, 15:25