我正在审查远程 Samba 服务器提供的本地目录的权限。服务器本身是 Linux (Ubuntu 16.04)。本机是Centos 7,运行时getcifsacl
得到数据,例如下面返回。我从未见过这样的 SID,它们不一定与其中的内容相匹配man setcifsacl.
Samba 服务器安全性是 ADS。
REVISION:0x1
CONTROL:0x9004
OWNER:S-1-5-21-107619651-339024737-1120166462-8298
GROUP:S-1-22-2-48
ACL:S-1-5-21-107619651-339024737-1120166462-3274:ALLOWED/OI|CI/FULL
ACL:S-1-5-21-107619651-339024737-1120166462-512:ALLOWED/OI|CI/FULL
ACL:S-1-5-21-107619651-339024737-1120166462-10452:ALLOWED/OI|CI/READ
ACL:S-1-22-1-10403:ALLOWED/OI|CI/FULL
ACL:S-1-22-1-10387:ALLOWED/OI|CI/READ
ACL:S-1-22-1-10369:ALLOWED/OI|CI/READ
ACL:S-1-22-1-10111:ALLOWED/OI|CI/READ
ACL:S-1-5-21-107619651-339024737-1120166462-1480:ALLOWED/OI|CI/READ
ACL:Everyone@WORLD AUTHORITY:ALLOWED/OI|CI/
ACL:S-1-5-21-107619651-339024737-1120166462-8298:ALLOWED/0x0/FULL
ACL:S-1-5-21-107619651-339024737-1120166462-10315:ALLOWED/0x0/READ
ACL:S-1-22-2-48:ALLOWED/0x0/FULL
ACL:S-1-22-1-10298:ALLOWED/0x0/READ
ACL:S-1-5-21-107619651-339024737-1120166462-4073:ALLOWED/0x0/READ
ACL:CREATOR OWNER@CREATOR AUTHORITY:ALLOWED/OI|CI|IO/FULL
ACL:CREATOR GROUP@CREATOR AUTHORITY:ALLOWED/OI|CI|IO/FULL
ACL:S-1-22-1-10298:ALLOWED/OI|CI|IO/FULL
ACL:S-1-5-21-107619651-339024737-1120166462-4073:ALLOWED/OI|CI|IO/FULL
4组数字是什么?例如:所有者:S-1-5-21- 107619651-339024737-1120166462-8298
我假设它是某种类型的 UID,但它映射到谁以及在什么系统上?Samba 服务器还是 ADS?
具体对于我的用例,唯一可识别的是 GROUP 中的“48”,这是应该分配的 Linux 组的 GID。
手册页描述了很多,但是对于它没有涵盖的任何内容,您能否提供可以更详细地解释此输出的资源?
以开头的长SID
S-1-5-21-
可能是最常规的 SID 类型,代表某些域中的某种常规 Windows NT 帐户(用户、计算机、组)。在这种 SID 类型中,前 3 组数字标识特定域(AD 域或单个计算机的“本地帐户”域),而最后一组 - RID - 标识该域中的特定帐户并且类似于Linux 上的 UID(或 GID)。在您的输出中,
S-1-5-21-107619651-339024737-1120166462
很可能是您的 Active Directory 域的“域 SID”。RID512
始终属于“Domain Admins”组(它在“Well-known SIDs”表中),而超过 1000 的 RID 是常规创建的帐户。如果 Linux 系统实际上加入了域并且正确设置了 Winbindd 或 SSSD,我相信
getcifsacl
应该使用 winbindd 的本地 API 自动将所有 SID 解析为名称。S-1-22-
另一方面,以开头的 SID直接表示Unix帐户(UID 和 GID 具有不同的前缀)。它们在某些情况下被 Samba 使用,以及(如果我没记错的话)Windows Server 中的 NFS 服务器功能。最后一个数字是文件所在的特定服务器中的 UID(或 GID)。例如,S-1-22-1-10298
是 UID 10298(我猜服务器使用域 RID 到 Unix UID 的 1:1 映射,但情况并非总是如此),而S-1-22-2-48
GID 是 48。许多其他 SID(不在您的列表中)代表某种其他类型的实体,您可以在“众所周知的 SID”表中找到其中的大部分。