如果我有照片、mp3、书籍和其他杂项,希望所有用户都能从公共目录访问它们,那么我应该把这个目录放在 Linux 文件系统的哪里?在 /usr/share 中,还是就在 /usr 中,或者创建一个新的顶级目录?
答案1
我通常把它放进去/home/media
,我创建一个media
用 setgid 位拥有它的 unix 组。
以 root 身份或使用 sudo:
groupadd media
mkdir -p /home/media
chown -R root.media /home/media
chmod g+s /home/media
然后我将每个需要访问这些数据的用户放入media
组中。
您还可以使用 ACL 来管理每个用户对目录的权限。
您也可以使用/srv/media
,但我喜欢 home 来存放共享文档。/usr
除非您谈论的是静态文件,否则应避免使用 in。
答案2
我使用/av
- 它很简洁,所以很容易输入。
FHS 合规性不是问题。FHS 是您的发行版和应用程序要遵循的标准。发行版或应用程序应该绝不创建一个顶级目录,但是作为用户和系统管理员,您可以随意使用文件系统命名空间。
将其放入/home
不是一个好主意,因为该目录是用于主目录的。您的共享媒体目录不是主目录。如果您使用/home/media
并稍后需要创建一个名为“media”的用户,请考虑这一点。
类似地,避免使用由您的发行版管理的目录。/usr/share/media
这是一个坏主意,因为您的发行版中的包很可能会使用该路径。
/usr/local
,/opt
并且/srv
是您可以控制底层命名空间的定义位置,但/opt
通常用于应用程序目录和/srv
主机正在提供的数据。/usr/local/share
可能合适,但这条路对我来说太长了。
最重要的是,请记住这是您的文件系统,因此创建新的顶级目录没有错。
答案3
<mode=pedant>
根据文件系统层次标准,/usr
代表“可共享、只读数据”;/usr/share
适用于“只读架构独立数据文件。...例如,具有 i386、Alpha 和 PPC 平台的站点可能维护一个集中安装的 /usr/share 目录”
所以是的,子目录/usr/share
似乎是一个合适的选择。
</mode>
<mode=实用主义者>
不那么迂腐地说,/home(raphink 建议)似乎是个不错的选择。你可能将 /home 放在一个单独的分区上,这样你可以轻松地删除操作系统的其余部分而不触及用户数据(例如,在进行升级或重新安装时),也便于备份(因为你想要备份的所有内容都存储在 /home 下),并且出于空间管理的原因(在大多数家庭电脑上,/home 所在的分区最终会首先耗尽空间)。
</模式>