本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
故障診斷 EFS 問題
本節說明 Amazon EFS 儲存相關問題的可能解決方案。
對 Amazon EFS 問題進行故障診斷
本節說明下列 Amazon EFS 問題的可能解決方案。
Amazon EFS 服務受管使用者疑難排解
Description
您執行 sftp命令,但提示不會出現,而是看到下列訊息:
Couldn't canonicalize: Permission denied Need cwd
原因
您 AWS Identity and Access Management (IAM) 使用者的角色沒有存取 Amazon Elastic File System (Amazon EFS) 的許可。
解決方案
增加使用者角色的政策許可。您可以新增 AWS 受管政策,例如 AmazonElasticFileSystemClientFullAccess。
故障診斷缺少的 POSIX 設定檔
Description
如果您為伺服器使用 Amazon EFS 儲存體,而且您使用自訂身分提供者,則必須提供 POSIX 設定檔給 AWS Lambda 函數。
原因
其中一個可能的原因是,我們用來建立 AWS Lambda後端 Amazon API Gateway 方法的範本目前不包含 POSIX 資訊。
如果您確實提供 POSIX 資訊,Transfer Family 可能無法正確剖析您用來提供 POSIX 資訊的格式。
解決方案
請務必為 PosixProfile 參數提供 Transfer Family 的 JSON 元素。
例如,如果您使用的是 Python,您可以在剖析 PosixProfile 參數的位置新增以下行:
if PosixProfile: response_data["PosixProfile"] = json.loads(PosixProfile)
或者,在 JavaScript 中,您可以新增以下行,其中 和 uid-value分別代表使用者 ID (UID) 和群組 ID (GID) 的整數 0 或更高:gid-value
PosixProfile: {"Uid":uid-value, "Gid":gid-value},
這些程式碼範例會將 PosixProfile 參數以 JSON 物件的形式傳送至 Transfer Family,而不是以字串的形式傳送。
此外,在 中 AWS Secrets Manager,您必須存放 PosixProfile 參數,如下所示。將 和 取代your-uid為您 GID 和 UID 的實際值。your-gid
{"Uid":your-uid, "Gid":your-gid, "SecondaryGids": []}
使用 Amazon EFS 對邏輯目錄進行故障診斷
Description
如果使用者的主目錄不存在,而且他們執行 ls命令,系統會回應,如下所示:
sftp> ls remote readdir ("/"): No such file or directory
原因
如果您的 Transfer Family 伺服器使用 Amazon EFS,則必須使用讀取和寫入存取權建立使用者的主目錄,使用者才能在其邏輯主目錄中工作。使用者無法自行建立此目錄,因為他們在其邏輯主目錄mkdir上缺少 的許可。
解決方案
具有父目錄管理存取權的使用者需要建立使用者的邏輯主目錄。