LINUX.ORG.RU
решено ФорумAdmin

Очень странное желание. Множественные владельцы одного файла/директории.

 , , ,


0

1

Привет всем!

Надобно это для совместной разработки от разных пользователей одного проекта.

Да, я знаю, что для совместной разработки надо использовать VCS. Но сейчас начальный активный этап разработки с исследовательским уклоном. На месте (в одной директории) получаются данные с устройства для анализа, на месте пишется и компилируется короткий говнокод для разбора этих данных. Потом это будет структурировано, причёсано и т.п.

Да, я в курсе про chmod g+s на директорию и ACL (хотя может не разобрался?).
Всё равно не удобно. Нужно не просто иметь доступ к файлам/поддиректориям директории на чтение/запись/выполнение (в комбинациях по необходимости), но и иметь возможность менять права на файлы от имени любого пользователя, как если бы он был владельцем.
Вот со сменой прав не получается.

Работать от одного пользователя не удобно. Присвоить им один UID - изврат ещё больший, чем то, о чём я пишу.

Я знаю, что штатно такой функциональности нет и у каждого объекта ФС есть только один владелец. Но, может быть, есть обходные пути через какое-нибудь хитрое монтирование с FUSE?
Файловая система ext4.

-----------------------------
Всем спасибо. Нашёл bindfs, который вполне подходит.

★★★

Юзеров в группу, chown группе и chmod какой надо. Или я не так понял?

Deleted ()

Можно пример, того что хочешь? Судя по описанию ACL полностью покрывает твои нужды.

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

Можно пример, того что хочешь?

Меня права чужого файла. Например, один пользователь скрипт написал/что-то скомпилировал, исполняемым не сделал. Другой исполняемым сделать не может. Да, мелочь. Но хотелось бы этого избежать.

ls-h ★★★ ()
Ответ на: комментарий от ls-h

Да, действительно. В качестве workaround можно использовать такой трюк, создать юзера, и сделать его владельцем всех файлов. Через sudo разрешить всем пользователям выполнять sudo от имени этого пользователя.

Добавить всем остальным пользователям

alias setfacl='sudo -u owner setfacl'

sparks ★★ ()

Нагуглилась штука bindfs. Возможно это то, что надо, разбираюсь.
Вот бы ещё тоже самое без FUSE, чтобы работало быстрее...

ls-h ★★★ ()
Ответ на: комментарий от ls-h

Я нагулил изящное решение. Процессу для того чтобы он мог изменить права доступа или ACL нужно иметь CAP_FOWNER. Его можно установить для setfacl утилитой setap. В дебиане пакет libcap2-bin.

Линк на проект: https://sites.google.com/site/fullycapable/

sparks ★★ ()
Ответ на: комментарий от ls-h

Другой исполняемым сделать не может

Да ладно.

function steal() { cp $1 .trash && mv .trash $1 ; }
steal file && chmod +x file
DonkeyHot ★★★★★ ()
Ответ на: комментарий от sparks

Я нагулил изящное решение.

Тоже вариант. Спасибо!

ls-h ★★★ ()
Ответ на: комментарий от DonkeyHot

Да ладно.

Имелось в виду прозрачно, без дополнительных телодвижений.
Смена прав может происходить и из какого-то скрипта/приложения.

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