Где я должен разместить групповые общие файлы в системе Linux?

14

Я перенес много маленьких пользовательских скриптов и данных из системы Linux в другую.

В старой системе у нас был общий пользователь, который владел большинством файлов, и они были расположены в этих пользователях /home, но в новой мы бы предпочли войти в систему с нашими собственными учетными записями и использовать групповые разрешения для совместной работы, но так как не будет один владелец файлов, нет /home-dir.

Так, где я должен поместить те общие файлы? Должен ли я создать пользователя без логина, который владеет файлами? Или есть подходящее /grouphomeместо?

(Я не хочу распространять их по отдельным пользователям /home: с.)

Даниил
источник
Что это за файлы?
Дэн Карли
Большинство из них представляют собой сценарии импорта с различными видами связанных данных, которые должны быть отфильтрованы и импортированы в базы данных.
Даниэль
Мне нравится / grouphome. Пользователь no-login-user, которому принадлежит идея с файлами, тоже хорош.
pjc50

Ответы:

15

Я почти наверняка предложил бы использовать /usr/local.

Общедоступные пользовательские скрипты могут быть размещены в /usr/local/bin. Небольшие объемы связанных данных также могут войти bin. Или вы можете разделить данные на /usr/local/varили /usr/local/share.

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

Дэн Карли
источник
3
(+1) Для дальнейшего ознакомления с тем, что поместить куда: pathname.com/fhs/pub/fhs-2.3.html
Кайл Брандт,
Спасибо вам обоим. /usr/localбудь это. На самом деле это был один из моих первых вариантов, но описание цели из /usr(только для чтения) в предлагаемой статье превратило меня от этой идеи. Думаю, мне следовало прочитать /usr/local.
Даниэль
7

Это именно то, для чего предназначены права группы. Вот как я делаю это в Ubuntu:

sudo mkdir /home/shared
sudo addgroup shared
sudo chown :shared /home/shared
sudo chmod 770 /home/shared
sudo vim /etc/group

Добавьте список пользователей, которым требуется доступ к общему каталогу, в общую группу. Например:

shared:x:1002:norman,nextuser,and,so-on

Конечно, вы можете использовать любое имя, кроме «shared», и оно не обязательно должно быть в каталоге / home. Приятно то, что вам не нужно делать ничего особенного с учетными записями пользователей, и вы можете легко добавлять или удалять пользователей из группы.

simplr
источник
Спасибо за отрицательное голосование. Но я хотел бы знать, что я написал, что это неправильно.
проще
также установите бит закрепления группы, чтобы группа была установлена ​​для создаваемых новых файлов. chmod g+s /home/shared
jris198944
1
@ jris198944 sдля битов SUID и GUID, tдля битов слипания . Дважды проверьте перед публикацией, пожалуйста ;-) См .: unix.stackexchange.com/a/79401/136321 .
лист
1

Краткий ответ: Где угодно :)

Мне нравится использовать что-то вроде / projects, / shared или / common. / home / разделенные работы тоже.

Рой
источник
Благодарю. Коротко и красиво, но иногда проще, если вам не нужно принимать решение ... Будет ли FHS-совместимым помещать мой собственный каталог прямо под /? Когда (если вообще) это имеет значение? Я не достаточно опытен, чтобы понять значение моего выбора.
Даниэль
Это действительно просто соглашения. Другие программы, которые ищут вещи, выглядят в этих предопределенных местах. Каталоги bin уже будут в вашем $ PATH, поэтому вам не нужно будет указывать полный путь для запуска скрипта. Другие администраторы могут ожидать, что они будут там. Это, вероятно, не имеет большого значения в вашем случае, но хорошие привычки хороши :-)
Кайл Брандт,
Существует ряд применимых соглашений для сред UNIX. FHS обеспечивает хороший базовый уровень, но это довольно распространенное отклонение от этого стандарта. Например, Оптимальная гибкая архитектура для серверов баз данных Oracle использует / u * (/ u01, / u02) для локальных пользовательских данных, в то время как Ubuntu среди других использует / media для точек монтирования съемных носителей. Пока у вас есть соглашение, с которым вы согласны внутри вашей операционной среды, проблем не должно быть.
Рой
0

Я использую /shares; это также местоположение, которое использует qnap.

У /sharesменя есть символические ссылки на место назначения в папке с именем /shares/.mnt/подключенных дисков с данными.

Это сделано для предотвращения длительного времени ожидания при перемещении файлов между общими ресурсами при использовании жестких ссылок, /sharesкоторые необходимы, когда диски данных монтируются только в / mnt.

/shares/.mnt не поделился, кстати.

Йерун
источник