關於 UNC 檔案群組的說明

我已將 MCEBuddy 設定為使用 UNC 路徑從網路儲存上的 Emby 轉換電視錄影,轉換過程運作良好。然而,完成後群組存取設定不完整。原始檔案對使用者「admin」以及群組「wheel」和「admin」(沒錯,「admin」同時是使用者也是群組)擁有完整存取權限。轉換後的檔案只對使用者「admin」和群組「wheel」擁有完整存取權限,群組「admin」的存取權限遺失了。請問該如何自動在處理後加上這些權限?

MCEBuddy 会告知 Windows 从源文件继承目标文件的权限。如果目标文件夹没有与源文件相同的继承权限,Windows 可能无法将其继承过来。

就我的情况而言,目标文件夹与源文件夹相同,且该文件夹与文件拥有相同的权限,即同时包含“wheel”和“admin”组,并赋予完全访问权限。然而,转换后的文件却缺失了“admin”组的权限。听起来这似乎偏离了应有的行为,但也可能是我遗漏了什么。

您需要的是上層目錄來套用繼承的群組權限,而不只是擁有者權限。

在 Unix/Linux 作業系統中(這聽起來像是 BSD,因為有「wheel」群組),您需要讓上層目錄擁有 setgid 權限位元,而不只是 setuid 位元。請查閱 chmod 指令的說明以及 setgid 權限的相關文件。

该共享是在使用Samba服务的FreeNAS服务器上设置的。我在FreeNAS中为数据集设置了ACL权限,将“admin”组的权限设为“完全控制”,标志设为“继承”。据我了解,一旦设置了ACL权限,就不应该再使用chmod。

编辑:.ts录制文件拥有全部权限,这不正说明在Windows端组继承工作正常吗?只有当MCEBuddy处理完文件并将其复制回源目录后,权限才会出错。我并不是说我没有做错什么,但我确实没弄明白。我也对在命令行上操作过于宽松持谨慎态度,因为我担心会把服务器搞坏。

啊,可能是 MCEBuddy 從暫存處理目錄執行「移動」或「重新命名」操作,因此檔案在「移動」發生時會繼承該目錄的預設值。

這與 MCEBuddy 執行「複製」的情況不同,後者會需要雙倍空間來容納可能非常大的檔案。

也許可以檢查一下 MCEBuddy 處理暫存檔案的暫存資料夾權限。

你提出的方案很有道理。然而,我无法为 FreeNAS 服务器上的临时处理文件夹添加“admin”组的权限,因为该服务器未被识别为有效的 Windows 网络计算机。换句话说,它在 Windows 资源管理器的“网络”中不会作为计算机显示。当我尝试为该组添加安全权限时,在文件属性 → 安全 → 添加窗格的“位置”中也找不到该服务器。

因此,在將 Windows Server 換成 FreeNAS 之後,我不再使用 Active Directory,而這似乎就是我無法再為網路使用者新增權限的原因。對於工作群組,做法似乎是在本機上重建群組與使用者。我在這裡失敗了,因為 Windows 不允許我建立一個與使用者「admin」同名的群組「admin」。也許這就是問題的根源。如果真是這樣,我就撞上了 Windows 作業系統的限制,可能只能接受錯誤的權限設定了。

你在移除 AD 之后,有没有成功让 FreeNAS 作为服务器出现在你的网络里?

Windows 客户端上可能还残留着各种 AD 组策略,你现在无法访问(因为 AD 没了,也没有 PDC),尽管它们已经回退到 SMBv2。

另外,我自己也跑着一个类似的、无 AD 的 Samba/NAS 网络,Windows 家庭版客户端通过华硕路由器连接,但路由器不支持 SMBv2,所以我得在每个客户端上手动开启 SMBv1 才能“看到”路由器。会不会是类似的情况?

现在你的 NAS 如果想当成 AD 的即插即用替代品,就得自己跑一个 PDC,但我觉得 NAS 无法完全取代 AD,因为 AD 除了文件共享权限外,还管着客户端上很多东西。

你可以把 Windows Server 上的 GPedit 和 ACL 工具(只要可执行文件)拷过来,看看有多少 AD 残留配置,说不定它们正在捣乱。当年 HomeGroups(Windows 家庭版用的“轻量 AD”)被砍掉、回退到工作组模式时,我就遇到过一堆权限和功能消失,但 ACL 和注册表项还在,结果各种冲突。

因为在微软的世界里,根本不存在“替代 AD”或“AD 替代品”这一说,自然也不会写代码帮你平滑迁移到非微软产品,更不会在你把微软服务器踢出网络后帮你清理残局——这对他们来说根本不是合法用例。

FreeNAS 服务器从未加入过 AD。我用一台 FreeNAS 服务器替换了 Windows Server 2012 Essentials,方法是先把客户端从域中移除,再把 FreeNAS 服务器接入网络。因此,我不再使用域和 AD,而是简单地在不同机器(包括 FreeNAS 服务器)上保持相同的用户名和密码,连接服务器时没有任何问题。这一切在 SMB v2 下似乎都运行良好。

问题似乎在于:尽管用户名/密码一致,但它们都是本地定义的,我无法在本地机器上为远程用户添加权限。看起来这正是域的优势所在,所以这可能是我必须接受的一个限制。

除了这里提到的限制,我的部署没有遇到其他问题。我曾以为可能有变通办法,但也许确实没有。

啊,我想我明白了。你试过在权限前面加上远程机器名(类似域)吗?例如,要把 Host1 上的 User1 添加到 Host2,你就把共享权限授予 “Host1\User1”。在 NAS 上可能需要转义,因为反斜杠很可能是特殊字符,写成 “Host1\\\User1”。