![如何以数学方式更改所有文件和文件夹的 Samba idmap 以保留 ACL 和权限?](https://linux22.com/image/766480/%E5%A6%82%E4%BD%95%E4%BB%A5%E6%95%B0%E5%AD%A6%E6%96%B9%E5%BC%8F%E6%9B%B4%E6%94%B9%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E5%92%8C%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%20Samba%20idmap%20%E4%BB%A5%E4%BF%9D%E7%95%99%20ACL%20%E5%92%8C%E6%9D%83%E9%99%90%EF%BC%9F.png)
我有一个旧的 FreeNAS 9.2 系统,其中有大量通过 Active Directory 服务进行身份验证的 Windows 共享。在某个时候,默认情况下,TrueNAS 中的 IDMAP 已更改为 Samba/AD 集成,显然是为了修复一个错误。在我拥有的 FreeNAS 版本中,它目前是这样的:
在新安装的 TrueNAS 12 中,情况如下:
我想将系统升级到 TrueNAS 12(并将其移动到更好的硬件),但我也非常希望保留所有 ACL 和权限。有没有办法以数学方式更改 FreeNAS 上共享中所有文件中的所有 RID,以将它们提升到新范围?
谢谢您,祝您有愉快的一天。
答案1
是的,有。我只需从 Samba 团队的一名成员发给我的电子邮件中复制粘贴即可:
哦,是的,如果您使用 winbind 'rid' 后端(如 'idmap config DOMAIN : backend = rid'),则用户或组 RID(以及您在 smb.conf 中设置的低范围)用于计算用户或组 ID。如果 RID 为 1107 且低范围为 10000,则计算结果为:
ID = 1107-BASE_RID + 10000
BASE_RID 默认为 0,因此
ID = 1107 + 10000
哪一个
ID = 11107