欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux配置FTP服务器

程序员文章站 2024-02-14 19:07:34
...

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

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

rpm -qa | grep vsftpd

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

  1. 关闭防火墙和selinux(腾讯云服务器前两行命令不一定能执行)
[[email protected] ~]# /etc/init.d/iptables stop 
[[email protected] ~]# chkconfig iptables off 
[[email protected] ~]# setenforce 0
  1. 安装vsftp软件包
[[email protected] ~]# 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的默认配置文件

[[email protected] ~]# cd /etc/vsftpd/ 
[[email protected] vsftpd]# cp vsftpd.conf vsftpd.conf.bak

4.修改配置

[[email protected] 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

[[email protected] /]# service vsftpd restart

云服务器则执行

[[email protected] /]# cd /bin
[[email protected] /]# systemctl restart vsftpd.service

6.添加FTP账户

[[email protected] /]# useradd -d /home/ftpUser/ -g ftp -s /sbin/nologin ftpUser

注意,“/home/ftpUser/”需要与vsftpd.conf中的local_root路径一致。

7.设置vsftpd用户密码

[[email protected] /]# passwd ftpUser

8.重启vsftpd

[[email protected] /]# service vsftpd restart

云服务器则执行

[[email protected] /]# cd /bin
[[email protected] /]# systemctl restart vsftpd.service

防火墙端口设置

1.iptables 开放Ftp端口

[[email protected] /]# 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.启动防火墙

[[email protected] ~]# /etc/init.d/iptables start

参考文章链接:https://blog.csdn.net/pojun_gufeiyang/article/details/70158074