如何将 vsftpd 的默认目录更改为 / 而不是用户的主目录?

如何将 vsftpd 的默认目录更改为 / 而不是用户的主目录?

我目前已以这种方式安装了 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 目录,但不会被锁定在该目录中,并且可以更改文件夹。

相关内容