Intereting Posts
Ошибка «Нет протокола» при запуске с удаленной машины через ssh awk getline не работает, как ожидалось, на итерации первого цикла Прокрутка экрана или выключение паузы Команда `ls -ltu` не может отображать папки / файлы на основе последнего времени доступа Могу ли я задержать запуск скрипта systemd при загрузке? Как выполнять последовательные команды из истории? Lubuntu 16.04 xsetwacom: «Невозможно найти выход« DVI-I-0 ».» apt-get не удалось развить в UML (пользовательский режим Linux) Какая часть systemd запускает службу загрузки модhive? Docker переопределяет мой файл /etc/resolv.conf внутри контейнеров Эмулятор терминала с функциональностью сохранения вкладок? find -type f все еще возвращает каталоги, как остановить это? Почему поведение динамического DNS-динамика DHCP противоречиво? Разрешения umask, которые не приводят к изменению как установить curl 7.15.5 libcurl 7.15.5, OpenSSL 0.9.8b, zlib 1.2.3, libidn 0.6.5 в Kali Linux?

Использование setfacl позволяет членам группы писать в любой файл в каталоге

Я хотел бы использовать setfacl, чтобы любой в группе «приложение» мог редактировать любой файл, содержащийся в / usr / local / users / app, независимо от того, что говорят традиционные разрешения UNIX. У меня есть два пользователя john и ben. Я попытался выполнить инструкцию по другому вопросу , но Джон не может писать в некоторые файлы. Похоже, это из-за маски acl. Тем не менее, я установил маску по умолчанию в каталоге rwx, поэтому не должны ли файлы внутри нее наследовать, когда они созданы?

Например, john не может писать в файл ниже, но он является членом группы «app», который пишет acls в файле, поэтому я удивлен, что он не может редактировать файл.

ben@app1:/usr/local/users$ ls -la app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar -rw-r--r--+ 1 ben users 38326 Apr 2 10:21 app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar ben@app1:/usr/local/users/app$ getfacl app-1.0-SNAPSHOT/lib/ # file: app-1.0-SNAPSHOT/lib/ # owner: ben # group: users user::rwx group::rwx #effective:rx group:app:rwx #effective:rx mask::rx other::rx default:user::rwx default:group::rwx default:group:app:rwx default:mask::rwx default:other::rx ben@app1:/usr/local/users$ getfacl app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar # file: app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar # owner: ben # group: users user::rw- group::rwx #effective:r-- group:app:rwx #effective:r-- mask::r-- other::r-- 

Вы заметите «эффективный» комментарий, который getfacl выбрасывает на вас. Проблема заключается в том, что разрешения вычисляются так, что «приложение» не получает бит записи. Это происходит потому, что маску в файле имеет значение только для чтения. Маска используется для ограничения количества разрешений, которые могут быть выданы конкретному файлу или каталогу.

Примером того, почему вы хотели бы этого поведения, было бы похоже, если бы вы знали, что файл может законно нуждаться в разных пользователях / группах, чтобы иметь доступ к нему, но по какой-то причине все осложнялось разрешениями, и вы хотели, чтобы вы сказали: «Что бы ни случилось устанавливаются права по умолчанию, независимо от их членства в группах, или какие-либо рекурсивные функции setfacl будут выполняться позже, ОПРЕДЕЛЕННО НЕ ДАЙТЕ ЭТОТ ! " У владеющего пользователя есть особый статус в мире POSIX, у него есть права, которых нет у других пользователей, таких как возможность быть не root и изменять права доступа к файлу, а его права не ограничены маской (которая была бы бессмысленно в любом случае из-за первой привилегии, предоставляемой системой). Вот почему они все еще получают rwx, хотя маска ограничена.

Чтобы ответить на ваш конкретный вопрос : добавьте бит записи в маску в файл и повторите попытку как пользователь john .

вот версия командной строки приведенного выше объяснения, обратите внимание на то, как изменяются «эффективные» права, когда все, что я модифицирую, является маской.

Это невозможно. cp, rsync и т. д. создавать файлы, игнорирующие ACL по умолчанию

https://serverfault.com/questions/183800/why-does-cp-not-respect-acls