Linux系统:CentOS下vsftpd的安装配置

一、安装vsftpd

  1、检测是否已安装vsftpd:

  安装系统时使用的镜像中可能会保留一些常用的应用,所以要先查看是否已安装,使用以下命令查看服务:

systemctl -a|grep vsftpd

  如果如下图所示,说明还没有安装vsftpd:

  

  2、安装vsftpd:

  使用以下命令:

yum -y install vsftpd

  

二、修改配置文件

  使用vi命令打开/etc/vsftpd/vsftpd.conf文件,找到配置项后主要修改如下,没有的项可以添加:

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=YES listen_ipv6=NO
pam_service_name
=vsftpd userlist_enable=NO userlist_deny=YES userlist_file=/etc/vsftpd/chroot_list tcp_wrappers=YES allow_writeable_chroot=YES

  保存并退出。

  注意这里配置文件一定要配置正确,不要乱动其他的地方,否则可能启动服务时可能就会出现以下错误:

Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

三、启动服务

  1、启动ftp服务:

systemctl start vsftpd.service

  2、服务检测:

  再次使用systemctl -a|grep vsftpd命令进行服务检测,此时结果如下:

  

  3、将ftp服务设为开机启动:

systemctl enable vsftpd.service

  

  4、查看开机自启是否已设置完成:

systemctl list-unit-files|grep vsftpd.service

  

  enabled说明已完成设置。

四、查看防火墙端口是否打开

  1、查看状态:

systemctl status firewalld

  如下图,状态为dead,说明防火墙未开启。

  

  2、启动防火墙:

systemctl start firewalld.service

  

  使用命令开启后,再次查看状态,现在是running,则说明已经启动成功。

  3、查看端口状态:

firewall-cmd --zone=public --query-port=21/tcp

  结果如下:

  

  no说明该端口未打开,需要打开该端口。

  4、开启端口:

firewall-cmd --zone=public --add-port=21/tcp

  

  success证明端口打开成功。

  5、重载配置:

firewall-cmd --reload

  

  success说明重载配置成功,每次添加规则之后要执行重载,让修改的规则生效

  6、将防火墙设为开机启动:

systemctl enable firewalld

  

五、设置权限

  1、查看用户目录:

vi /etc/passwd

  

  修改目录和权限,/bin/bash为可登录,/sbin/nologin为不允许登录系统

  2、设置目录权限:

chmod 777 -R /var/ftp/pub

  3、设置ftp用户的登录密码:

passwd ftp

  

  修改完成,可以传输文件进行测试。

六、测试ftp是否正常运行

  1、连接服务器:

  使用Xftp连接服务器,输入主机ip地址,协议为ftp,端口为开放的21端口,填写输入用户名ftp和设置的用户密码,在选项中取消勾选“使用被动模式”,进行连接:

  

  

  连接成功,传输一个文件测试,结果如下:

  

 


__EOF__

本文作者我命倾尘
本文链接https://www.cnblogs.com/guobin-/p/13895497.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   我命倾尘  阅读(544)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示