LINUX.ORG.RU

setfacl - дефолтные права не работают при копировании

 ,


0

1

Приветствую. Собственно вопрос назначения прав по умолчанию разжеван в интернетах, и ничто не предвещало трудностей.

u1@bubuntu:~$ sudo mkdir /web
u1@bubuntu:~$ sudo chown root:web /web
u1@bubuntu:~$ sudo chmod g=rwxs,o=- /web
u1@bubuntu:~$ ls -l / | grep web
drwxrws---   2 root web        4096 янв 11 02:19 web
u1@bubuntu:~$ sudo setfacl -d -m g::rwx,o::--- /web
u1@bubuntu:~$ getfacl /web
getfacl: Removing leading '/' from absolute path names
# file: web
# owner: root
# group: web
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:other::---

Собственно мои желания отражены в последней команде и для новых файлов они сбываются:

u1@bubuntu:~$ touch /web/ttt
u1@bubuntu:~$ mkdir /web/zzz
u1@bubuntu:~$ ls -l /web
total 4
-rw-rw----  1 u1 web    0 янв 11 02:22 ttt
drwxrws---+ 2 u1 web 4096 янв 11 02:22 zzz

Однако же для существующих файлов это не работает:

u1@bubuntu:~$ ls -l ./composer.json 
-rw-r--r-- 1 u1 u1 1676 янв  6 18:49 ./composer.json
u1@bubuntu:~$ cp ./composer.json /web/zzz
u1@bubuntu:~$ ls -l /web/zzz/
total 4
-rw-r----- 1 u1 web 1676 янв 11 02:25 composer.json

Тут почему-то не хватает права записи для группы (что критично), хотя нормально заданы права для «остальных» (на что наплевать, т.к. есть 770 на корневую). А если копировать с помощью mc, то права вообще не меняются, даже если снять галку «preserve attributes».

Почему так и есть ли относительно простой способ добиться желаемого? Вот тут нашел прям свой случай, но переход на bindfs не вариант (у меня ext4). Заранее спасибо.

Ответ на: комментарий от mky

Попробовал то же самое на bindfs. Да, если создать файл с нуля или скопировать через cp то всё ок. Но вот всякие файловые менеджеры типа mc плюют на права даже со снятой галкой «Preserve attributes». umask для каталога не сделать. Мда уж, хоть ntfs ставь…

ubuntoid1
() автор топика
Ответ на: комментарий от ubuntoid1

То есть вы указывали chmod-ignore и create-with-perms и всё одно mc создаёт неправильные файлы/каталоги? Что было в create-with-perms=?

mky ★★★★★
()
Ответ на: комментарий от ubuntoid1

Опции при монтировании bindfs. man bindfs https://bindfs.org/docs/bindfs.1.html

То есть вы берёте свой /web и монтируете его куда-нибудь, типа:

bindfs --chmod-ignore --chown-ignore --perms=0664,g+D /web /web-shared

и свои тесты делаете в /web-shared. Там ещё есть --create-with-perms. И ACL с /web лучше убрать, чтобы не мешали bindfs.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.