本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作邏輯目錄
重要
根目錄需求
-
如果您未使用 Amazon S3 效能最佳化設定,您的根目錄必須在啟動時存在。
-
對於 Amazon S3,這表示建立以正斜線 () 結尾的零位元組物件
/
。 -
若要避免此需求,請考慮在建立或更新伺服器時啟用 Amazon S3 效能最佳化。
-
使用 LOGICAL HomeDirectory HomeDirectoryType 時,該值必須映射至其中一個邏輯目錄映射。服務會在使用者建立和更新期間驗證這一點,以防止組態無法運作。
邏輯主目錄組態
使用 LOGICAL 做為 HomeDirectoryType 時,請注意下列事項:
-
HomeDirectory 值必須對應至其中一個現有的邏輯目錄映射。
-
系統會在使用者建立和更新期間自動驗證此項目。
-
此驗證可防止會導致存取問題的組態。
啟用邏輯目錄
若要使用使用者的邏輯目錄,請將 HomeDirectoryType
參數設定為 LOGICAL
。當您建立新的使用者或更新現有的使用者時,請執行此操作。
"HomeDirectoryType": "LOGICAL"
chroot
為使用者啟用
針對 chroot,建立包含每個使用者的單一 Entry
和 Target
配對的目錄結構。項目 / 代表根資料夾,而目標指定儲存貯體或檔案系統中的實際位置。
您可以使用如上一個範例所示的絕對路徑,也可以使用動態替代搭配 的使用者名稱${transfer:UserName}
,如下列範例所示。
[{"Entry": "/", "Target": "/
amzn-s3-demo-bucket
/${transfer:UserName}"}]
在上述範例中,使用者已鎖定至其根目錄,且無法在階層中向上移動。
虛擬目錄結構
對於虛擬目錄結構,您可以與 S3 儲存貯體或 EFS 檔案系統中任何位置的目標建立多個Entry
Target
配對,包括跨多個儲存貯體或檔案系統,只要使用者的 IAM 角色映射具有存取它們的許可。
在下列虛擬結構範例中,當使用者登入 AWS SFTP 時,他們位於具有 /pics
、/reporting
、 /doc
和 子目錄的根目錄中/anotherpath/subpath/financials
。
注意
除非您選擇最佳化 Amazon S3 目錄的效能 (當您建立或更新伺服器時),否則如果 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
。
如需chroot為使用者設定邏輯目錄和 的詳細資訊,包括您可以下載和使用的 AWS CloudFormation 範本,請參閱 AWS 儲存部落格中的使用 chroot 和邏輯目錄簡化 AWS SFTP 結構