我有一台运行 samba 的 debian 11 服务器,并托管了挂载在 fstab 中的驱动器共享。我已将“acl”添加到 fstab,并在 samba 配置中安装了 acl。
需要明确的是:我的最终目标是特定网络驱动器的 Samba 共享,每当用户登录时,该共享都会通过组策略自动挂载。在 Linux 端,有服务器在 Samba 用户下运行,并将信息输出到此驱动器。在 Windows 端,用户能够根据组访问具有权限的各种文件夹。“fileshare-admin”组拥有所有权限。目前没有设置其他权限,因为我在测试时遇到了这个问题。从权限中删除文件共享管理员组会产生相同的结果。它仍然可以供所有人访问,即使拒绝权限,任何人都仍然可以访问任何文件夹和文件,这就是我想要修复的问题。
[FR-Fileshare]
path = /mnt/cephfs/FR-Fileshare
read only = no
map acl inherit = Yes
store dos attributes = Yes
force user = samba
force group = samba
inherit permissions = yes
acl_xattr:ignore system acl = yes
inherit owner = yes
inherit acls = yes
nt acl support = yes
权限设置正确,在 Windows 和 Linux 中均显示正确(输出如下),但在“共享”选项卡中,似乎每个人都被授予完全访问权限。当不在高级模式下查看时,这会显示为“特殊权限”灰色复选标记。它似乎是继承的,虽然继承是关闭的......这就是为什么我相信这个问题可能源于 samba 服务器端而不是 Windows。
我应该查看哪些设置或特定配置?如果您需要更多配置文件,请告诉我。这个问题是一个重大的安全漏洞,我似乎无法独自解决。任何指示或建议都将非常有用。
这里 icacls 获取名为“test”的文件夹和其中名为“hi.txt”的文件的 getfacl 输出,两者都受到“每个人都有完全访问权限”问题的影响。
PS Microsoft.PowerShell.Core\FileSystem::\\CEPH-GATEWAY\FR-Fileshare\test> icacls .
. FEATHERSFIRST\Fileserver-Admins:(OI)(CI)(F)
FEATHERSFIRST\lanealucy:(OI)(CI)(F)
S-1-22-1-1000:(F)
S-1-22-2-1000:(F)
ERSTELLER-BESITZER:(OI)(CI)(IO)(F)
ERSTELLERGRUPPE:(OI)(CI)(IO)(RX)
1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.
在同一文件夹的linux samba服务器上使用getfacl:
root@ceph-gateway:/mnt/cephfs/FR-Fileshare/test# getfacl .
# file: .
# owner: samba
# group: samba
user::rwx
user:samba:rwx
user:FEATHERSFIRST\\lanealucy:rwx
group::rwx
group:samba:rwx
group:FEATHERSFIRST\\fileserver-admins:rwx
mask::rwx
other::---
default:user::rwx
default:user:samba:rwx
default:user:FEATHERSFIRST\\lanealucy:rwx
default:group::r-x
default:group:samba:r-x
default:group:FEATHERSFIRST\\fileserver-admins:rwx
default:mask::rwx
default:other::---
和文件:
PS Microsoft.PowerShell.Core\FileSystem::\\CEPH-GATEWAY\FR-Fileshare\test> icacls hi.txt
hi.txt FEATHERSFIRST\Fileserver-Admins:(I)(F)
FEATHERSFIRST\lanealucy:(I)(F)
S-1-22-2-1000:(I)(RX)
1 Dateien erfolgreich verarbeitet, bei 0 Dateien ist ein Verarbeitungsfehler aufgetreten.
使用匹配的 getfacl:
root@ceph-gateway:/mnt/cephfs/FR-Fileshare/test# getfacl hi.txt
# file: hi.txt
# owner: samba
# group: samba
user::rwx
user:samba:rwx
user:FEATHERSFIRST\\lanealucy:rwx
group::r-x
group:samba:r-x
group:FEATHERSFIRST\\fileserver-admins:rwx
mask::rwx
other::---
更新:我使用了 testparm,它说“acl 兼容性 = auto”是不正确的。但我查看了所有地方,它的拼写都是正确的,而且在正确的位置。我真的很困惑。fstab 在驱动器指令上有 acl,并且 fs 支持 acl。我确保使用 apt install acl 安装了 acl...getfacl 可以正常工作,所以...它应该可以工作。samba 最近是否将此设置更改为其他设置?
更新:这是每个人都拥有完全控制权的屏幕的图像 getfacl 似乎没有看到它,正如您在此处看到的,问题出在“共享”屏幕中,所以我不太确定该怎么办。无论我从哪里编辑它,所有选项都是灰色的