linux 安装vsftpd服务器,CentOS 7 安装vsftpd 服务器

在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=30000pasv_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相关教程见以下内容:

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值