設定使用 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 上可執行。

相關內容