기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
논리적 디렉터리 구현
중요
루트 디렉터리 요구 사항
-
Amazon S3 성능 최적화 설정을 사용하지 않는 경우 시작 시 루트 디렉터리가 있어야 합니다.
-
Amazon S3의 경우 이는 슬래시()로 끝나는 0바이트 객체를 생성하는 것을 의미합니다
/. -
이 요구 사항을 방지하려면 서버를 생성하거나 업데이트할 때 Amazon S3 성능 최적화를 활성화하는 것이 좋습니다.
-
LOGICAL HomeDirectoryType을 사용하여 HomeDirectory를 지정할 때 값은 논리적 디렉터리 매핑 중 하나에 매핑되어야 합니다. 이 서비스는 사용자 생성 및 업데이트 중에 이를 검증하여 작동하지 않는 구성을 방지합니다.
논리적 홈 디렉터리 구성
LOGICAL을 HomeDirectoryType으로 사용하는 경우 다음 사항에 유의하세요.
-
HomeDirectory 값은 기존 논리적 디렉터리 매핑 중 하나와 일치해야 합니다.
-
시스템은 사용자 생성 및 업데이트 중에 이를 자동으로 검증합니다.
-
이 검증은 액세스 문제를 일으키는 구성을 방지합니다.
논리적 디렉터리 활성화
사용자의 논리적 디렉터리를 사용하려면 HomeDirectoryType 파라미터를 로 설정합니다LOGICAL. 새 사용자를 생성하거나 기존 사용자를 업데이트할 때이 작업을 수행합니다.
"HomeDirectoryType": "LOGICAL"
사용자chroot에 대해 활성화
chroot의 경우, 각 사용자에 대한 단일 Entry 및 Target 쌍으로 구성된 디렉터리 구조를 만드세요. / 항목은 루트 폴더를 나타내는 반면, Target은 버킷 또는 파일 시스템의 실제 위치를 지정합니다.
이전 예와 같이 절대 경로를 사용하거나, 다음 예와 같이 사용자 이름을 동적으로 ${transfer:UserName}로 대체할 수 있습니다.
[{"Entry": "/", "Target": "/amzn-s3-demo-bucket/${transfer:UserName}"}]
위 예에서 사용자는 루트 디렉터리에 잠겨 있어 계층 구조에서 상위 위치로 이동할 수 없습니다.
가상 디렉터리 구조
가상 디렉터리 구조의 경우, 사용자의 IAM 역할 매핑에 액세스 권한이 있는 한, 여러 버킷 또는 파일 시스템을 포함하여 S3 버킷 또는 EFS 파일 시스템 어디에나 대상을 사용하여 여러 Entry Target 쌍을 생성할 수 있습니다.
다음 가상 구조 예제에서는 사용자가 AWS SFTP에 로그인할 때 하위 디렉터리가 , /pics, /doc /reporting및 인 루트 디렉터리에 있습니다/anotherpath/subpath/financials.
참고
Amazon S3 디렉터리의 성능을 최적화하도록 선택하지 않는 한(서버를 생성하거나 업데이트할 때) 사용자 또는 관리자는 디렉터리가 아직 없는 경우 디렉터리를 생성해야 합니다. 이 문제를 피하는 것은 Amazon S3 성능 최적화를 고려해야 하는 이유입니다.
Amazon EFS의 경우 여전히 관리자가 논리적 매핑 또는 / 디렉터리를 생성해야 합니다.
[ {"Entry": "/pics", "Target": "/amzn-s3-demo-bucket1/pics"}, {"Entry": "/doc", "Target": "/amzn-s3-demo-bucket1/anotherpath/docs"}, {"Entry": "/reporting", "Target": "/amzn-s3-demo-bucket2/Q1"}, {"Entry": "/anotherpath/subpath/financials", "Target": "/amzn-s3-demo-bucket2/financials"}]
참고
매핑한 특정 폴더에만 파일을 업로드할 수 있습니다. 즉, 이전 예에서는 /anotherpath 또는 anotherpath/subpath 디렉터리에는 업로드할 수 없고; anotherpath/subpath/financials에만 업로드할 수 있습니다. 또한 경로가 겹칠 수 없으므로 이러한 경로에 직접 매핑할 수 없습니다.
예를 들어, 다음 매핑을 형성한다고 가정하겠습니다:
{ "Entry": "/pics", "Target": "/amzn-s3-demo-bucket/pics" }, { "Entry": "/doc", "Target": "/amzn-s3-demo-bucket/mydocs" }, { "Entry": "/temp", "Target": "/amzn-s3-demo-bucket2/temporary" }
해당 버킷에만 파일을 업로드할 수 있습니다. sftp를 통해 처음 연결하면 루트 디렉터리인 /(으)로 이동됩니다. 해당 디렉터리에 파일을 업로드하려고 하면 업로드가 실패합니다. 다음 명령은 예 순서를 나타냅니다:
sftp> pwd Remote working directory: / sftp> put file Uploading file to /file remote open("/file"): No such file or directory
임의의 directory/sub-directory 위치에 업로드하려면 경로를 sub-directory에 명시적으로 매핑해야 합니다.
다운로드하여 사용할 수 있는 AWS CloudFormation 템플릿을 포함하여 논리적 디렉터리 구성 및 사용자에 chroot 대한 자세한 내용은 AWS 스토리지 블로그의 chroot 및 논리적 디렉터리를 사용하여 AWS SFTP 구조 단순화