如何将vsftpd的默认目录更改为/而不是用户的主目录?
我目前以这种方式安装了vsftpd,当用户说出我的帐户frederik
身份validation时,我将被定向到我的主目录/home/frederik/
。
这是某些FTP客户端的问题,因为它们无法更改为默认文件夹之外的任何内容,例如/home/
(即使给予权限)。
如何更改它以便经过身份validation的用户可以定向到/
取而代之?
您可以使用vsftpd.conf创建chroot列表。 选中此项
属于ftp-users组的所有用户在登录时默认进入/ home / ftp-docs / ftp_stuff。 它们无法在其他目录中导航,并且仅限于此特定目录。
你做这个:
通过以root身份发出以下命令来创建目录:
mkdir -p /home/ftp-docs/ftp_stuff
然后这样做: –
chgrp ftp-users /home/ftp-docs/ftp_stuff chmod 3777 /home/ftp-docs/ftp_stuff
在/etc/vsftpd/vsftpd.conf
写这个chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
将所有ftp-users组用户名放在/etc/vsftpd.chroot_list
然后在/etc/passwd
文件中将属于ftp-users组的所有用户的主目录设为/home/ftp-docs/ftp_stuff
。 然后执行以下操作:
service vsftpd restart
然后通过任何属于ftp-users组的用户登录,您将/home/ftp-docs/ftp_stuff
。 你不能去其他更高级别的目录。
您可以在列表中为多个组创建多个条目。 这些组在列表文件中的顺序将决定我相信的最高目录。
只需将此行添加到/etc/vsftpd.conf
:
local_root=/
基本上,您可以将其设置为您想要的任何目录。 您也可以在路径中使用$USER
,它将被用户的登录名替换。
因此,如果您将local_root
设置为/home/$USER/ftp
,那么当用户连接到您的服务器时,他将被定向到其主目录中的ftp
文件夹。