Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как создать папку общую для всех пользова  (Прочитано 11540 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Санчо42

  • Автор темы
  • Активист
  • *
  • Сообщений: 424
    • Просмотр профиля
Нет, где нужно создавать папку, в которой будет хлам доступный всем пользователям?
И еще параллельный вопрос. В домашнем файле .profile параметр umask закомментирован. Если я в домашнем файле .profile разкомментирую и укажу один umask, а глобальный umask будет другим, то каким система будет руководствоваться при создании папок?
Asus K55DR  AMD A-10 (HD7660+HD7470) 6Gb/1Tb

Оффлайн FTC

  • Участник
  • *
  • Сообщений: 193
  • Сделай сам
    • Просмотр профиля
А где нужно создавать эту папку? Если в папке /home то ведь к ней доступа у пользователей по прежнему нету.
У меня все общие документы, музыка и др. на отдельном винте, папки монтируются в соответствующие папки каждого пользователя при загрузке системы.
Если попроще, то можно создать, скажем, папку "~/Общие документы" у твоего пользователя, и раскидать симлинки по всем остальным, в том числе и гостю. Но не забудь наделить ее группой users и добавить SGIT
Единственный минус такого метода -- когда файл переносится в общую папку путем "вырезать - вставить", например, с флэшки, то он наследует права файлов на флэшке, то есть 755
95/98/ME -> 2000 -> XP -> 7
OS X Snow Leopard
9.04 -> 9.10 -> 10.04 -> 12.04 -> 16.04

Оффлайн Санчо42

  • Автор темы
  • Активист
  • *
  • Сообщений: 424
    • Просмотр профиля
Цитировать
папки монтируются в соответствующие папки каждого пользователя при загрузке системы.
Это как?
Цитировать
и добавить SGIT

Это что?
Я очень мало пока в линухе шарю

Пользователь гость создается при входе в гостевой сеанс и удаляется при выходе из него, поэтому загнать его в какую либо группу не вариант
« Последнее редактирование: 13 Июня 2011, 23:59:29 от Вычислятор »
Asus K55DR  AMD A-10 (HD7660+HD7470) 6Gb/1Tb

Оффлайн FTC

  • Участник
  • *
  • Сообщений: 193
  • Сделай сам
    • Просмотр профиля
Если я в домашнем файле .profile разкомментирую и укажу один umask, а глобальный umask будет другим, то каким система будет руководствоваться при создании папок?
В первую очередь система читает umask пользователя, затем глобальный umask, если у пользователя таковой не указан
Кстати, root, по-моему, использует глобальный umask, но у него тоже есть свой .profile
95/98/ME -> 2000 -> XP -> 7
OS X Snow Leopard
9.04 -> 9.10 -> 10.04 -> 12.04 -> 16.04

Оффлайн Санчо42

  • Автор темы
  • Активист
  • *
  • Сообщений: 424
    • Просмотр профиля
Завтра продолжу совокупляться с папками системы =(
FullTotalComplete не покидай тему =)
Asus K55DR  AMD A-10 (HD7660+HD7470) 6Gb/1Tb

Оффлайн FTC

  • Участник
  • *
  • Сообщений: 193
  • Сделай сам
    • Просмотр профиля
Значит так...
1. Права на файлы в Linux, читать здесь http://citkit.ru/articles/521/
2. Что такое umask, читать здесь http://ru.wikipedia.org/wiki/Umask
3. Что такое mount, читать здесь http://ru.wikipedia.org/wiki/Mount. По сути достаточно прочитать только использование и параметры монтирования.
4. Что такое fstab, читать здесь http://ru.wikipedia.org/wiki/Fstab. Есть более подробная статья, но она на английском http://en.wikipedia.org/wiki/Fstab.

Как делал я...

1. Создал группу 'users', добавил в нее всех пользователей.

2. Добавил в ~/profile каждого пользователя строку umask 002
3. У меня на отдельном винте структура папок, аналогичная /home/. Там в корне каталоги пользователей, в которых папки типа Музыка, Видео и т.д.
Папки Загрузки и Рабочий стол я не создавал, оставил те, что были на основном винте в ~/home.
Вот среди пользовательских каталогов (т.е. в корне винта) я разместил каталог 'users', назначил ему группу 'users'
(Нажмите, чтобы показать/скрыть)
В этой папке я планировал разместить общие документы.

4. Назначил в /etc/fstab, куда и с какими параметрами будет монтироваться винт при загрузке системы.
Вот мой fstab на тот момент
(Нажмите, чтобы показать/скрыть)

Тот самый винт выделен жирным, монтируется в /mnt/hom2.
Параметр grpid означает, что вновь создаваемые файлы и папки принимают группу родительского каталога.

5. Примонтировал
sudo mount -aи начал создавать "общие" каталоги по адресу /mnt/hom2
У меня это "Общие документы" и "soft"

6. Ну и наконец, я добавил в /etc/fstab точки монтирования созданных каталогов, так, чтобы они появлялись у всех пользователей в домашних каталогах при загрузке
Вот мой fstab сейчас

(Нажмите, чтобы показать/скрыть)

Параметр bind монтирует дерево каталогов, а не файловую систему целиком.
Вот и всё. Теперь у всех пользователей есть папка общих документов и не только.

ЗЫ. Если нет отдельного винта, но папка /home/ находится на отдельном разделе, то все это можно проделать и с разделом.
ЗЗЫ. Если нет отдельного винта и папка /home/ лежит на одном разделе с системой, то не рекомендую устанавливать параметр grpid на системный раздел. Вместо этого нужно добавить к конкретной общей папке (например, /home/users/Общие\ документы) идентификатор группы SGIT. Это легко сделать через гуй
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 14 Июня 2011, 03:23:26 от FullTotalComplete »
95/98/ME -> 2000 -> XP -> 7
OS X Snow Leopard
9.04 -> 9.10 -> 10.04 -> 12.04 -> 16.04

Оффлайн rayanAyar

  • Старожил
  • *
  • Сообщений: 1027
  • Да пребудет с вами совпавшая контрольная сумма
    • Просмотр профиля
Хватит уже советовать "umask с сотоварищами" - это не работает. :)

У меня тоже была необходимость "локальную создать папку для общего пользования".
Пробовал "umask + SGID" - бесполезно. Куча софта игнорируют эти аттрибуты.
При создании новых папок/файлов эти аттрибуты ещё помогают - новые созданные папки/файлы наследуют группу и SGID, а вот папки/файлы перемещенные из другого местоположения не наследуют SGID! И в результате файлы созданные внутри этих папок без SGID опять не доступны всем на запись. Самое плохое, что аттрибут SGID игнорурирует файл-менеджер GNOM'а - Nautilus.

Ещё один советуемый в данном случае вариант - acl, расширение файловой системы для комплексного создания прав. Он также бесполезен. При его использовании аттрибуты так же не всегда наследуются.

Единственный рабочий вариант, который удалось мне найти - bindfs. Немного "извращенно" - для каждой папки на которую нужно дать права добавиться по отдельной точке монитрования. Зато работает стопроцентно.

Оффлайн FTC

  • Участник
  • *
  • Сообщений: 193
  • Сделай сам
    • Просмотр профиля
Может про SGIT это и верно, что не всегда работает (хотя я в этом не уверен)
Но что касательно монтирования диска с параметром grpid -- это работает точно.
Другое дело, если флэшка примонтирована со своей маской, и файлы там все user:user 755, то даже при копировании их в общую папку права не наследуются по принципу 777 - umask 002 = 775, а лишь ограничиваются umask 002, что не противоречит уже имеющимся 755. А вот группа то как раз наследуется всегда, только при 755 она в ауте.
95/98/ME -> 2000 -> XP -> 7
OS X Snow Leopard
9.04 -> 9.10 -> 10.04 -> 12.04 -> 16.04

izamoo

  • Гость
А может создать папку с атрибутом t для остальных пользователей? Смогут пользоватся, но удалять смогут только свои файлы. Это вроде называетя "Разделяемый каталог"

Пользователь решил продолжить мысль 14 Июня 2011, 11:37:45:
парни всё работает, только что проверял. В общей папке читать может кто угодно, но удалить файл только хозяин файла.
« Последнее редактирование: 14 Июня 2011, 11:37:45 от izamoo »

 

Страница сгенерирована за 0.026 секунд. Запросов: 20.