设置使用 Samba 导出的文件的系统属性

设置使用 Samba 导出的文件的系统属性

我有一个 Linux 服务器,可将 Samba 共享文件夹导出到 Windows 客户端。我需要在 Linux shell 中设置系统属性。在 Windows 上,我会运行

attrib +s folder

如何在 Linux 服务器上执行此操作?

答案1

系统属性是 Windows 特有的属性。 Linux 上没有类似的东西。

Samba 可以将 Windows 属性映射到 Linux 上存在的权限。然而,它可能会造成破坏,因为 Linux 权限具有不同的含义。所以系统和隐藏属性默认是不映射的。

要使系统和隐藏属性可用,请编辑 Samba 配置(/etc/samba/smb.conf或类似的,确切的路径取决于您的发行版)。打开部分中的map system和选项:map hidden[data]


[data]
    map system = yes
    map hidden = yes

然后,系统属性被映射到组执行权限位( g+x),隐藏属性被映射到其他执行权限位( o+x)。因此,attrib +s some.file在 Windows 上相当于

chmod g+x some.file

在Linux服务器上。

请注意,这意味着如果您在 Linux ( ) 上使文件可执行chmod a+x some.file,则会使其在 Windows 上隐藏并成为系统。因此,请确保您通常不会使文件在 Linux 上可执行。

相关内容