2022
我们一起努力

vsftpd安装

目录:

  • 1、ubuntu下安装vsftpd的坑
  • 2、麒麟系统安装ftp
  • 3、在ftpserver上安装vsftp
  • 4、Linux下安装vsftpd常见问题

ubuntu下安装vsftpd的坑

在安装vsftpd的时候,服务正常启动成功后,无法用xftp新建的用户登录,root也无法登录的情况:

要修改4个配置文件

第一个是/etc/ftpusers ,储存禁止用ftp登录,把你想要添加可登录的用户注释掉,我这里只需要root能登录。

第二个是/etc/allowed_user ,这个文件原先没有,是我手动创建的,如果有此文件就直接修改,添加的是允许用ftp登录,allowed_user文件里如果用户也有,但是ftpusers文件里也有,会以ftpusers优先,则此文件里用户不生效。

第三个是ftp服务器的配置文件,在/etc/vsftpd.conf,这里需要注意,如果listen参数已开,一定不要再开listen_ipv6=YES(重要的事情说三遍,一定不要开!一定不要开!一定不要开!),实在没头绪的可以拷贝我的配置。

vsftpd.conf

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

use_localtime=YES

allow_writeable_chroot=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

chroot_local_user=YES

xferlog_std_format=YES

userlist_deny=NO

userlist_enable=YES

userlist_file=/etc/allowed_users

seccomp_sandbox=NO

local_root=/opt/ftp

utf8_filesystem=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

tcp_wrappers=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=NO

第四个是 /etc/pam.d/vsftpd ,因为配置中开了pam_service_name=vsftpd,所以我们要找到pam.d的位置,做一些修改,默认在/etc下。

图中画框的地方,是我做的修改,原先是auth required pam_shells.so ,这里需要修改成pam_nologin.so

修改完以上配置后,重启vsftpd服务

vsftpd命令:

systemctl restart vsftpd 重启

systemctl stop vsftpd 停止

systemctl start vsftpd 启动

systemctl status vsftpd 查看状态

测试服务:

可视化工具可使用xftp测试,好处是方便,傻瓜式操作,界面及配置如下:

命令行测试,好处是如遇到登录失败,可看具体报错信息:

输入密码后出现230 Login successful 则表示登录成功,如果登录出现其他编码,则有可能是用户配置原因,仔细检查以上四个文件。

PS:具体问题还得具体分析,以上并不代表所有问题都可这样解决,欢迎指正。

麒麟系统安装ftp

首先,我们需要更新系统安装包列表,然后像下面这样安装 VSFTPD 二进制包:

一旦安装完成,初始情况下服务被禁用。因此,我们需要手动开启服务,同时,启动它使得在下次开机时能够自动开启服务:

接下来,如果你在服务器上启用了 UFW 防火墙(默认情况下不启用),那么需要打开端口 20 和 21 —— FTP 守护进程正在监听它们——从而才能允许从远程机器访问 FTP 服务,然后,像下面这样添加新的防火墙规则:

让我们进行一些配置来设置和保护 FTP 服务器。首先,我们像下面这样创建一个原始配置文件 /etc/vsftpd/vsftpd.conf 的备份文件:

接下来,打开 vsftpd 配置文件。

把下面的这些选项添加/改成所展示的值:

使用vi新建/etc/vsftpd.allowed_users文件

保存vi打开的文件命令是 :wq , 注意有一个冒号

以下配置也在 vsftpd.conf 中,有需要的可以继续配置,没需要就不用配置了

重要的是,当用户登录 FTP 服务器以后,他们将进入 chrooted 环境,即当在 FTP 会话时,其 root 目录将是其 home 目录。

接下来,我们来看一看两种可能的途径来设置 chrooted(本地 root)目录,正如下面所展示的。

这时,让我们添加/修改/取消这两个选项来将 FTP 用户限制在其 home 目录

选项 chroot_local_user=YES 意味着本地用户将进入 chroot 环境,当登录以后默认情况下是其 home 目录。并且我们要知道,默认情况下,出于安全原因,VSFTPD 不允许 chroot 目录具有可写权限。然而,我们可以通过选项 allow_writeable_chroot=YES 来改变这个设置

修改保存完毕后需要重启 VSFTPD 服务从而使上面的这些更改生效:

新建用户uftp并设置密码

/home/uftp 是将要共享的文件夹

然后,我们需要像下面这样使用 echo 命令和 tee 命令来明确地列出文件 /etc/vsftpd.allowed_users 中的用户 uftp:

验证用户是否加入ftp

如果已登录,无法列出目录,请增加以下配置,并开放10000:20000端口,端口范围可自定义

结束,接下来就可以用ftp工具连接了

在ftpserver上安装vsftp

在ftpserver上安装vsftp步骤如下。

1、安装vsftpd。sudo,apt-get,install,vsftpd。

2、配置。sudo,vi/etc/vsftpd。conf。

3、关闭匿名访问。anonymous_enable=NO。

4、允许本地账号访问。local_enable=YES。

5、允许上传。write_enable=YES。

6、让root可以访问,执行sudovi/etc/ftpusers把root去掉。

7、增加一个访问账号增加用户ftpuser并设置其目录为/ftp/ftpuser。

8、重启vsftpd。sudo,restart,vsftpd。

Linux下安装vsftpd常见问题

当我们限定了用户不能跳出其主目录(chroot_local_user=YES)之后,使用该用户登录FTP时往往会遇到这个错误,这个问题由于版本更新造成的,从2.3.5之后,vsftpd增强了安全检查, 如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了! 如果检查发现还有写权限,就会报该错误。

要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

参考:

要是还不行,就使用客户端工具吧,常用的FileZilla个大平台****。

可以通过systemctl status vsftpd -l查看出现了什么问题,本立当中就是出现了变量错误的情况

11月 20 19:01:36 MyCentos vsftpd[40707]: 500 OOPS: unrecognised variable in config file: anno_root

anno_root变量写错了,修改即可

赞(0)
文章名称:《vsftpd安装》
文章链接:https://www.fzvps.com/248485.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!