我有一台老旧的 Gentoo Linux 笔记本电脑,我准备将它改造成家庭用户的文件服务器(用于查看家庭照片、电影等)。支持的客户端包括 Linux、MacOS 和 Windows。
我想到的是一个非常基本的设置,可能有一个只读共享(用于查看实际上不打算编辑而只用于查看的家庭照片)和一个读写共享以供更通用使用。
鉴于需要支持运行所有 Linux+MacOS+Windows 的客户端,使用哪种文件共享协议最好?据我所知,Samba 似乎是唯一一个在服务器端容易得到 Linux 支持的协议,但它对 MacOS 客户端的效果如何?NFS 似乎是不可能的,主要是因为 Windows 本身不支持它。此外,我愿意牺牲一些文件传输性能以获得易于管理/设置的解决方案(再次强调,这与 NFS 相悖:在 Windows 机器上设置第三方 NFS 客户端太麻烦了,尤其是因为我不会拥有这些 Windows 机器)。
另外,有没有一些关于基本 Samba 使用的优秀指南(使用 Google 最终找到了一本似乎有 200 页的教科书,这有点大材小用)。是的,我承认我在这里很懒,很乐意接受懒惰的回答者,他们只是提供了一些与客户端操作系统无关的 Samba 指南的 URL。
(不,这次我不考虑购买 NAS。当我写这篇文章时,我已经准备好笔记本电脑来完成这项任务。我只需要插入 USB HD,安装并设置文件共享软件,就可以了!)
答案1
可能最简单/最快的方法是在 Linux 机器上设置 openssh-server 和 apache。
你将会拥有:
- 从网络中的每个浏览器获取读取权限
- 通过 ssh 相对容易地进行读/写(Windows 上为 winscp,Linux 上为本机)
答案2
具有基本只读共享的 Samba 应该很容易设置,并且所有三个操作系统都应该支持 SMB。例如:
# Global Parameters
[global]
workgroup = MIDEARTH
security = SHARE
[foo]
path = /data/bar
read only = Yes
guest ok = Yes
答案3
一个普遍接受的协议是 HTTP,它在所有机器上都受支持。因此,您可以使用该协议。您可以基于它制作应用程序。
我个人使用我创建的一个程序来在 Linux 服务器上托管的机器之间共享文件。可能这就是你需要的。你可以看看它这里。