![使用 NAS 作为集体转储,并为上传每个文件的人提供符号链接](https://linux22.com/image/846836/%E4%BD%BF%E7%94%A8%20NAS%20%E4%BD%9C%E4%B8%BA%E9%9B%86%E4%BD%93%E8%BD%AC%E5%82%A8%EF%BC%8C%E5%B9%B6%E4%B8%BA%E4%B8%8A%E4%BC%A0%E6%AF%8F%E4%B8%AA%E6%96%87%E4%BB%B6%E7%9A%84%E4%BA%BA%E6%8F%90%E4%BE%9B%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5.png)
我有一台闲置且几乎不做什么的本地机器,所以我决定将它变成一个 NAS(网络附加存储)机器,其中 40GB 的磁盘用于 Ubuntu(13.10),160GB 的磁盘目前未使用,还有一个 1TB 的驱动器用于存放我最近从 DVD 转换来的电影和电视节目。
我想扩展它的功能来托管家里的所有音乐(由我和我的家人共享),但是我不想只对每个人进行磁盘配额,因为我知道我们的音乐库有重叠。
理想情况下,这就是我想要做的:
[ ] 为每个人提供帐户,并授予他们“/mnt/1TB/Music/_Shared”的 FTP 写权限(我知道如何轻松完成这一步)。
[ ] 设置一个(cron?)作业,以便当有人将文件上传到“/mnt/1TB/Music/_Shared”时,它会在文件夹“/mnt/1TB/Music/{USERNAME}”中为每个用户创建一个符号链接。
当文件上传到共享(_Shared)池时,我如何让 Ubuntu 创建一个指向文件夹的符号链接(使用每个人的用户名,我已经创建了)?
作为参考,我将这台机器作为无头 NAS 运行,因此无法接受 GUI 指令。话虽如此,我确实在机器上安装了 SSH 访问权限、FTP 访问权限(目前由 vsftpd 提供)和 Webmin,这样我就可以更轻松地完成工作。
我还在这台机器上使用 samba 向所有人提供内容(只读)——如果符号链接更容易实现,我也可以同样轻松地允许人们将内容写入 _Shared 音乐的共享。虽然每个人都可以更轻松地将他们的音乐上传到服务器,但我愿意牺牲这一点(只有 ftp 可以上传)以获得所有上传内容的动态符号链接。
我基本上想要上传一个文件。如果不存在,则将其存储在 _Shared 中,并在文件夹中创建一个以上传者名称命名的符号链接。如果文件已经存在,并且文件大小相同,则应该提示(像往常一样,要么覆盖,要么跳过),并且无论用户做出何种选择,仍会创建一个符号链接。
我已经使用 Ubuntu 大约一年了,所以我觉得我对它有了一个相当不错的了解 - 我只是不知道从哪里开始这样的想法,并且尝试搜索类似的东西还没有成功。