我正在尝试替换现有的 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 转至文件夹 A,但不能将 LS 转至文件夹
用户可以在 FolderB 中进行 CD 和 LS 以及下载文件
用户可以对 FolderC 进行 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::---