16.07.2009

Общий каталог в Linux

Два года назад я писал о проблеме, которая встала передо мной.
Дело в том, что есть ряд файлов (фото, видео, музыка), которые использую и я, и жена.

Для удобного совместного использования я создал каталог /home/share, однако каждый раз, когда кто-либо выкладывал туда файлы, приходилось запускать chown и chmod. Не очень удобно, скажем прямо. Однако вариант с запуском этих утилит по крону нравился мне ещё меньше.

Не прошло и двух лет, как способ нашёлся.
Блоггер Karapuz из Хабаровска поделился в своём блоге простым и изящным рецептом решения подобной проблемы.

Беру на вооружение.

16 прокомментировало:

О, спасибо за инфу. Сам бился долго с этим: с женой кидаем оба фотки в одну папку, надо что бы оба могли обрабатывать их. Уже смотрел в сторону fam и им подобным, но так и не досмотрел. ;) Все застряло на скрипте, который кроном каждые 10 минут искал файлы с "неправильными" атрибутами и менял их. Криво, но работало четко.

16 Июль, 2009 22:49  

хм... а установка группы, прав и umask разве не решили бы данную проблему?

16 Июль, 2009 22:53  

В двух словах: не решили.
Более развёрнуто - по ссылкам. Об этом писал и я, и автор приведённого решения.

Впрочем, если опишете работающее решение - буду благодарен.

16 Июль, 2009 22:56  

Это - простое и изящное?

Я могу ошибаться, но программка bindfs + создание группы, в которые входят оба пользователя + мирроринг двух ваших директорий в /home/share/"name" соотвественно должны решить проблему раз и навсегда.

16 Июль, 2009 23:06  

Тоже вариант, но для чего мне ВЕСЬ домашний каталог жены? Или ей - мой?

Т.е. можно, конечно, хранить видео или фото у кого-то одного и биндить в общий, но как-то это... Неаккуратненько.

Хотя по своему изящно. Беру на вооружение.

16 Июль, 2009 23:11  

по ссылкам особо не вчитывался(сказывается природная лень) но на вскидку:

создаем двух юзеров с одинаковыми группами, прописываем в /etc/profile umask 002 и пользуемся

16 Июль, 2009 23:15  

Делал. Не помогает.

16 Июль, 2009 23:16  

>>Делал. Не помогает.

а что не так? можно поиграть с группами и с sgid

16 Июль, 2009 23:24  

Сейчас уже не помню, где именно грабли вылазили, но именно это решение я попробовал в первую очередь.

В результате плюнул и прогоняю в общей папке chmod nobody.users и chmod'ы соответствующие.

Перепроверять лень.

16 Июль, 2009 23:28  

Вспомнил. В заново создаваемом каталоге или файле всё здорово, а вот если делать cp или mv - жопа.

16 Июль, 2009 23:29  

у нас всё работает с umask. юзеры в одной группе, umask нужный выставлен у обоих. по старым файлам пробежался скриптом и права поменял.

17 Июль, 2009 08:10  

Скопируйте в общий каталог файл с отличными от этого каталог правами и посматрите что будет. То есть, если вы скопируете файл с правами rw-r--r-- в каталог с правами rwxrwxr-x и umask 002, и при этом права на файл изменятся на rw-rw-r--, то я посыплю голову пеплом и потребую инструкции, как Вым это удалось.

17 Июль, 2009 09:22  

Интересная задачка. Для меня это тоже актуально - только в другом ключе: обеспечить доступ к данным из инсталляций разных дистрибутивов.
Там дело осложняется тем, что UID'ы и GID'ы в разных дистрах лепятся как Бог на душу положит.
Попробовал сделать группу common с GID 2000 (такой заведомо никто не создаёт) и приписать к ней разделяемые каталоги, а в эту группу включать всех пользователей в любых дистрах. У меня пользователей два - я за работой и я же за экспериментами.
Получилась та самая жопа при копировании и перемещении, о которой пишут StraNNicK и Karapuz.

Думал поэкспериментировать с правами в BSD-стиле, когда атрибуты наследуются от материнского каталога. Где-то мне попадалось, что в Линуксе такое тоже можно установить. Но руки пока так и не дошли.

18 Июль, 2009 04:15  

Первое: если Вы установите правильный umask, то у пользователя файлы ЗАВЕДОМО будут создаваться с нужными правами. и копирование потом в нужную директорию не отберёт их никуда.
если есть куча старых файлов без нужных прав, то никто не мешает пробежаться по ним скриптом и выставить один раз нужные права, после чего спокойно копируются в ту же директорию.
если копирование происходит из какого-то левого источника, в котором неправильно высталены права, то тут в любом случае их надо править.
вот так вот. и нинадо никаких велосипедов. просто обучить пользователей.

18 Июль, 2009 13:16  

divan, а если файлы принесли с флешки или ещё откуда, то юзерам тоже нужно пробегаться по всем файлам и прописывать права на запись для группы? Да и не всех "юзеров" возможно обучить, часто попадаются необучаемые дуболомы или склеротики ;) Так что нужно универсальное решение, работающее само, которое не требует обучение всех пользователей.

ЗЫ: Можно решить ещё через самбу: сделать папку, подмаунтить её самому себе и в настройках самбы уже проставить чтобы она принудительно права ставила для всех.

18 Июль, 2009 20:01  

2 divan
> если копирование происходит из какого-то левого источника, в котором неправильно высталены права
____
В том-то и дело, что копирование происходит из очень правого источника с правильно выставленными правами :)
Например, всякие варианты системных и пользовательских конфигов

19 Июль, 2009 00:32  

Следующее Предыдущее Главная страница

Blogger Template by Blogcrowds