通过FTP连上centos7

一、通过yum安装vsftpd

yum install -y vsftpd

二、修改vsftpd的配置文件

vi /etc/vsftpd/vsftpd.conf

修改配置文件如下:
1.不允许匿名访问

anonymous_enable=NO

2.允许使用本地帐户进行FTP用户登录验证

local_enable=YES

3.使用户不能离开主目录

当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

配置文件最后添加

allow_writeable_chroot=YES

要不然会报错

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

如果/etc/vsftpd/chroot_list不存在,则需要创建该文件

vi /etc/vsftpd/chroot_list

:wq直接保存并退出就行。

4.设定支持ASCII模式的上传和下载功能。

ascii_upload_enable=YES
ascii_download_enable=YES 

最后 :wq保存修改,重启vsftpd

systemctl restart vsftpd.servic

此时我们还是连接不上ftp,我们去配置下防火墙就好了。因为防火墙没配置FTP端口号规则。
firewall-cmd --zone=public --add-port=21/tcp --permanent

Centos7默认安装了firewalld,如果没有安装的话,则需要YUM命令安装;firewalld真的用不习惯,与之前的iptable防火墙区别太大,
但毕竟是未来主流讲究慢慢磨合它的设置规则;
Firewall开启常见端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
Firewall关闭常见端口命令:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=443/tcp --permanent
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --zone=public --remove-port=21/tcp --permanent
firewall-cmd --zone=public --remove-port=53/udp --permanent

 

开启防火墙命令:
systemctl start firewalld.service
重启防火墙命令:
firewall-cmd --reload 或者 service firewalld restart

 

默认情况下vsftp是不允许root用户登录的,可以通过修改限制来解决这个问题。

此时我们进到ftpusers和user_list里面 将root用户注释掉就可以用root登陆ftp。

 

我们通过xftp这个工具连上centos时 xftp会提示无法显示centos文件

 

此时的解决办法是:

使用sftp协议登陆

 

 

 

 

 

posted on 2018-03-07 00:14  闲杂人等  阅读(679)  评论(0编辑  收藏  举报

导航