Mac-Osx
解釋為什麼文件夾的權限因使用者訪問伺服器 AFP 與 SSH 的方式而異
希望有人能解釋什麼可能相當明顯……但讓我感到困惑。
想像一下我們的伺服器(Mac OS X Server 10.5)上有兩個具有管理員權限的使用者。叫他們喬和鮑勃。
兩個使用者都是這些組的成員:
Staff Group ID: 20 Workgroup Group ID: 1025 Admin Group ID: 80 (assuming "[X] Administer Server" in Workgroup Manager sets this)
共享文件夾“devfolder”的共享設置如下:
POSIX:
Owner: joe read & write Group: admin read & write Other no access
訪問控制列表:
Workgroup Allow Read & write
問題是為什麼在查看同一個文件夾時,所有權似乎會根據誰在查看而發生變化?!?兩者都在伺服器上查看相同的文件夾:
從喬的角度來看:
xserve:devfolder joe$ ls -l drwxrwxr-x 6 joe workgroup 204 May 20 19:32 app drwxrwxr-x 9 joe workgroup 306 May 20 19:32 config drwxrwxr-x 3 joe workgroup 102 May 20 19:32 db drwxrwxr-x 3 joe workgroup 102 May 20 19:32 doc drwxrwxr-x 3 joe workgroup 102 May 20 19:32 lib
從 Bob 的角度來看(通過 AFP 安裝在他機器上的文件夾):
bobmac:devfolder bob$ ls -l drwxrwxr-x 6 bob _bob 264 May 20 19:32 app drwxrwxr-x 9 bob _bob 264 May 20 19:32 config drwxrwxr-x 3 bob _bob 264 May 20 19:32 db drwxrwxr-x 3 bob _bob 264 May 20 19:32 doc drwxrwxr-x 3 bob _bob 264 May 20 19:32 lib
現在,如果 Bob 通過 SSH 連接到伺服器,那麼他的輸出與 Joe 的相同,正如預期的那樣。
誰能告訴我在這種情況下客戶在做什麼以及當 bob 在此文件夾中創建或更新文件時應該期待什麼?我需要哪些工具才能從命令行更好地理解這一點?這是正常的嗎?也許是一種不會與“bob _bob”混淆的“更清潔”方式?!?
AFP 使用與 NFS 完全不同的權限模型。客戶端使用他們的憑據進行連接,然後文件訪問由伺服器控制。在某些情況下,會發生“權限映射”,這就是您所描述的現象。
好處
- 比傳統 NFS 更安全
- 非常簡單的模型,非常適合只有一個使用者登錄的客戶
缺點
- 客戶端上的兩個使用者不能同時訪問與他們自己相同的掛載 AFP 文件系統。他們能做的最好的事情是使用首次安裝它的使用者的權限訪問文件系統(即使這也需要其他使用者的客戶端根)
- 從伺服器的角度來看,報告的權限不是“真正的”權限
該缺點 #2 在 Snow Leopard 10.6 中得到修復。安全模型的其餘含義仍然適用,但不知何故,客戶端知道報告“真實”權限,而不僅僅是像以前那樣報告“有效”權限。
更多資訊請訪問: