Я пытаюсь заменить существующий FTP-сервер и переключить пользователей на использование sftp.
У нас есть строгие требования к разрешениям, необходимым для папок.
Например, в корневом каталоге FTP пользователя (который совместно используется несколькими пользователями с различными разрешениями, созданными с помощью ACL) мы имеем
/FolderA/FolderB
/FolderA/FolderC
User has x on FolderA
User has xr on FolderB
User has xw on FolderC
С помощью FTP пользователь может перейти на CD в папку FolderA, но не в LS.
Пользователь может сохранять файлы на CD и LS в папке FolderB, а также загружать файлы.
Пользователь может выполнять CD, но не LS на FolderC, но может загружать файлы
Я настроил SFTP для нового пользователя и смонтировал FolderA в его (chrooted) домашнем каталоге. Когда у меня установлен только бит x, он НЕ может cd в какую-либо из папок, я получаю Permission Denied. Как только я устанавливаю бит 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::---