我目前已以这种方式安装了 vsftpd,当用户(例如我的帐户)进行身份frederik
验证时,我将被定向到我的主目录/home/frederik/
。
对于某些 FTP 客户端来说,这是一个问题,因为它们无法更改默认文件夹之外的任何内容/home/
(即使获得许可)。
我怎样才能改变它以便让/
经过身份验证的用户被直接引导到?
答案1
只需添加这一行到/etc/vsftpd.conf
:
local_root=/
重新启动 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
本质上,您可以将其设置为您想要的任何目录。您也可以$USER
在路径中使用,它将被替换为用户登录名。
因此,如果您将 设置local_root
为/home/$USER/ftp
,那么当用户连接到您的服务器时,他将被定向到ftp
其主目录中的文件夹。
答案2
您可以使用 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
。您无法进入其他更高级别的目录。
您可以在列表中为多个组创建多个条目。我相信这些组在列表文件中的顺序将决定它们的最高目录。
答案3
让我给你的文件提供三行内容VSFTPD.CONF
。
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/
最后一行是用户进行身份验证时将登录的路径。您希望它是 root,因此它是 root ( /
)。前两行将锁定用户在登录目录中,即 root。您只需要#
前两行,这意味着用户将登录到 root 目录,但不会被锁定在该目录中,并且可以更改文件夹。