Windows-Server-2008

訪問 Windows NTFS 的 Mac 客戶端在更深的文件夾級別共享重置權限。為什麼?

  • May 2, 2017

這是設置:

  • 視窗 2008 伺服器

  • c:\share具有以下權限的文件夾(此時讀取、讀取/寫入並不重要,我不認為):

    • 使用者 1
    • 使用者 2
  • c:\share\add_user3具有以下權限的文件夾:

    • User3(在此文件夾級別顯式添加)
    • 使用者 1(繼承自c:\share
    • 使用者 2(繼承自c:\share
  • share伺服器本地管理員需要c:\share具有讀/寫權限的共享

  • 混合客戶端環境:

    • Windows XP 客戶端
    • Windows 7 客戶端
    • Mac 客戶端 (OSX v10.8.4)

Windows 客戶端行為(XP 和 Windows 7):

  • 使用者創建文件c:\share\test.txt

  • 該文件的有效權限是從文件夾繼承的:

    • 使用者 1
    • 使用者 2
  • 使用者創建文件c:\share\add_user3\test.txt

  • 該文件的有效權限是從文件夾繼承的:

    • 使用者 1
    • 使用者 2
    • 使用者 3

Mac 客戶端行為:

  • 使用者創建文件c:\share\test.txt

  • 該文件的有效權限:

    • 使用者 1
    • 使用者 2
  • 使用者創建文件或使用者編輯在 Windows 客戶端上創建c:\share\add_user3\test.txt的現有文件c:\share\add_user3\test.txt

  • 該文件的有效權限變為:

    • 使用者 1
    • 使用者 2

就像 Mac 客戶端在共享文件夾級別 ( c:\share) 獲取 NTFS 權限並將其直接應用於c:\share\add_user3\test.txt. c:\share\add_user3未兌現/繼承來自的權限 。

Mac 客戶端使用者都是伺服器上的本地管理員(因此具有完全控制權)。從操作的角度來看,這是必要的,因為所有客戶端(甚至 Mac 使用者)都需要以管理身份(主要是 IIS 管理員)訪問伺服器。

我主要是一個 Windows 人,所以看起來 Mac 是“錯誤的”,但也許這只是不同的行為(即這裡沒有違反“標準”)。任何想法為什麼會發生這種情況?而且,鑑於我們希望權限表現得像 Windows 客戶端,關於如何在 Mac 端執行此操作的任何想法?

後續回答

  • 至於不同的編輯器,這是用 XCode 和 TextEdit 嘗試過的。兩者的行為相同。

  • 在使用不在本地管理員中的使用者進行測試後,似乎應用/保留了適當的權限,以下行為除外:

    • 當使用者從 Windows 機器創建文件時,文件所有者設置為相關使用者的帳戶
    • 當使用者從 Mac 創建文件時,文件所有者設置為MACHINE\Administrators

這是由Apple 所謂的“安全保存”引起的。當 Mac 在 SMB 共享上保存文件時,它實際上將文件寫入共享根目錄中名為*.TemporaryItems的隱藏文件夾,刪除原始文件(如果存在),然後將文件移動到實際文件夾。由於保存的文件是新文件,因此它有一個新所有者,其權限繼承自.TemporaryItems*。

我使用的解決方案很簡單:刪除.TemporaryItems**的寫權限。這似乎禁用了安全保存。

我讀過使用“DSDontWriteNetworkStores”屬性創建com.apple.desktopservices將阻止客戶端創建*.TemporaryItems*,但根據我的經驗,這在 OS X 10.8 及更高版本上不起作用。

引用自:https://serverfault.com/questions/536290