我在本地家庭网络的 Debian 服务器上运行 Samba。 Samba 版本是4.9.5-Debian
.我的 Mac Mini(带有 Big Sur)连接到该服务器。一个共享用于时间机器备份,另一个共享用于存储数据。时间机器备份似乎有效(至少时间机器没有抱怨,我成功地从备份中恢复了单个文件)。
但是,我注意到数据共享的权限无法正常工作。如果我尝试更改文件或文件夹的权限(例如使用 )chmod 640 testfile.txt
,则共享上的权限不会受到影响。权限始终保持不变。
我已经根据在互联网上找到的信息以及阅读man smb.conf
和man vfs_fruit
.
我将这些参数添加到 smb.conf 文件的全局部分:
server min protocol = SMB3_00
ea support = yes
vfs objects = acl_xattr catia fruit streams_xattr
fruit:aapl = yes
fruit:metadata = netatalk
fruit:resource = file
fruit:encoding = native
fruit:copyfile = yes
fruit:model = MacSamba
fruit:veto_appledouble = no
fruit:posix_rename = yes
fruit:zero_file_id = yes
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
fruit:nfs_aces = no
数据共享配置如下:
[DataShare]
comment = Samba data share
path = /srv/samba/datashare
browseable = yes
read only = no
guest ok = no
valid users = myuser
create mask = 0777
directory mask = 0777
我是 Samba 新手,对所有不同的参数有点困惑。现在我不知道为什么我的 Mac 客户端无法为共享上的文件设置文件权限。
对于简单地存储文件来说,这甚至可能没问题,但它会导致应用程序出现问题。举个例子,我想将我的大型图片库放在共享上。我将其复制到那里并想用苹果的照片应用程序打开它 - 但照片无法做到这一点,说权限已损坏,并且也无法修复权限。
我真的很感谢一些帮助,因为我很想让这个设置正常工作。
答案1
我迟到了,但我不能成为那个发现了一个有效的解决方案(至少对我来说)而不把它放在那里的人,因为我一直是那个对“nvm 修复了它”尖叫的人没有详细说明的评论;)
您的第一步是检查您的fstab
.你需要确保你有
已启用
xattrs
对您共享的文件系统的支持,请检查您的fstab
.当您在那里时,也在挂载选项中启用了 ACL。像这样,根据您的环境进行调整:
/dev/disk/by-label/nas1 /mnt/nas1 ext4 defaults,user_xattr,acl,commit=60 0 2
我刚刚花了几个小时对出现权限错误的原因进行故障排除。我只是忘记了第2点。
我的其余设置已经很好,比我想象的要少得多:
将其放入
smb.conf
[global] 部分:[global] vfs objects = fruit catia streams_xattr acl_xattr map acl inherit = yes fruit:aapl = yes fruit:model = MacSamba fruit:metadata = stream readdir_attr:aapl_rsize = yes readdir_attr:aapl_finder_info = yes readdir_attr:aapl_max_access = yes
如果您想知道这些设置的作用,我谦虚地建议您
$> man smb.conf
(不是对OP的挖苦,我将他们帖子中的文本与之前另一个更......无知的帖子混淆了。)
文件的其余部分可以保持默认。如果您是 Windows 3.11 老用户并且关心在我的 LAN 上同步工作组名称,请更改您的工作组名称。
- 在您想要支持标签的共享中,这些选项对我来说效果很好:
[Pr0n] comment = Pr0n path = /mnt/nas1/Pr0n browseable = no guest ok = no read only = no writable = yes valid users = [ -- snip -- ] force directory mode = 0775 force create mode = 0664 # Fruit config fruit:posix_rename = yes fruit:veto_appledouble = yes fruit:nfs_aces = yes fruit:wipe_intentionally_left_blank_rfork = no fruit:delete_empty_adfiles = no
该目录由我的个人用户和组拥有,我不需要费力地使用 net grantSeDiskOperatorStatus
或任何其他内容。
重新启动一次后(也许也可以,对吧)一切都会自动好起来,并且标签都被允许并粘贴。
答案2
您的 PAM(可插入身份验证模块)设置可能会否决您的目录掩码并创建掩码设置。检查行:在 smb.conf 中遵守 pam 限制 = no。应该可以解决问题。