mkdir-p игнорирует facl?

Я пытаюсь осуществить файл перманент 777 через определенную группу директоров, которых я использовал "setfacl-m d:o:: rwx" и получил то, что, кажется, правильные полномочия

$ getfacl .
# file: .
# owner: blah
# group: blah
# flags: -s-
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

Когда я выполняю mkdir, я получаю dir с правильным перманентом.

$ mkdir test
$ ll -d test
drwxrwsrwx+ 2 blah blah 4096 Oct 28 10:26 test

Когда я работаю "mkdir-p", я получаю перманент, который соответствует umask, не acl.

$ mkdir -p test1
$ ll -d test1
drwxrwsr-x+ 2 blah blah 4096 Oct 28 10:27 test1

Есть ли что-то, что я пропускаю?

4
задан 28 October 2014 в 17:33
1 ответ

Я считаю, что это правильное поведение. Просматривая информацию mkdir:

`-p'
`--parents'
     Make any missing parent directories for each argument, setting
     their file permission bits to the umask modified by `u+wx'.  Ignore
     existing parent directories, and do not change their file
     permission bits.

     To set the file permission bits of any newly-created parent
     directories to a value that includes `u+wx', you can set the umask
     before invoking `mkdir'.  For example, if the shell command
     `(umask u=rwx,go=rx; mkdir -p P/Q)' creates the parent `P' it sets
     the parent's permission bits to `u=rwx,go=rx'.  To set a parent's
     special mode bits as well, you can invoke `chmod' after `mkdir'.
     *Note Directory Setuid and Setgid::, for how the set-user-ID and
     set-group-ID bits of newly-created parent directories are
     inherited.

Итак, mkdir -p примет значение umask (измененное на u + rw ) для создания любых каталогов, не входящих в дерево, что имеет смысл, если вы рассматриваете проблему как бы вы поступили с разрешениями для уже существующих родительских каталогов?

Как указано в отрывке, вы можете изменить umask перед запуском команды, хотя, вероятно, будет намного проще запустить рекурсивный chmod в родительском каталоге после того, как все будет создано.

4
ответ дан 3 December 2019 в 03:30

Теги

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