刚买了腾讯云的服务器,拿来一看,连个ftp都没有。只能自己来了。
如果不确定是否装了ftp,可以执行下面的命令
rpm -qa | grep vsftpd
如果执行完后什么都不返回,就继续往下看了。
- 关闭防火墙和selinux(腾讯云服务器前两行命令不一定能执行)
[root@vmware1 ~]# /etc/init.d/iptables stop
[root@vmware1 ~]# chkconfig iptables off
[root@vmware1 ~]# setenforce 0
- 安装vsftp软件包
[root@vmware1 ~]# yum install -y vsftpd
结果
已加载插件:fastestmirror, langpacks
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
os | 3.6 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/7): epel/7/x86_64/group_gz | 266 kB 00:00:00
(2/7): epel/7/x86_64/updateinfo | 908 kB 00:00:00
(3/7): os/7/x86_64/group_gz | 156 kB 00:00:00
(4/7): extras/7/x86_64/primary_db | 185 kB 00:00:00
(5/7): epel/7/x86_64/primary_db | 6.3 MB 00:00:00
(6/7): updates/7/x86_64/primary_db | 6.9 MB 00:00:00
(7/7): os/7/x86_64/primary_db | 5.7 MB 00:00:00
Determining fastest mirrors
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================
正在安装:
vsftpd x86_64 3.0.2-22.el7 os 169 k
事务概要
=================================================================================================================
安装 1 软件包
总下载量:169 k
安装大小:348 k
Downloading packages:
vsftpd-3.0.2-22.el7.x86_64.rpm | 169 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : vsftpd-3.0.2-22.el7.x86_64 1/1
验证中 : vsftpd-3.0.2-22.el7.x86_64 1/1
已安装:
vsftpd.x86_64 0:3.0.2-22.el7
完毕!
3.先备份vsftpd的默认配置文件
[root@vmware1 ~]# cd /etc/vsftpd/
[root@vmware1 vsftpd]# cp vsftpd.conf vsftpd.conf.bak
4.修改配置
[root@vmware1 vsftpd]# vi vsftpd.conf
内容(根据自身情况使用):
anonymous_enable=NO #不允许匿名用户登陆
local_enable=YES #vsftpd所在系统的用户可以登录vsftpd
write_enable=YES #允许使用任何可以修改文件系统的FTP的指令
local_umask=002 #匿名用户新增文件的umask数值
anon_upload_enable=NO #匿名用户不可以上传文件
anon_mkdir_write_enable=NO #匿名用户不可以修改文件
xferlog_enable=YES #启用一个日志文件,用于详细记录上传和下载。
use_localtime=YES #使用本地时间而不是GMT
vsftpd_log_file=/var/log/vsftpd.log #vsftpd日志存放位置
dual_log_enable=YES #用户登陆日志
connect_from_port_20=YES #开启20端口
xferlog_file=/var/log/xferlog #记录上传下载文件的日志
xferlog_std_format=YES #记录日志使用标准格式
idle_session_timeout=600 #登陆之后超时时间60秒,登陆之后,一分钟不操作,就会断开连接。
chroot_local_user=YES #用于指定用户列表文件中的用户,是否允许切换到上级目录
listen=YES #开启监听
pam_service_name=vsftpd.vu #验证文件的名字
userlist_enable=YES #允许由userlist_file指定文件中的用户登录FTP服务器
tcp_wrappers=YES #支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
guest_enable=YES #起用虚拟用户
guest_username=taokey #虚拟用户名
#user_config_dir=/etc/vsftpd/vsftpuser #虚拟用户配置文件路径
local_root=/home/ftpUser/ #自定义ftp上传路径(注意文件夹权限)
pasv_min_port=35000
pasv_max_port=45000
pasv_enable=YES
pasv_promiscuous=YES
anon_other_write_enable=YES
5.关闭并保存配置文件,重启vsftpd
[root@localhost /]# service vsftpd restart
云服务器则执行
[root@localhost /]# cd /bin
[root@localhost /]# systemctl restart vsftpd.service
6.添加FTP账户
[root@localhost /]# useradd -d /home/ftpUser/ -g ftp -s /sbin/nologin ftpUser
注意,“/home/ftpUser/”需要与vsftpd.conf中的local_root路径一致。
7.设置vsftpd用户密码
[root@localhost /]# passwd ftpUser
8.重启vsftpd
[root@localhost /]# service vsftpd restart
云服务器则执行
[root@localhost /]# cd /bin
[root@localhost /]# systemctl restart vsftpd.service
防火墙端口设置
1.iptables 开放Ftp端口
[root@localhost /]# vi /etc/sysconfig/iptables
配置如下:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
2.启动防火墙
[root@vmware1 ~]# /etc/init.d/iptables start
参考文章链接:https://blog.csdn.net/pojun_gufeiyang/article/details/70158074