我需要设置文件传输 Linux 服务器。所有用户都使用活动目录凭据通过 sftp 登录。
我希望所有用户登录后都能看到一个目录 /ftp-storage
/ftp-storage 文件夹中将有许多其他项目文件夹,用于每个项目
/ftp-storage
/project1
/project2
我希望所有用户在使用 sftp 登录时都进入 /ftp-storage 文件夹。对项目文件夹的访问将受到我可以整理的用户所在的 AD 组的限制。
我只是不知道如何强制所有用户在使用 filezilla 登录时进入 /ftp-storage 文件夹而不是他们的 linux 主目录。
答案1
我在其他地方找到了答案。我在 /etc/ssh/sshd_config 中添加了以下代码
Match group <ad-group>@<domain.com>
ChrootDirectory /ftp-storage
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
其中,是活动目录即 (sftp) 上的组的名称,而 <domain.com> 是 AD 域的名称。
然后我授予了以下权限
chmod root:[email protected] -R /ftp-storage
chmod root:[email protected] -R /ftp-storage/project2
chmod root:[email protected] -R /ftp-storage/project3
现在,当用户登录时,如果他们在 sftp AD 组中,他们将进入 /ftp-storage 而不是他们的主目录,并且他们只能访问他们在相关 AD 组中所属的项目。