在CentOS7上安装ftp服务器用于保存服务端上传的图片。

在CentOS7上安装ftp服务器用于保存服务端上传的图片。

 

1、CentOS卸载vsftpd的方法

如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。

1.1 查找vsftpd服务

[root@localhost /]# rpm -aq vsftpd

返回结果显示:

vsftpd-3.0.2-21.el7.x86_64 #此处是查找vsftpd的返回结果

表示此服务期之前已经安装过vsftpd服务。

1.2 删除查找到的vsftpd服务

注:在卸载vsftpd之前,先停止vsftpd

[root@localhost /]# /sbin/service vsftpd stop

卸载vsftpd:

[root@localhost /]# rpm -e vsftpd-3.0.2-21.el7.x86_64

返回结果显示:

warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave #删除时将备份vsftp的用户列表文件

1.3 输入验证命令,验证vsftpd服务是否已经删除

[root@localhost /]# /sbin/service vsftpd stop Redirecting to /bin/systemctl stop vsftpd.service Failed to stop vsftpd.service: Unit vsftpd.service not loaded. #找不到vsftpd

[root@localhost /]# /sbin/service vsftpd start Redirecting to /bin/systemctl start vsftpd.service Failed to start vsftpd.service: Unit not found. #找不到vsftpd

如果输入以上两个命令都显示找不到vsftpd服务的话,那就证明已经卸载成功。

2、安装vsftpd组件

[root@localhost /]# yum -y install vsftpd

2.1 启动ftp

[root@localhost home]# systemctl start vsftpd.service

2.2 放开21端口

[root@localhost /]# firewall-cmd --zone=public --add-port=21/tcp --permanent [root@localhost /]# firewall-cmd --reload

3、vsftpd服务的详细配置

3.1 关闭匿名用户

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf

在vsftpd.conf配置文件中修改以下三项:

anonymous_enable=NO
#anon_upload_enable=YES #anon_mkdir_write_enable=YES

然后重启ftp服务:

[root@localhost vsftpd]# systemctl restart vsftpd.service

通过配置重启之后,匿名用户不可以登录了。

3.2 建立ftp虚拟宿主账户

新建一个不能登录系统用户. 只用来登录ftp服务 ,这里如果没设置用户目录。默认是在home下:

[root@localhost vsftpd]# useradd ftpuser -s /sbin/nologin

为ftpuser用户设置密码:

[root@localhost /]# passwd ftpuser

3.3 查看ftp的状态

[root@localhost /]# getsebool -a|grep ftp

显示结果:

ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off ftpd_connect_db --> off ftpd_full_access --> off ftpd_use_cifs --> off ftpd_use_fusefs --> off ftpd_use_nfs --> off ftpd_use_passive_mode --> off httpd_can_connect_ftp --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_home_dir --> off

将上面红色两项状态设置为on:

[root@localhost vsftpd]# setsebool -P allow_ftpd_full_access on [root@localhost vsftpd]# setsebool -P tftp_home_dir on

3.4 配置vsftpd.conf

限制系统用户锁定在/home/ftpuser目录

如果设置为
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有) chroot_list_file=/etc/vsftpd.chroot_list 那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户 即, 可以浏览其主目录的上级目录. 所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在 文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的). 或者, 设置如下 chroot_local_user=NO chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用) chroot_list_file=/etc/vsftpd.chroot_list 然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的) 中即可(一行一个用户名).
 

[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf

这里有两种方案,我采用第二种,配置如下:

chroot_local_user=NO
chroot_list_enable=YES #(这行必须要有, 否则文件vsftpd.chroot_list不会起作用) chroot_list_file=/etc/vsftpd/chroot_list

默认chroot_list是不存在的

[root@localhost vsftpd]# vim /etc/vsftpd/chroot_list

然后加入 ftpuser ,表示只有ftpuser不能访问上级目录,重启vsftpd。

3.5 修改权限

修改/home/ftpuser 的权限为不可写

[root@localhost vsftpd]# chmod a-w /home/ftpuser/taotao

这是因为我们在上面将/home/ftpuser/taotao文件的权限改为不可写了,那么我们在这个目录下创建一个images文件夹,用来上传文件。并将权限赋值给 ftpuser 用户

[root@localhost taotao]# mkdir images [root@localhost images]# chown ftpuser images

4、开启PASV(被动模式)

在 /etc/vsftpd/vsftpd.conf 的最下面加入

pasv_enable=YES
pasv_min_port=30000 pasv_max_port=30999

并且在userlist_enable=YES文件后面添加

userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

开启防火墙:

[root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent 
[root@localhost taotao]# firewall-cmd --reload

这样就可以使用ftp服务器上传文件了。

更多Vsftpd相关教程见以下内容

Linux CentOS 6.5 下搭建 vsftpd ftp服务器  http://www.linuxidc.com/Linux/2016-07/133319.htm

CentOS安装vsftpd-3.0.2及安全配置  http://www.linuxidc.com/Linux/2016-12/138040.htm

openSUSE 13.2/13.1 下安装配置 FTP服务器 vsftpd  http://www.linuxidc.com/Linux/2014-12/110070.htm

CentOS7基于虚拟用户的vsftpd  http://www.linuxidc.com/Linux/2016-11/137150.htm

Ubuntu 14.04 配置vsftpd实现FTP服务器 – 通过FTP连接AWS  http://www.linuxidc.com/Linux/2016-08/133933.htm

FTP协议详解与vsftpd在Linux上的安装配置 http://www.linuxidc.com/Linux/2016-09/134831.htm

CentOS 6.7 安装vsftpd服务器  http://www.linuxidc.com/Linux/2017-04/142612.htm

CentOS 7.3安装配置Vsftpd文件服务器  http://www.linuxidc.com/Linux/2017-06/144886.htm

Vsftpd3.0–FTP服务器搭建之本地用户篇  http://www.linuxidc.com/Linux/2017-04/142699.htm

CentOS7基于虚拟用户的vsftpd  http://www.linuxidc.com/Linux/2016-11/137150.htm

Ubuntu 16.04下vsftpd 安装配置实例  http://www.linuxidc.com/Linux/2017-06/144807.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146085.htm

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113377.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • word2vec原理与Gensim使用[通俗易懂]

    word2vec原理与Gensim使用[通俗易懂]word2vec原理1NeuralNetworkLanguageModel2CBOW2.1HierarchicalSoftmax2.2NegativeSampling3Skip-gram3.1HierarchicalSoftmax3.2NegativeSampling4负采样算法5.word2vec实战1NeuralNetworkLanguageModel…

  • 生成initramfs_windows引导文件

    生成initramfs_windows引导文件在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统。linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs,ramfs,nfs等,为了对各类文件系统进行统一管理,linux引入了虚拟文件系统vfs(virtualfilesystem),为各类文件系统提供一个统一的应用编程接口。文件系统类型主要有如下:根据存储设备的硬件特性,…

  • 计算机类单位换算,计算机单位换算大全「建议收藏」

    计算机类单位换算,计算机单位换算大全「建议收藏」电脑世界是由0与1组成,其中有数以万计的线路,一条线路传递一个信号,而0代表没有信号,1代表有信号,就像电源开关一样,同一时间只可能有一种状态,所以电脑最基本的单位就是一条线路的信号,我们就把它称作“位”,英文叫做bit,缩写为b。“位”和“字节”其实都是电脑的计量单位,我们可以理解成字节是由位组成的,一个“字节”等于8“位”,Byte是它的缩写.位(bit)这个单位太小,所以字节(Byte)是…

  • bookkeeper具体做什么_reading for knowledge翻译

    bookkeeper具体做什么_reading for knowledge翻译序言,关于capCAP是分布式系统中的一个特别重要的理论。CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),三者不可得兼。CAP是NOSQL数据库的基石。分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:一致性(C):在分布式系统中的所…

    2022年10月28日
  • layoutSubviews总结

    layoutSubviews总结ioslayout机制相关方法-(CGSize)sizeThatFits:(CGSize)size-(void)sizeToFit——————–(void)layoutSubviews-(

  • WINHTTP的API接口说明。

    WINHTTP的API接口说明。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号