Где в файловой системе Linux кто-то должен размещать носители, которые должны быть доступны для всех учетных записей пользователей?
Если у меня есть фотографии, mp3, книги и другие разные материалы, к которым я хочу предоставить доступ всем пользователям из общего каталога, где в файловой системе Linux я должен поместить этот каталог? В /usr/share, или просто в /usr, или вместо этого создать новый каталог верхнего уровня?
3 ответа
Я обычно кладу это в /home/media
Я создаю media
группа unix, которой принадлежит бит setgid.
В качестве пользователя root или с помощью sudo:
groupadd media
mkdir -p /home/media
chown -R root.media /home/media
chmod g+s /home/media
Затем я помещаю каждого пользователя, которому требуется доступ к этим данным, в media
группа.
Вы также можете использовать ACL для управления правами каждого пользователя на каталог.
Вы также можете использовать /srv/media
если вы предпочитаете, но я люблю дома для общих документов. Что-нибудь в /usr
следует избегать этого, если вы не говорите о статических файлах.
Я использую /av
- это красиво и коротко, поэтому его легко набирать.
Соблюдение FHS не является проблемой. FHS является стандартом для вашего дистрибутива и приложений для подражания. Дистрибутив или приложение никогда не должны создавать каталог верхнего уровня, но, как пользователь и системный администратор, пространство имен файловой системы вы можете использовать по своему усмотрению.
Положить его в /home
это плохая идея, так как этот каталог предназначен для домашних каталогов. Ваш общий медиа-каталог не является домашним каталогом. Учтите, что если вы используете /home/media
и позже необходимо создать пользователя с именем "СМИ".
Точно так же избегайте каталогов, которые управляются вашим дистрибутивом. /usr/share/media
это плохая идея, так как пакет в вашем дистрибутиве вполне может использовать этот путь.
/usr/local
, /opt
а также /srv
определены места, где вы можете контролировать пространство имен внизу, но /opt
обычно для каталогов приложений и /srv
для данных, которые обслуживает хост. /usr/local/share
может быть уместно, но это слишком длинный путь для меня.
Прежде всего, помните, что это ваша файловая система, так что нет ничего плохого в создании нового каталога верхнего уровня.
<Режим = педант>
Согласно стандарту иерархии файловой системы, /usr
для "общих, доступных только для чтения данных"; /usr/share
предназначен для "файлов данных, независимых от архитектуры только для чтения. ... например, сайт с платформами i386, Alpha и PPC может поддерживать один каталог /usr/share, который монтируется централизованно"
Так что да, подкаталог /usr/share
кажется подходящим выбором.
Режим>
<Режим = прагматист>
Менее педантично, /home (как предлагает raphink) кажется хорошим выбором. Вероятно, у вас есть / home в своем собственном разделе, так что вы можете легко уничтожить остальную часть ОС, не затрагивая пользовательские данные (например, при обновлении или переустановке), а также для простоты резервного копирования (как и все, что вы хотите сделать для резервного копирования). хранится в / home), и по причинам управления пространством (в большинстве домашних ящиков раздел с / home заканчивается тем, что сначала не хватает места).
Режим>