我有一个正在运行的内部开发服务器Debian Testing
。有时,我发现我想做一些“在机上”开发。我可以(已经)设置一个 VNC 服务器并以此方式进行开发,但有时我更愿意使用OSX
笔记本电脑上可用的工具。所以我想分享我的home
文件夹。
我找到了很多 Samba 和 NFS 教程,但似乎没有一个能完全涵盖我想要做的事情,以及我想要做的事情。第一个问题是,我应该使用 NFS 还是 SMB 是现在所有酷孩子都在做的事情?我安装了两者:
sudo apt-get install samba
sudo apt-get install nfs-server
我曾天真地尝试过让它们工作,包括
# cat /etc/exports
/home/travisg *(rw)
和
# cat /etc/samba/smb.conf
[global]
workgroup = smb
security = share
share modes = yes
[homes]
comment = Home Directories
browsable = yes
read only = no
create mode = 0750
随后根据需要选择sudo service nfs-kernel-server restart
或sudo service samba restart
。但似乎都无法从 OSX 安装(除非我在其中输入了错误的内容?)
我很想知道我应该使用其中的哪一个,以及我需要在相应的配置文件中打开什么的简单示例以及原因是什么?我是否需要安装/配置其他东西才能使其中任何一个正常工作。真正寻找的是“可能工作的最简单的东西”。
更新:
我通过修改导出来使 NFS 解决方案正常工作:
/home/travisg *(rw,insecure,no_subtree_check)
通过观察,/var/log/syslog
我发现有低于 1024 端口的访问请求正在传入。但似乎rw
除非我愿意修改我的主目录,否则这永远不会是真正的访问,chmod -R 777 *
因为 Linux UID 是 1000,但 OSX 的 UID 是 2139098975。我没有看到任何机制可以从 OSX 设置连接,以便它以 1000 而不是 osx uid 进行访问。我认为没有办法,对吗?
答案1
您的 Samba 配置文件缺少一行,用于通知外部用户在哪里可以找到共享目录:类似于
path = /home/travisg/Directory/to/be/shared
在[家]节中。此外,
security = share
现已弃用,您应该删除它。您应该改用
security = user
map to guest = Bad User
这与当前的等价。
但要开始测试,我会删除这两个语句,首先尝试再次在 [homes] 节中添加以下行
guest ok = yes