Назад | Перейти на главную страницу

Наследование ACL в Linux: создать подкаталог с 700 правами для нескольких пользователей

Если я правильно понимаю эту картинку http://www.vanemery.com/Linux/ACL/img1.gif из этого руководства http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html, установка 700 через chmod сделает

user::rwx
mask::---
other::---

(и это действительно так).

Но это означает, что я не могу создать каталог и 2 или более пользователей, так что подкаталоги будут с 700 права для каждого пользователя в ACL default. Из факта следует, что user:some_user:... и group:someuser:... будет пересекаться с маской (в этом случае с 0 и результат также будет 0).

Я прав?

Простой пример: MySQL создает каталоги для баз данных с 0700 прав. И я хочу сделать резервную копию своего пользователя (ни mysql ни root). Значит, я хочу получить 700 права на мои mysqlbackup пользователь подкаталогов, созданных mysql пользователь в директории MySQL. MySQL создает их при создании баз данных.

root@248261c6cbcc:/var/lib/mysql# getfacl .
# file: .
# owner: mysql
# group: mysql
user::rwx
user:mysqlbackup:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:mysqlbackup:rwx
default:group::---
default:mask::rwx
default:other::---

root@248261c6cbcc:/var/lib/mysql# sudo -u mysql -H mkdir -m 700 it_must_be_database_dir

root@248261c6cbcc:/var/lib/mysql# getfacl it_must_be_database_dir/
# file: it_must_be_database_dir/
# owner: mysql
# group: mysql
user::rwx
user:mysqlbackup:rwx        #effective:---
group::---
group:mysqlbackup:rwx       #effective:---
mask::---
other::---
default:user::rwx
default:user:mysqlbackup:rwx
default:group::---
default:group:mysqlbackup:rwx
default:mask::rwx
default:other::---

Как видите, действующие права ---, ничего.

Итак, могу ли я установить ACL таким образом, чтобы каталоги, созданные с помощью 700 будет доступен для mysqlbackup пользователь?

Нет, не можешь. Используя 700 разрешений, вы используете маску ---, и система соблюдает вашу директиву.

Вам просто нужно использовать более разрешающую маску (например, rwx) и контролировать эффективное право доступа только через записи ACL.