Linux配置FTP服务器

刚买了腾讯云的服务器,拿来一看,连个ftp都没有。只能自己来了。

如果不确定是否装了ftp,可以执行下面的命令

rpm -qa | grep vsftpd

如果执行完后什么都不返回,就继续往下看了。

  1. 关闭防火墙和selinux(腾讯云服务器前两行命令不一定能执行)
[root@vmware1 ~]# /etc/init.d/iptables stop 
[root@vmware1 ~]# chkconfig iptables off 
[root@vmware1 ~]# setenforce 0
  1. 安装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

你可能感兴趣的:(Linux配置FTP服务器)