我有一个 FreeNAS 盒子,有 40 个左右的 SMB 共享。大部分工作没有问题。除了这个共享之外,有时我无法根据文件夹的名称创建文件夹。
我注意到,如果我在 Windows 中浏览到共享并创建一个“新文件夹”,我只会收到“权限被拒绝”错误(我认为这是因为 explorer 首先创建了一个名为“新文件夹”的文件夹,然后稍后更改了名称)。但如果我从我的 WLS 实例中浏览到目录,并通过 创建名为“test”的文件夹mkdir
,则创建它没有问题。
除非我尝试使用mkidr
.
这似乎是一堆随机文件夹的情况,从 FreeNAS 盒子本身,我可以毫无问题地创建这些文件夹。这些文件夹也肯定事先不存在,但如果我使用 FreeNAS 创建,我可以毫无问题地从安装这些共享的位置删除它们。但随后无法再次创建它们。
这听起来像是我只需重新启动盒子的问题之一,但大约有大约 100 人正在使用它,所以我试图以尽可能少的停机时间来完成此操作。
编辑
这种情况仍在发生,我不知道发生了什么。一些测试用例/示例在一起没有意义
- 在我的文档中创建一个名为“新文件夹”的新文件夹并将其复制到我的共享会导致权限定义。
- 在我的文档中创建一个名为“New Folderx”的新文件夹并将其复制过来就可以了。我还可以将此文件夹重命名为除“新文件夹”之外的任何名称
- 在服务器本身上,运行
su -m brian -c 'mkdir "New Folder"'
没有问题,并且在 Windows 中,我可以重命名或删除该文件夹。 - “新文件夹”只是一个不起作用的示例文件夹,其他文件夹名称也随机出现这些完全相同的问题
- 这仅适用于共享的根目录,在其他文件夹内,我没有这些问题
一些健全性检查
$ getfacl .
# file: ../Share
# owner: root
# group: company
group:super:rwxpDdaARWcCos:fd-----:allow
owner@:rwxpDdaARWcCos:fd-----:allow
group@:rwxpDdaARWcCos:fd-----:allow
$ groups brian
brian super
$ sharesec -v 'Share'
REVISION:1
CONTROL:SR|DP
OWNER:
GROUP:
ACL:S-1-5-21-4096896313-3432959665-639265334-1283:ALLOWED/0x0/FULL
ACL:S-1-5-21-4096896313-3432959665-639265334-1287:ALLOWED/0x0/FULL
$ net groupmap list | grep super
super (S-1-5-21-4096896313-3432959665-639265334-1287) -> super
答案1
根本原因似乎与 Brian 必须:
这也是我唯一的共享,其中随机新文件夹无法正确继承共享文件夹的权限,也许每天 1-2 次我必须正确手动设置文件夹权限(由我在此运行的服务创建的文件夹)机器)
当 samba 尝试解析已经创建的文件名时,它在最后一刻失败了default:
分支 (!resolved_name) check_reduced_name 函数(您可以进一步关注代码)。解决方案与权限继承问题的解决有关,其中服务也存在同样的问题。