Re: Общая папка для нескольких пользователей
> Степан Голосунов writes: > Ivan Shmakov writes: > Ivan Shmakov writes: > Artem Chuprina writes: В общем случае задача сделать "всё доступно всем" на юниксовой файловой системе в моей практике проще всего решалась демоном, который типа раз в минуту просматривал, что в подведомственных директориях не ugo+w, и ставил туда +w. […] >>> # find /where -xdev -not -perm -0666 -exec chmod -- a+rwX {} + >> … Пожалуй, имеет смысл добавить \( -type f -or -type d \). > Только стоит помнить, что пока find просматривает файлы в > каком-нибудь тяжёлом каталоге (в котором всё правильно и менять > ничего не надо), уже найденный но ещё не поправленный файл может > превратиться, например, в симлинк на /etc/shadow. Да. Способы избежать race condition в этом случае мне не известны. -- FSF associate member #7257 http://sf-day.org/ -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/86sjb672gn@gray.siamics.net
Re: Общая папка для нескольких пользователей
Ivan Shmakov writes: >> Ivan Shmakov writes: >> Artem Chuprina writes: > >> В общем случае задача сделать "всё доступно всем" на юниксовой > >> файловой системе в моей практике проще всего решалась демоном, > >> который типа раз в минуту просматривал, что в подведомственных > >> директориях не ugo+w, и ставил туда +w. (Тупо делать chmod -R плохо > >> тем, что это трогает ctime даже если фактически не меняет права.) > > > JFTR: > > > # find /where -xdev -not -perm -0666 -exec chmod -- a+rwX {} + > > … Пожалуй, имеет смысл добавить \( -type f -or -type d \). Только стоит помнить, что пока find просматривает файлы в каком-нибудь тяжёлом каталоге (в котором всё правильно и менять ничего не надо), уже найденный но ещё не поправленный файл может превратиться, например, в симлинк на /etc/shadow. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87wr0mhyq3@sghpc.hn.golosunov.pp.ru
Re: Общая папка для нескольких пользователей
В Вто, 14/08/2012 в 08:42 +0400, Кубашин Александр Сергеевич пишет: > 1) Один компьютер с несколькими пользователями, хочется иметь общие > файлы: музыка, фотографии и т.д. Каждый из пользователей должен иметь > возможность изменять/удалять/добавлять любые файлы в этот каталог. Я сделал так: создал каталог /home/share с правами 767, группой user и установленным SGID. Всех пользователей добавил в группу users и установил umask=002. Пока всё работает. Хотел такой же фокус и с ~/.wine сделать, но wine против. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1345048338.1937.12.camel@debian
Re: Общая папка для нескольких пользователей
> Ivan Shmakov writes: > Artem Chuprina writes: >> В общем случае задача сделать "всё доступно всем" на юниксовой >> файловой системе в моей практике проще всего решалась демоном, >> который типа раз в минуту просматривал, что в подведомственных >> директориях не ugo+w, и ставил туда +w. (Тупо делать chmod -R плохо >> тем, что это трогает ctime даже если фактически не меняет права.) > JFTR: > # find /where -xdev -not -perm -0666 -exec chmod -- a+rwX {} + … Пожалуй, имеет смысл добавить \( -type f -or -type d \). -- FSF associate member #7257 http://sf-day.org/ -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/864no48qsl@gray.siamics.net
Re: Общая папка для нескольких пользователей
> Dmitrii Kashin writes: > Ivan Shmakov writes: […] >> Обычно, подобную задачу решаю созданием помимо домашних директорий >> пользователей (/home/private/users/jrh, 0700) еще и доступных на >> чтение «всем» (/home/public/users/jrh, 0755.) Последние также >> доступны по HTTP (UserDir /home/public/users в конфигурации Apache.) > Зачем делать много "доступных всем" директорий, когда можно > использовать одну? Каждая из этих директорий «доступна всем» только на чтение. BTW, для использования GRASS в таком окружении, у меня есть отдельная программа, просматривающая /home/public/users/*/grass-shared/ на предмет общедоступных локаций и наборов (mapset), и создающая копии параметров локаций, собственные наборы (как private, так и public) и соответствующие ссылки в ~/.grass-data/. Подозреваю, при минимальной «стандартизации» public/-директорий, можно получить своеобразный autodiscovery и для других программ, предполагающих общий доступ к данным. > mkdir /var/shared > chmod a+rwt /var/shared > Собственно, по аналогии с /tmp. Почему не использовать /var/tmp? Да, если /home и /var — на различных ФС, имеет смысл скорее, e. g., /home/shared. -- FSF associate member #7257 http://sf-day.org/ -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/868vdg8quv@gray.siamics.net
Re: Общая папка для нескольких пользователей
> Artem Chuprina writes: […] > В общем случае задача сделать "всё доступно всем" на юниксовой > файловой системе в моей практике проще всего решалась демоном, > который типа раз в минуту просматривал, что в подведомственных > директориях не ugo+w, и ставил туда +w. (Тупо делать chmod -R плохо > тем, что это трогает ctime даже если фактически не меняет права.) JFTR: # find /where -xdev -not -perm -0666 -exec chmod -- a+rwX {} + […] -- FSF associate member #7257 http://sf-day.org/ -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/86d32s8r7s@gray.siamics.net
Re: Общая папка для нескольких пользователей
On 14.08.2012 11:08, Artem Chuprina wrote: КАС> Пока единственный вариант, который пришёл в голову, КАС> воспользоваться Posix ACL: setfacl -m d:o:rwX<путь к папке> КАС> (т.е. в ACL по-умолчанию задать права: rwx для всех КАС> пользователей). Что-то по-моему acl не могут быть свободнее, чем стандартно установленные permissions, нет? Могут. Я именно так и делаю, когда надо что-то сложнее rwxrwxrwx прав. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/502a0aa7.40...@kuklin.ru
Re: Общая папка для нескольких пользователей
Добрый день. Вот тут рассмотрен вариант настройки прав доступа при помощи inotify http://yakim.org.ua/articles/servers/7-ssh-server.html С уважением, Якимчук Сергей. 14.08.12 07:42, Кубашин Александр Сергеевич написав(ла): Две простых ситуации: 1) Один компьютер с несколькими пользователями, хочется иметь общие файлы: музыка, фотографии и т.д. Каждый из пользователей должен иметь возможность изменять/удалять/добавлять любые файлы в этот каталог. 2) Есть внешний жёсткий диск (или флэшка) который должен свободно переносится между несколькими Linux-компьютерами. Естественно, что пользователи на них могут быть разными, а право удалять/добавлять/изменять файлы должно быть у всех. Файловая система в обоих случаях родная для Linux (пусть будет ext4). Даже если на корневую папку дать права 777, то, по-умолчания, umask=022 (или 002 в лучшем случае) и каждый вновь созданный файл имеет право редактировать только владелец. Менять всем umask не всегда возможно (случай с флэшкой), да и не безопасно в общем случае. Пока единственный вариант, который пришёл в голову, воспользоваться Posix ACL: setfacl -m d:o:rwX <путь к папке> (т.е. в ACL по-умолчанию задать права: rwx для всех пользователей). Среди недостатков: помню времена, когда включение ACL требовало обязательного указания опции монтирования (неудобно для варианта с флэшкой) и высокая сложность для обычного пользователя (данное письмо, в том числе, возникло как попытка ответа на вопрос на одном из форумов). Если есть другие варианты решения проблемы (или критика моего варианта решения), то я с удовольствием их выслушаю. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/502a0a77.5080...@yakim.org.ua
Re: Общая папка для нескольких пользователей
Кубашин Александр Сергеевич -> debian-russian@lists.debian.org @ Tue, 14 Aug 2012 08:42:38 +0400: КАС> Две простых ситуации: КАС> 1) Один компьютер с несколькими пользователями, хочется иметь КАС> общие файлы: музыка, фотографии и т.д. Каждый из пользователей КАС> должен иметь возможность изменять/удалять/добавлять любые файлы в КАС> этот каталог. КАС> 2) Есть внешний жёсткий диск (или флэшка) который должен свободно КАС> переносится между несколькими Linux-компьютерами. Естественно, что КАС> пользователи на них могут быть разными, а право КАС> удалять/добавлять/изменять файлы должно быть у всех. КАС> Файловая система в обоих случаях родная для Linux (пусть будет КАС> ext4). Даже если на корневую папку дать права 777, то, КАС> по-умолчания, umask=022 (или 002 в лучшем случае) и каждый вновь КАС> созданный файл имеет право редактировать только владелец. Менять КАС> всем umask не всегда возможно (случай с флэшкой), да и не КАС> безопасно в общем случае. Безотносительно к вопросу "зачем именно так?", который, да, возникает, umask=2 сделать возможно и вполне безопасно всегда. Если к этому либо опция grpid при монтировании, либо chmod g+s на директорию, то файлы в ней будут создаваться с той группой, к которой принадлежит директория. Впрочем, cp -a, rsync -a etc. радостно положат на группу, если запущены от рута, и на права в любом случае. В общем случае задача сделать "всё доступно всем" на юниксовой файловой системе в моей практике проще всего решалась демоном, который типа раз в минуту просматривал, что в подведомственных директориях не ugo+w, и ставил туда +w. (Тупо делать chmod -R плохо тем, что это трогает ctime даже если фактически не меняет права.) КАС> Пока единственный вариант, который пришёл в голову, КАС> воспользоваться Posix ACL: setfacl -m d:o:rwX <путь к папке> КАС> (т.е. в ACL по-умолчанию задать права: rwx для всех КАС> пользователей). Что-то по-моему acl не могут быть свободнее, чем стандартно установленные permissions, нет? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ehn96gkw@wizzle.ran.pp.ru
Re: Общая папка для нескольких пользователей
Ivan Shmakov writes: >> Кубашин Александр Сергеевич writes: > > > Две простых ситуации: > > > 1) Один компьютер с несколькими пользователями, хочется иметь общие > > файлы: музыка, фотографии и т. д. Каждый из пользователей должен > > иметь возможность изменять/удалять/добавлять любые файлы в этот > > каталог. > > Не вполне понимаю, зачем? Поддерживаю. Я так делал родителям когда-то. Через месяц они поудаляли файлы друг другу. Хорошо еще бэкапы сделал. :) > Обычно, подобную задачу решаю созданием помимо домашних директорий > пользователей (/home/private/users/jrh, 0700) еще и доступных на > чтение «всем» (/home/public/users/jrh, 0755.) Последние также > доступны по HTTP (UserDir /home/public/users в конфигурации Apache.) Зачем делать много "доступных всем" директорий, когда можно использовать одну? mkdir /var/shared chmod a+rwt /var/shared Собственно, по аналогии с /tmp. -- ** * jabber: free...@jabber.mipt.ru * * Registered linux user #546240* ** -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87y5li3rms@ws00.freehck.ru
Re: Общая папка для нескольких пользователей
> Кубашин Александр Сергеевич writes: > Две простых ситуации: > 1) Один компьютер с несколькими пользователями, хочется иметь общие > файлы: музыка, фотографии и т. д. Каждый из пользователей должен > иметь возможность изменять/удалять/добавлять любые файлы в этот > каталог. Не вполне понимаю, зачем? Обычно, подобную задачу решаю созданием помимо домашних директорий пользователей (/home/private/users/jrh, 0700) еще и доступных на чтение «всем» (/home/public/users/jrh, 0755.) Последние также доступны по HTTP (UserDir /home/public/users в конфигурации Apache.) Содержимое отдельных public-директорий каждый пользователь может свободно изменять. В случае общей директории — потребуется несколько бо́льшая координация. (Так, чтобы свежеразмещенный ценный файл не был по-ошибке удален в процессе «плановой чистки» другим пользователем.) Можно объединить директории через aufs, BTW. […] -- FSF associate member #7257 http://sf-day.org/ -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/86boieaurd@gray.siamics.net
Общая папка для нескольких пользователей
Две простых ситуации: 1) Один компьютер с несколькими пользователями, хочется иметь общие файлы: музыка, фотографии и т.д. Каждый из пользователей должен иметь возможность изменять/удалять/добавлять любые файлы в этот каталог. 2) Есть внешний жёсткий диск (или флэшка) который должен свободно переносится между несколькими Linux-компьютерами. Естественно, что пользователи на них могут быть разными, а право удалять/добавлять/изменять файлы должно быть у всех. Файловая система в обоих случаях родная для Linux (пусть будет ext4). Даже если на корневую папку дать права 777, то, по-умолчания, umask=022 (или 002 в лучшем случае) и каждый вновь созданный файл имеет право редактировать только владелец. Менять всем umask не всегда возможно (случай с флэшкой), да и не безопасно в общем случае. Пока единственный вариант, который пришёл в голову, воспользоваться Posix ACL: setfacl -m d:o:rwX <путь к папке> (т.е. в ACL по-умолчанию задать права: rwx для всех пользователей). Среди недостатков: помню времена, когда включение ACL требовало обязательного указания опции монтирования (неудобно для варианта с флэшкой) и высокая сложность для обычного пользователя (данное письмо, в том числе, возникло как попытка ответа на вопрос на одном из форумов). Если есть другие варианты решения проблемы (или критика моего варианта решения), то я с удовольствием их выслушаю. -- С уважением, Кубашин Александр -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/5029d73e.6010...@k-sc.ru