既存の FTP サーバーを置き換えて、ユーザーを sftp を使用するように切り替えようとしています。
フォルダーに必要な権限に関しては、厳しい要件がいくつかあります。
たとえば、ユーザーのFTPルート(ACLで作成された異なる権限を持つ複数のユーザー間で共有される)では、
/FolderA/FolderB
/FolderA/FolderC
User has x on FolderA
User has xr on FolderB
User has xw on FolderC
FTPでは、ユーザーはフォルダAにCDできるが、LSにはできない
ユーザーはフォルダBでCDやLSを実行できるほか、ファイルをダウンロードすることもできる。
ユーザーはフォルダCでCDはできるが、LSはできない。ただし、ファイルをアップロードすることはできる。
新しいユーザー用に SFTP を設定し、FolderA を (chrooted) ホーム ディレクトリにマウントしました。x ビットのみを設定すると、どのフォルダーにも cd できず、アクセス許可が拒否されます。r ビットを設定するとすぐにフォルダーに cd でき、当然 ls も実行できますが、必要なのは、ユーザーがフォルダーに cd できても、ls したりフォルダーからファイルを読み取ったりできないようにすることです。
私は権限にACLを使用しています。次のようになります
# file: FolderA
# owner: root
# group: root
user::rwx
user:NewUser:--x
group::---
other::---
# file: FolderB
# owner: root
# group: root
user::rwx
user:NewUser:r-x
group::---
other::---
# file: FolderC
# owner: root
# group: root
user::rwx
user:NewUser:-wx
group::---
other::---