![SFTP実行ビットが正しく動作していないようです](https://rvso.com/image/1083358/SFTP%E5%AE%9F%E8%A1%8C%E3%83%93%E3%83%83%E3%83%88%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99.png)
既存の 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::---