/media/<username>/<somemount>/<somedir>
有权限(0775/drwxrwxr-x) Uid: ( 1001/ sambausr) Gid: ( 1001/ sambausr)
[for-widelink-test]
path = /media/<username>/<somemount>/<somedir>
read only = yes
browsable = yes
guest ok = no
valid users = sambausr
follow symlinks = yes
wide links = yes
unix extensions = no
如果我尝试在 Windows10 中访问,它会说Windows cannot access \\ip\for-widelink-test\ You don not have permission to access ...
但 apparmor 设置似乎也正确:
"/media/<username>/<somemount>/<somedir>" rk,
"/media/<username>/<somemount>/<somedir>/**" rwkl,
如果路径指向本地磁盘中的某个位置,它就可以正常工作。我还应该做什么来解决这个问题?
更新
我想我找到原因了。为了能够访问 ,所有父路径至少需要r-x
指向 sambausr。 不是/media/<usr>
。要允许这一点,需要使用 ACL 将 sambausrr-x
授予/media/<usr>
答案1
我主张另一种选择。与其/media/<username>
在 Linux 中设置权限作为安全措施,不如修改 samba 共享定义:
[for-widelink-test]
path = /media/<username>/<somemount>/<somedir>
read only = yes
browsable = yes
guest ok = no
valid users = sambausr
force user = <username>
follow symlinks = yes
wide links = yes
unix extensions = no
“有效用户”将限制谁可以访问共享,但一旦被接受,该用户将被转换为<username>
“强制用户” - 至少对于该共享而言。