Два года назад я писал о проблеме, которая встала передо мной.
Дело в том, что есть ряд файлов (фото, видео, музыка), которые использую и я, и жена.
Для удобного совместного использования я создал каталог /home/share, однако каждый раз, когда кто-либо выкладывал туда файлы, приходилось запускать chown и chmod. Не очень удобно, скажем прямо. Однако вариант с запуском этих утилит по крону нравился мне ещё меньше.
Не прошло и двух лет, как способ нашёлся.
Блоггер Karapuz из Хабаровска поделился в своём блоге простым и изящным рецептом решения подобной проблемы.
Беру на вооружение.
О, спасибо за инфу. Сам бился долго с этим: с женой кидаем оба фотки в одну папку, надо что бы оба могли обрабатывать их. Уже смотрел в сторону fam и им подобным, но так и не досмотрел. ;) Все застряло на скрипте, который кроном каждые 10 минут искал файлы с "неправильными" атрибутами и менял их. Криво, но работало четко.
ОтветитьУдалитьхм... а установка группы, прав и umask разве не решили бы данную проблему?
ОтветитьУдалитьВ двух словах: не решили.
ОтветитьУдалитьБолее развёрнуто - по ссылкам. Об этом писал и я, и автор приведённого решения.
Впрочем, если опишете работающее решение - буду благодарен.
Это - простое и изящное?
ОтветитьУдалитьЯ могу ошибаться, но программка bindfs + создание группы, в которые входят оба пользователя + мирроринг двух ваших директорий в /home/share/"name" соотвественно должны решить проблему раз и навсегда.
Тоже вариант, но для чего мне ВЕСЬ домашний каталог жены? Или ей - мой?
ОтветитьУдалитьТ.е. можно, конечно, хранить видео или фото у кого-то одного и биндить в общий, но как-то это... Неаккуратненько.
Хотя по своему изящно. Беру на вооружение.
по ссылкам особо не вчитывался(сказывается природная лень) но на вскидку:
ОтветитьУдалитьсоздаем двух юзеров с одинаковыми группами, прописываем в /etc/profile umask 002 и пользуемся
Делал. Не помогает.
ОтветитьУдалить>>Делал. Не помогает.
ОтветитьУдалитьа что не так? можно поиграть с группами и с sgid
Сейчас уже не помню, где именно грабли вылазили, но именно это решение я попробовал в первую очередь.
ОтветитьУдалитьВ результате плюнул и прогоняю в общей папке chmod nobody.users и chmod'ы соответствующие.
Перепроверять лень.
Вспомнил. В заново создаваемом каталоге или файле всё здорово, а вот если делать cp или mv - жопа.
ОтветитьУдалитьу нас всё работает с umask. юзеры в одной группе, umask нужный выставлен у обоих. по старым файлам пробежался скриптом и права поменял.
ОтветитьУдалитьСкопируйте в общий каталог файл с отличными от этого каталог правами и посматрите что будет. То есть, если вы скопируете файл с правами rw-r--r-- в каталог с правами rwxrwxr-x и umask 002, и при этом права на файл изменятся на rw-rw-r--, то я посыплю голову пеплом и потребую инструкции, как Вым это удалось.
ОтветитьУдалитьИнтересная задачка. Для меня это тоже актуально - только в другом ключе: обеспечить доступ к данным из инсталляций разных дистрибутивов.
ОтветитьУдалитьТам дело осложняется тем, что UID'ы и GID'ы в разных дистрах лепятся как Бог на душу положит.
Попробовал сделать группу common с GID 2000 (такой заведомо никто не создаёт) и приписать к ней разделяемые каталоги, а в эту группу включать всех пользователей в любых дистрах. У меня пользователей два - я за работой и я же за экспериментами.
Получилась та самая жопа при копировании и перемещении, о которой пишут StraNNicK и Karapuz.
Думал поэкспериментировать с правами в BSD-стиле, когда атрибуты наследуются от материнского каталога. Где-то мне попадалось, что в Линуксе такое тоже можно установить. Но руки пока так и не дошли.
Первое: если Вы установите правильный umask, то у пользователя файлы ЗАВЕДОМО будут создаваться с нужными правами. и копирование потом в нужную директорию не отберёт их никуда.
ОтветитьУдалитьесли есть куча старых файлов без нужных прав, то никто не мешает пробежаться по ним скриптом и выставить один раз нужные права, после чего спокойно копируются в ту же директорию.
если копирование происходит из какого-то левого источника, в котором неправильно высталены права, то тут в любом случае их надо править.
вот так вот. и нинадо никаких велосипедов. просто обучить пользователей.
divan, а если файлы принесли с флешки или ещё откуда, то юзерам тоже нужно пробегаться по всем файлам и прописывать права на запись для группы? Да и не всех "юзеров" возможно обучить, часто попадаются необучаемые дуболомы или склеротики ;) Так что нужно универсальное решение, работающее само, которое не требует обучение всех пользователей.
ОтветитьУдалитьЗЫ: Можно решить ещё через самбу: сделать папку, подмаунтить её самому себе и в настройках самбы уже проставить чтобы она принудительно права ставила для всех.
2 divan
ОтветитьУдалить> если копирование происходит из какого-то левого источника, в котором неправильно высталены права
____
В том-то и дело, что копирование происходит из очень правого источника с правильно выставленными правами :)
Например, всякие варианты системных и пользовательских конфигов