我想使用 samba 来快速轻松地共享文件。我设置了一个 smbuser,禁止使用
chsh -s /bin/false smbuser
我将 smbuser 的密码告诉人们,并且我的主目录和另一个用户名我都妥善保管。
假设我有这个文件夹 /home/steve/pictures/vacation/... 我想分享。
通过快速 chown steve:smbuser vacation 我可以设置以下权限
drwxr----- 35 steve smbuser 4096 Mar 28 18:58 vacation
然后我在 smb.conf 上设置此服务
[shared]
comment = Used to share files quickly. Just change path down here
path = /home/steve/pictures/vacation
browsable = yes
read only = yes
create mask = 0700
directory mask = 0700
valid user = smbuser
通过这种配置,我无法连接到该共享。
如果我
chmod -R 777 /home/steve
我可以连接,但这不是办法。
我该如何更好地配置它?
答案1
Samba 文件服务器实际上只是遵循 Unix 文件权限;如果您以 SMB 身份登录smbuser
,您也会获得 Unix 帐户的权限smbuser
。
当然,你的chmod -R 0777
做法完全是小题大做,因为你可能不希望每个人都对你的主目录拥有完全的写权限,但答案仍然是你需要执行一些有点儿chmod
。
在所有父目录中,您需要授予
+x
允许其他用户遍历它们(即访问其中的对象):chmod a+x /home/steve chmod a+x /home/steve/pictures
在共享的目录上,您需要授予
+rx
以便用户可以列出文件并实际访问它们(以及+r
文件本身,希望原因很明显):chmod -R g+rX /home/steve/pictures/vacation
(大写
+X
表示“仅授予目录 +x,以及已经为某人授予 +x 的文件”。)