Доброго времени суток. Имеется проблема. Мне необходимо, чтобы все (в том числе вновь создаваемые) файлы в определенной директории имели определенные атрибуты доступа. Делается это с помощью ACL.
В RHEL они по умолчанию установлены, осталось настроить.
Приступим. Пользователь notes должен иметь права rwx для содержимого папки dir2.[root@true notes]# mkdir dir2
[root@true notes]# ls -l
итого 12
drwxr-xr-x 2 root root 4096 Сен 28 17:22 dir2
[root@true notes]# touch dir2/1.1
[root@true notes]# touch dir2/2.2
[root@true notes]# ls -l dir2
итого 0
-rw-r--r-- 1 root root 0 Сен 28 17:22 1.1
-rw-r--r-- 1 root root 0 Сен 28 17:22 2.2
[root@true notes]# setfacl -m u:notes:rwx dir2
[root@true notes]# setfacl -m u:notes:rwx dir2/*
[root@true notes]# getfacl dir2
# file: dir2
# owner: root
# group: root
user::rwx
user:notes:rwx
group::r-x
mask::rwx
other::r-x
[root@true notes]# getfacl dir2/1.1
# file: dir2/1.1
# owner: root
# group: root
user::rw-
user:notes:rwx
group::r--
mask::rwx
other::r--
[root@true notes]# setfacl -d -m u:notes:rwx,g::r--,o::--- dir2
[root@true notes]# getfacl dir2
# file: dir2
# owner: root
# group: root
user::rwx
user:notes:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:notes:rwx
default:group::r--
default:mask::rwx
default:other::---
[root@true notes]# touch dir2/3.3
[root@true notes]# getfacl dir2/3.3
# file: dir2/3.3
# owner: root
# group: root
user::rw-
user:notes:rwx #effective:rw-
group::r--
mask::rw-
other::---
Как видно, несмотря на то, что default маску я попросил rwx, она создалась rw-. Это из-за того, что user::rw-. Можно поправить ситуацию:
[root@true notes]# setfacl -m u::rwx dir2/3.3
[root@true notes]# getfacl dir2/3.3
# file: dir2/3.3
# owner: root
# group: root
user::rwx
user:notes:rwx
group::r--
mask::rwx
other::---
Вуаля. Маска сама изменилась, теперь пользователь notes имеет права rwx. Но не делать же мне вручную или через cron
setfacl -m u::rwx dir2/*
Помогите, буду премного благодарен.
P.S. Мне непонятно, почему ранее созданный файл 1.1 получил необходимые права (см. getfacl dir1/1.1), а вновь созданный 3.3 не получил?