Правильность работы ACL в ASPLinux10

Автор: Sokolovs Дата: 29.08.2006 02:03 ACL на определенный каталог:
# file: .
# owner: sokol
# group: clusers
user::rwx
group::r-x
group:cladmins:rwx
group:clusrspace:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:clusrspace:rwx
default:mask::rwx
default:-0ther::r-x

Создаю файл:
touch testfile
getfacl testfile

Получаю
# file: testfile
# owner: root
# group: root
user::rw-
group::r-x #effective:r--
group:clusrspace:rwx #effective:rw-
mask::rw-
other::r--

Создаю файл через Samba с поддержкой ACL. Проверяю права:
# file: testfile2
# owner: sokol
# group: clusers
user::rw-
group::r-x #effective:r--
group:clusrspace:rwx #effective:r--
mask::r--
other::r--

Теперь вопросы:

1. Почему неправильно наследуется маска.
На родительском каталоге стоит default:mask::rwx, соответственно у файлов создаваемых в каталоге должна быть такая же маска?
2. Почему маска отличается в случае создания файла напрямую и через шару Samba?
Re: Правильность работы ACL в ASPLinux10 29.08.2006 10:33_Az_ 1. owner - sokol, и будет влиять на файлы, к-е создает root? Имхо так и должно быть. Попробуй создать файл в этом каталоге от sokol, а не от рута и посмотри что получится.
2. У самбы есть свои настройки - директивы umask, force umask если мне память не изменяет ни с кем. Есть такое в конфиге самбы?
Re: Правильность работы ACL в ASPLinux10 29.08.2006 14:56Sokolovs 1. Маска меняется на mask::rw- вне зависимости от того кто создал файл, root или sokol
2. В конфиге самбы есть параметры:

----------------------------------------
force create mode (S)
This parameter specifies a set of UNIX mode bit permissions that will always be set on a file created by Samba. This is done by bitwise ’OR’ing these bits onto the mode bits of a file that is being created or having its permissions changed. The default for this parameter is (in octal) 000. The modes in this parameter are bitwise ’OR’ed onto the file mode after the mask set in the create mask parameter is applied.

The example below would force all created files to have read and execute permissions set for ’group’ and ’other’ as well as the read/write/execute bits set for the ’user’.

Default: force create mode = 000
Example: force create mode = 0755

force directory mode (S)
This parameter specifies a set of UNIX mode bit permissions that will always be set on a directory created by Samba. This is done by bit-wise ’OR’ing these bits onto the mode bits of a directory that is being created. The default for this parameter is (in octal) 0000 which will not add any extra permission bits to a created directory. This operation is done after the mode mask in the parameter directory mask is applied.

The example below would force all created directories to have read and execute permissions set for ’group’ and ’other’ as well as the read/write/execute bits set for the ’user’.

Default: force directory mode = 000
Example: force directory mode = 0755
----------------------------------------

С наследованием прав для каталогов тоже траблы. Если каталог создается напрямую через mkdir, то все правильно наследуется. Если через шару Samba, то маска меняется на mask::r-x.
Чувствую что дело в umask но не пойму как исправить. И странно почему umask вобще действует на Extended ACL. Для меня это критично тем что из-за маски меняются эффективные права. Т.е. группа которая должна иметь полный доступ к файлам и каталогом не имеет его.
Re: Правильность работы ACL в ASPLinux10 30.08.2006 17:53Sokolovs Проблему решил. Может быть кому то понадобиться )
Вобщем смотрите опцию -n у setfacl, он отменяет рекалькуляцию маски.
Если хотите чтобы файлы из самбы и напрямую из системы создавались с одинаковыми правами выставьте одинаковый umask, опции для самбы приведены выше. У самбы по умолчанию 000 в системе обычно 022.
RSS-материал