我正在使用带有活动目录的 SFTP。在对用户进行身份验证后,我将所有用户重定向到一个目录upload2
。但现在我想使用 ChrootDirectory 指令将一些用户重定向到一个目录,将一些用户重定向到另一个目录。根据我对 ChrootDirectory 的了解,我们只能使用%h
和%u
参数。我们可以在 ChrootDirectory 指令或更多参数中放置条件吗?
AllowGroups *
UsePAM yes
Subsystem sftp internal-sftp
Match Group sftp-users
ChrootDirectory /upload2
AllowTcpForwarding no
答案1
您不能在ChrootDirectory
指令中使用条件。但Match
指令允许条件,这就是它的用途。
将一些用户放入一个组,将其他用户放入另一个组。并为每个组引入一个规则,每个组对应一个不同的文件夹:
Match Group sftp-users1
ChrootDirectory /upload1
Match Group sftp-users2
ChrootDirectory /upload2
或者,如果这不可能的话,则在每个规则中明确列出用户:
Match User user1,user2,user3
ChrootDirectory /upload1
Match User user4,user5,user6
ChrootDirectory /upload2