如何解释 getcifsacl 返回的结果?

如何解释 getcifsacl 返回的结果?

我正在检查远程 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 组数字是什么?例如:OWNER:S-1-5-21-107619651-339024737-1120166462-8298

我假设它是某种类型的 UID,但它映射到谁以及在哪个系统上?Samba 服务器还是 ADS?

具体来说,就我的用例而言,唯一可识别的是 GROUP 中的“48”,这是应分配的 Linux 组的 GID。

手册页描述了很多内容,但对于它未涵盖的内容,您能否提供可以更详细地解释此输出的资源?

答案1

SID首先S-1-5-21-可能是最有规律SID 类型,表示某个域中的某种常规 Windows NT 帐户(用户、计算机、组)。在此 SID 类型中,前 3 组数字标识特定域(AD 域或者每个域中都有一个唯一的 ID(即单个机器的“本地帐户”域),而最后一组 RID 则标识该域中的特定帐户,类似于 Linux 上的 UID(或 GID)。

在您的输出中,S-1-5-21-107619651-339024737-1120166462很可能是您的 Active Directory 域的“域 SID”。RID512始终属于“域管理员”组(它位于“知名 SID”表中),而 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-10298UID 是 10298(我是猜测服务器使用域 RID 到 Unix UID 的 1:1 映射,但情况并非总是如此),而S-1-22-2-48GID 为 48。

许多其他 SID(不在您的列表中)代表其他类型的实体,您可以在“知名 SID”表

相关内容