对 EFS 问题进行故障排除 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 EFS 问题进行故障排除

本节介绍了 Amazon EFS 存储问题的可能解决方案。

对 Amazon EFS 问题进行故障排除

本节介绍以下 Amazon EFS 问题的可能解决方案。

对 Amazon EFS 服务托管用户进行故障排除

描述

运行 sftp 命令时,提示符未出现,而是会看到以下消息:

Couldn't canonicalize: Permission denied Need cwd

原因

您的 Amazon Identity and Access Management (IAM) 用户的角色无权访问亚马逊 Elastic File System (Amazon EFS)。

解决方案

增加用户角色的策略权限。您可以添加 Amazon 托管策略,例如AmazonElasticFileSystemClientFullAccess

对缺失 POSIX 配置文件进行故障排除

描述

如果您在服务器上使用 Amazon EFS 存储,并且使用自定义身份提供商,则必须为 Amazon Lambda 函数提供 POSIX 配置文件。

原因

一个可能的原因是,我们为创建 Amazon Lambda支持的 Amazon API Gateway 方法提供的模板目前不包含 POSIX 信息。

如果您确实提供了 POSIX 信息,那么 Transfer Family 可能无法正确解析您用于提供 POSIX 信息的格式。

解决方案

请务必向 Transfer Family 提供 PosixProfile 参数的 JSON 元素。

例如,如果您使用的是 Python,则可以在解析 PosixProfile 参数的位置添加以下行:

if PosixProfile: response_data["PosixProfile"] = json.loads(PosixProfile)

或者,在中 JavaScript,您可以添加以下行,其中uid-valuegid-value是分别代表用户 ID (UID) 和组 ID (GID) 的整数,即 0 或大于 0 的整数:

PosixProfile: {"Uid": uid-value, "Gid": gid-value},

这些代码示例将 PosixProfile 参数作为 JSON 对象而非字符串发送到 Transfer Family。

此外 Amazon Secrets Manager,您还必须按如下方式存储PosixProfile参数。将 your-uidyour-gid 替换为您的 GID 和 UID 的实际值。

{"Uid": your-uid, "Gid": your-gid, "SecondaryGids": []}

使用 Amazon EFS 逻辑目录进行故障排除

描述

如果用户的主目录不存在,并且他们运行了 ls 命令,则系统会按如下方式做出响应:

sftp> ls remote readdir ("/"): No such file or directory

原因

如果 Transfer Family 服务器使用 Amazon EFS,则必须先创建具有读写访问权限的用户主目录,然后用户才能在其逻辑主目录中工作。用户无法自己创建此目录,因为他们将缺乏 mkdir 对逻辑主目录的权限。

解决方案

对父目录具有管理访问权限的用户需要创建该用户的逻辑主目录。