-
2022-04-19 14:56:05
================================
©Copyright 蕃薯耀 2022-04-19
一、安装FTP服务端
yum install -y vsftpd
安装ftp客户端(可省略)
yum install -y ftp
二、FTP服务配置
1、进入FTP配置文件目录
cd /etc/vsftpd
2、备份配置文件vsftpd.conf和去掉所有注释
mv vsftpd.conf vsftpd.conf.bak grep -v "#" vsftpd.conf.bak > vsftpd.conf
3、编辑配置文件
vi vsftpd.conf
修改的内容
#修改 #是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录 anonymous_enable=NO #匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置 anon_upload_enable=YES #以下取消注释 #允许匿名用户上传,建立目录 anon_mkdir_write_enable=YES #默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。 anon_world_readable_only=YES #匿名用户能否删除和修改上传的文件 anon_other_write_enable=YES #指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。 anon_umask=077 #指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。 chown_uploads=YES #chown_username=wang #chown_upload_mode=0644 #所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。 #guest_enable=YES #guest_username=vsftpd #是否允许Linux用户登陆,默认是允许的,当然也可以禁止。 local_enable=YES #是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。 #write_enable=YES #指定系统用户上传文件的默认权限 #local_umask=022 #非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。 #local_root=/ftproot #禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。 chroot_local_user=YES #ASCII码支持 async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES #登录提示信息 ftpd_banner=Welcome to FTP server. # 这一句话优先生效 #banner_file=/etc/vsftpd/ftpbanner.txt #设置是否使用当地时间。默认就是YES use_localtime=YES #虚拟用户建立独立的配置文件 user_config_dir=/etc/vsftpd/conf listen_port=21 virtual_use_local_privs=YES ##被动模式端口 pasv_min_port=40000 pasv_max_port=40010 # 被动模式数据连接超时时长,时间单位是秒 accept_timeout=10 #主动模式数据连接超时时长,时间单位是秒 connect_timeout=10 #数据连接无数据输超时时长,时间单位是秒 data_connection_timeout=300 # 无命令操作超时时长,时间单位是秒 idle_session_timeout=300 allow_writeable_chroot=YES
三、创建虚拟用户
创建虚拟用户,是为了避免FTP用户直接登录到服务器
1、创建虚拟用户配置文件
vi ftp_user.conf
增加内容:奇数行是账号,偶数行是密码,下面第一行是账号,第二行是密码
ftpuser ftpuser123
2、加密虚拟用户配置文件
db_load -T -t hash -f ftp_user.conf ftp_user.db
如果没有db_load命令,需要安装:yum install db4 db4-utils
改变权限和删除未加密的配置
chmod 600 ftp_user.db rm -f ftp_user.conf
3、修改FTP的访问权限
先备份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
修改权限文件
vi /etc/pam.d/vsftpd
先将配置文件中原有的 auth 及 account 的所有配置行均注释掉(不注释掉虚拟用户会登录不上),添加两行信息
auth required pam_userdb.so db=/etc/vsftpd/ftp_user account required pam_userdb.so db=/etc/vsftpd/ftp_user
4、增加虚拟用户,只能登录FTP,不能登录后台
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
修改文件夹的拥有者
chown -R ftpuser:ftpuser /home/ftpuser
5、虚拟用户配置文件
创建虚拟用户配置文件目录
mkdir -p /etc/vsftpd/conf
创建虚拟用户的配置文件(ftpuser文件和刚才创建的数据库文件的用户名必须一致)vi /etc/vsftpd/conf/ftpuser
增加的内容:
#用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。 local_root=/home/ftpuser/ftpuser write_enable=YES anon_world_readable_only=NO #虚拟用户上传权限 anon_upload_enable=YES #虚拟用户创建文件夹 anon_mkdir_write_enable=YES ## 虚拟的其他用户对指定用户目录的写权限 anon_other_write_enable=YES
创建FTP传输目录,对应上面的 local_root 配置项
mkdir -p /home/ftpuser/ftpuser chown ftpuser:ftpuser /home/ftpuser/ftpuser chmod 775 /home/ftpuser/ftpuser
四、开放FTP端口和FTP服务
firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --permanent --zone=public --add-port=21/tcp #被动模式的端口 firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp #重新加载生效 firewall-cmd --reload firewall-cmd --list-all firewall-cmd --zone=public --list-ports
五、FTP启动和设置自动启动
#启动 systemctl start vsftpd #设置自动启动 systemctl enable vsftpd
#查看状态 systemctl status vsftpd.service #重启 systemctl restart vsftpd
六、FTP访问地址
ftp://192.168.10.100/
七、错误解决
1、500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd
注释下面的配置 #guest_enable=YES #guest_username=vsftpd
八、其它命令
#安装filezilla yum install -y filezilla 运行filezilla filezilla & #Selinux方式:查看防火墙状态 getenforce #permissive表示:放任的;纵容的;姑息的; #临时关闭:setenforce 0 setenforce 0 ->permissive #永久关闭:vim /etc/sysconfig/selinux 将selinux=cnforcing改为selinux=disable Firewall 1.关闭防火墙:service firewalld stop 2.关闭防火墙:systemctl stop firewalld.service 3.禁止防火墙开机启动:systemctl disable firewalld.service 4,查看防火墙状态:firewall-cmd --state
(时间宝贵,分享不易,捐赠回馈,^_^)
================================
©Copyright 蕃薯耀 2022-04-19
更多相关内容 -
CentOS7 FTP安装与配置
2019-04-11 12:05:13自己利用一天时间在Linux系统上安装ftp服务,期间出现各种问题,最终解决,实现了ftp上传下载文件,包含具体步骤,每一行直接执行命令即可,简单明了 -
Centos7安装配置FTP服务器(vsftpd)
2021-01-09 05:11:241. 安装vsftpd最新版 [lidengyin@ldy ~]$ sudo yum -y install vsftpd 2. 在根目录下新建一个文件夹ftpfile [lidengyin@ldy /]$ sudo mkdir ftpfile 4. 添加vsftpd虚拟用户,使用上面的ftpfile作为根目录,无登录... -
Centos7 ftp安装配置
2017-11-13 17:29:28Centos7 ftp安装配置 配置信息详解 vsftpd 安装详细过程 -
详解CentOS7安装配置vsftp搭建FTP
2021-01-20 15:14:28安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用。想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这个工具,但刚好公司公司刷... -
Centos7搭建FTP服务器
2020-09-30 04:37:49作为前端工程师,要想在中国有一席之地,你不得不作出不可能的努力,把自己变成一个全能的人。...所以下面我们变来聊聊的服务器的配置,在本文中我们要介绍的是在 Centos 7 下安装及配置 FTP 服务。 -
CentOS7 FTP 安装与配置 以及 解决用连接工具登录 和Linux直接登录ftp 出现的问题
2019-08-20 14:17:130、检测服务器是否已经...一、安装与配置FTP 1、安装 #安装命令:yum install -y vsftpd #设置开机启动:systemctl enable vsftpd.service #启动、重启、停止以及查看ftp状态:systemctl start vsftpd.service sys...0、检测服务器是否已经安装了ftp,命令:rpm -qa | grep ftp 如果出现了ftp版本说明已经安装成功
一、安装与配置FTP
1、安装
#安装命令:
yum install -y vsftpd
#设置开机启动:
systemctl enable vsftpd.service
#启动、重启、停止以及查看ftp状态:
systemctl start vsftpd.service
systemctl restart vsftpd.service
systemctl stop vsftpd.service
systemctl status vsftpd.service2、配置FTP
#打开配置文件
vim /etc/vsftpd/vsftpd.conf#显示行号
:set number#修改配置 12 行
anonymous_enable=NO#修改配置 33 行
anon_mkdir_write_enable=YES#修改配置48行
chown_uploads=YES#修改配置72行
async_abor_enable=YES#修改配置83行
ascii_upload_enable=YES#修改配置84行
ascii_download_enable=YES#修改配置87行
ftpd_banner=Welcome to blah FTP service.#修改配置101行
chroot_local_user=YES#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES3、建立用户文件
#创建编辑用户文件
vim /etc/vsftpd/virtusers
#第一行为用户名,第二行为密码。不能使用root作为用户名
ftpuser
1234564、生成用户数据文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/virtusers.db
5、修改 /etc/pam.d/vsftpd 文件
# 修改前先备份
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd
#先将配置文件中原有的 auth 及 account 的所有配置行均注释掉
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers# 如果系统为32位,上面改为lib
#(我系统64位也是这么配置的,可以)6、新建系统用户vsftpd,用户目录为/home/vsftpd
#用户登录终端设为/bin/false(即:使之不能登录系统)
useradd vsftpd -d /home/vsftpd -s /bin/false
chown -R vsftpd:vsftpd /home/vsftpd7、建立虚拟用户个人配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf#这里建立虚拟用户leo配置文件
touch ftpuser#编辑leo用户配置文件,内容如下,其他用户类似
vi ftpuserlocal_root=/home/vsftpd/ftpuser/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#建立leo用户根目录
mkdir -p /home/vsftpd/ftpuser/8、防火墙设置
如果防火墙开启则需配置防火墙,没开启的话跳过即可。
IPtables 的设置方式:
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-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 40000:40010 -j ACCEPT
firewall 的设置方式:
firewall-cmd --zone=public --add-service=ftp --permanentfirewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent9、重启vsftpd服务器
systemctl restart vsftpd.service
10、使用ftp工具连接测试
这个时候,使用ftp的工具连接时,我们发现是可以连接的。传输文件的时候,会发现文件上传和下载都会出现500、503 、200等问题。这个时候,可以进行以下操作:方式①、关闭SELINUX
#打开SELINUX配置文件
vim /etc/selinux/config#修改配置参数
#注释
SELINUX=enforcing#增加
SELINUX=disabled#修改完成后,需要重启!
方式②、修改SELINUX
setenforce 0 #暂时让SELinux进入Permissive模式
#列出与ftp相关的设置
getsebool -a|grep ftp#以下是显示出来的权限,off是关闭权限,on是打开权限。不同的机器显示的可能不一样。我看了我的显示的,和网上其他教程就不太一样
ftp_home_dir --> off
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
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off#将包含有 ftp_home_dir 和 ftpd_full_access 相关的都设置为 1
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_anon_write 1
setsebool -P ftp_home_dir 1setenforce 1 #进入Enforcing模式
方式③、 SELINUX不对vsftp不做任何限制
setsebool -P ftpd_connect_all_unreserved 1
这个时候再使用工具连接,你发现,就可以正常的上传和下载文件了。
如果还是有问题尝试给我们用户的ftp目录,设置一下操作权限:
chmod -R 775 /home/vsftpd/ftpuser此处转载文章:cnblogs.com/haiyabtx/p/10762745.html
二、使用连接工具连接ftp测试
我是用的是WinSCP:
连接成功之后,拖拉上传文件显示553错误:Could not create file。
设置操作权限:chmod -R 777 /home/vsftpd/ftpuser 便可上传下载文件
三、Linux直接登录ftp
使用命令:ftp +ip回车之后输入ftp用户名和密码等待连接即可,但是我输入:ftp 139.0.0.1之后,总显示:-bash: ftp: command not found,无法使用ftp命令,上网查了之后说是ftp命令没有安装,通过yum方式安装ftp命令:
yum -y install ftp
安装完成之后再用ftp命令即可登入
ls查看ftp里面的文件,help可以看ftp常用命令
如果输入命令后显示Not connected.应该是断开连接了,quit或bye退出重新登一下或重启一下vsftpd
which vsftpd #查看安装目录
-
Centos7安装ftp
2017-10-12 10:32:34Centos7.1环境下安装ftp,ftp简单配置、用户创建及权限配置。 -
CentOS 7下安装配置proftpd搭建ftp服务器的详细教程
2020-09-30 05:57:17主要介绍了CentOS 7下安装配置proftpd搭建ftp服务器的详细教程,需要的朋友可以参考下 -
CentOS安装FTP及配置用户.doc
2021-08-18 08:18:48CentOS安装FTP及配置用户.doc -
centos离线安装ftp并配置用户.docx
2021-03-23 16:08:55centos离线安装ftp并配置用户 -
CentOS中vsftp安装与配置详解
2021-01-20 16:19:25一般我们在安装完系统后都会自动安装了vsftp服务了,但是有时候还是得需要自己动手的,比如这两天就在给我朋友配置了一下,顺手把过程记录下来,以便需要的时候查阅或者给需要的朋友提供方便:) 1. 安装 使用... -
CentOS8.0 安装配置ftp服务器的实现方法
2020-09-14 22:07:54主要介绍了CentOS8.0 安装配置ftp服务器的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
2021-01-11 03:30:59Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问... -
阿里云Linux centos8或centos7 配置真实用户FTP
2021-01-07 09:27:41centos8或centos7配置FTP重点在在配置文件中开放浏览器访问端口组,防火墙开放21端口和浏览器访问端口组。 阿里云配置FTP重点在于安全组中开放21端口和浏览器访问端口组。 防火墙个人习惯开firewalld,不开SELinux。... -
Centos7 安装配置 FTP 服务器(vsftpd)
2021-03-10 15:46:07目录Background1、安装2、修改配置 `/etc/vsftpd/vsftpd.conf`3、配置虚拟用户文件 `/etc/vsftpd/virtusers`4、生成用户数据文件5、修改配置文件 `/etc/pam.d/vsftpd`6、新建系统用户`vsftpd`,配置用户目录7、新建...目录
Background
- 安装记录,方便以后自己使用。
- vsftpd是“very secure TTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件,在Linux发行版中最受推崇的ftp服务器程序,小巧轻快,安全易用,支持虚拟用户,支持带宽限制等功能。
1、安装
#安装 yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service #启动 systemctl start vsftpd.service #停止 systemctl stop vsftpd.service #查看状态 systemctl status vsftpd.service
2、修改配置
/etc/vsftpd/vsftpd.conf
# 12 行 anonymous_enable=NO # 33 行 anon_mkdir_write_enable=YES # 48行 chown_uploads=YES # 72行 async_abor_enable=YES # 83行 ascii_upload_enable=YES # 84行 ascii_download_enable=YES # 87行 ftpd_banner=Welcome to blah FTP service. # 101行 chroot_local_user=YES # 最末尾添加下列内容 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1 allow_writeable_chroot=YES
3、配置虚拟用户文件
/etc/vsftpd/virtusers
# 奇数行为用户名,偶数行为密码。不能使用root作为用户名 wlf 12345
4、生成用户数据文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db # 设定PAM验证文件,并指定对虚拟用户数据库文件进行读取 chmod 600 /etc/vsftpd/virtusers.db
5、修改配置文件
/etc/pam.d/vsftpd
如果系统为32位,下面动态库的目录改为
lib
# 修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak # 先将配置文件中原有的 auth 及 account 的所有配置行均注释掉,再添加下面两行 auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
6、新建系统用户
vsftpd
,配置用户目录# 用户登录终端设为/bin/false(即:使之不能登录系统) useradd vsftpd -d /home/vsftpd -s /bin/false chown -R vsftpd:vsftpd /home/vsftpd
7、新建虚拟用户
wlf
配置文件# 创建虚拟用户配置存放目录 mkdir /etc/vsftpd/vconf #这里建立虚拟用户wlf配置文件 cd /etc/vsftpd/vconf touch wlf #编辑wlf用户配置文件,添加内容如下,其他用户类似 local_root=/home/vsftpd/wlf/ write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
8、配置用户
wlf
根目录mkdir -p /home/vsftpd/wlf/ chown -R vsftpd:vsftpd /home/vsftpd
9、重启
vsftpd
服务器systemctl restart vsftpd.service
10、使用ftp工具连接测试
11、增添用户等自动化脚本
该脚本实现了用户的添加、删除、查看已有用户和查看用户密码等功能。
#!/bin/bash # 输入参数:操作、用户名和密码 operate=$1 username=$2 password=$3 # 用户配置 user_home_dir=/home/vsftpd/$username/ user_conf_file=/etc/vsftpd/vconf/$username user_pwd_file=/etc/vsftpd/virtusers # 提示信息 s1="If query user, please input param 【list】" s2="\n If query user password, please input param 【secret <username>】" s3="\n If create user, please input param 【add <username> <password>】" s4="\n If delete user, please input param 【del <username>】" msg="$s1$s2$s3$s4" function custom_print(){ echo -e "\033[5;34m ***** \033[0m" echo -e "\033[32m $@ ! \033[0m" echo -e "\033[5;34m ***** \033[0m" } # 查看已有用户 function list_user(){ cat -n $user_pwd_file | awk '{if($1%2==1){print $2}}' } # 查看用户密码 function secret_user(){ n0=`cat -n $user_pwd_file | grep $username | awk '{print $1}'` let n1=n0+1 cat -n $user_pwd_file | awk -v num=$n1 '{if($1==num){print $2}}' } # 添加用户 function add_user(){ # 1、在用户文件中添加用户名和密码 cat <<EOF >> /etc/vsftpd/virtusers $username $password EOF # 2、更新用户数据 db_load -T -t hash -f $user_pwd_file /etc/vsftpd/virtusers.db # 3、建立用户个人配置文件 cp /etc/vsftpd/vconf/default $user_conf_file sed -i "s/default/$username/" $user_conf_file # 4、建立用户根目录 mkdir -p $user_home_dir chown -R vsftpd:vsftpd /home/vsftpd # 5、重启vsftpd服务器 systemctl restart vsftpd.service msg="User 【$username】 created successfully" custom_print $msg } # 删除用户 function del_user(){ rm -rf $user_home_dir rm -rf $user_conf_file # 获取用户所在配置文件的行号 n1=$(cat -n $user_pwd_file | grep $username | awk '{print $1}') let n2=$n1+1 # 删除那一行和下面的一行,用户名和密码 sed -i "${n1},${n2}d" $user_pwd_file # 更新用户数据 db_load -T -t hash -f $user_pwd_file /etc/vsftpd/virtusers.db msg="User 【$username】 deleted successfully" custom_print $msg } # 判断输入参数 if [[ -z $operate || $operate = "help" ]]; then custom_print $msg elif [[ $operate = "add" ]]; then if [[ -z $password || -z $username ]]; then msg="Please input the username and password" custom_print $msg else add_user fi elif [[ $operate = "del" ]]; then if [[ -z $username ]]; then msg="Please input the username" custom_print $msg else del_user fi elif [[ $operate = "list" ]]; then list_user elif [[ $operate = "secret" ]]; then if [[ -z $username ]]; then msg="Please input the username" custom_print $msg else secret_user fi else custom_print $msg fi
-
Linux Centos7安装配置FTP服务
2022-04-25 21:21:30文章目录1、FTP简介2、安装FTP软件包3、配置FTP服务器4、启动vsftpd服务5、云平台访问策略6、主动模式和被动模式 1、FTP简介 ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的...1、FTP简介
ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端。
ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括开载文件和上传文件两种操作
2、安装FTP软件包
1、安装ftp服务端
yum -y install vsftpd
2、安装ftp客户端
yum -y install ftp
3、配置FTP服务器
tp的传输模式有被动模式和主动式两种,缺省是被动模式,主动模式的应用场景极少,下面只使用被动模式
1、关闭SELINUX
修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。
重启Linux或者执行setenforce 0 使修改马上生效
2、配置ftp数据端口参数
ftp的数据端口也称为高端口,在/etc/vsftpd/vsftpd.conf文件中配置,由pasv_min_port和pasv_max_port两个参数指定,如果文件中没有这两个参数,手工的加进去。
pasv_min_port=5000 # 高端口范围的最小值。 pasv_max_port=5500 # 高端口范围的最大值
3、开通防火墙
1)开通防火墙的方法有两种:firewall-cmd --zone=public --add-service=ftp --permanent
2)开通ftp服务需要的端口,21是控制端口,5000-5500是数据端口范围,也就是上一节中在/etc/vsftpd/vsftpd.conf文件中配置的pasv_min_port和pasv_max_port参数
firewall-cmd --zone=public --add-port=21/tcp --permanent firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent
重启防火墙
systemctl restart firewalld.service
4、启动vsftpd服务
systemctl start vsftpd # 启动服务。 systemctl stop vsftpd # 停止服务。 systemctl restart vsftpd # 重启服务。 systemctl status vsftpd # 查看服务状态。 systemctl enable vsftpd # 启用开机自动动vsftpd服务。 systemctl disable vsftpd # 禁用开机自动动vsftpd服务。
5、云平台访问策略
需要登录云服务器提供商的管理平台开通访问策略(或安全组),开通21和高端口的访问策略。
如果云服务器的ftp服务不能建立数据会话,在百度中输入“被动模式下FTP不能建立数据会话问题“可以找到解决问题的方法,目前的阿里云服务器就存在这个问题。
6、主动模式和被动模式
ftp有两种模式,分别是port模式(主动模式)和pasv模式(被动模式)。
1、主动模式
客户端给服务端的21端口发命令说:我要输传文件,我已经打开了自己的20端口,您向我的20端口发起TCP连接,我们来传输文件。服务端知道后,就会主动向客户端的20端口发起连接,连接成功后开始传输文件。
在主动模式下,ftp请求是由客户端TCP连接的;传输数据的时候,TCP连接却是由服务端发起的。
2、被动模式
客户端给服务器端的21端口发命令说:我要传输文件。服务器端知道后打开一个空闲的高端口,然后告诉客户端,我已经打开了某某端口,您向我这个端口发起TCP连接,然后我们用这个端口来传输文件。
在被动模式下,不管是ftp命令,还是传输数据,都是由客户端向服务端发起TCP连接。
3、从主动模式到被动模式
很久以前每台电脑都有一个ip地址,ftp只有主动模式,后来出现了共享上网技术,所以也就有了下面的问题。 共享上网就是多台电脑共享一个公网ip去使用internet,例如某个局域网出口的公网ip是210.33.25.108,当内网用户(192.168.1.100)访问外网的ftp服务器时,如果采用主动模式,192.168.1.100告诉了ftp服务器我需要某个文件和我打开了20端口之后,由于共享上网的原因,192.168.1.100在出网关的时候ip已经被转换成了210.33.25.108,所以ftp服务器端收到的消息是210.33.25.108需要某个文件并打开了20端口,ftp服务器就会尝试连接210.33.25.108的20端口,这样当然不会成功。 在主动模式中,ftp的两个端口是相对固定的,如果命令端口是n的话,那数据端口就是n-1,也就是说默认情况下,命令端口是21,数据端口就是20,如果您把ftp服务的端口改成了521,那么数据端口就是520,这样配置防火墙很方便,只需要开通两个端口就可以了。但是,在共享上网的环境中无法使用主动模式。 在被动模式中,默认情况下命令端口是21,数据端口是随机分配的。但是,被动模式中数据端口的范围可以配置,防火墙也可以配置端口范围
-
【centos7 FTP服务器配置】
2022-04-26 16:35:45FTP Centos -
Centos7 ftp环境搭建教程详解
2020-09-15 09:35:12主要介绍了Centos7 ftp环境搭建,非常不错,具有参考借鉴价值,需要的朋友可以参考下 -
阿里云ECS服务器Linux CentOS7安装与配置vsftpd
2021-01-20 14:41:10阿里云ECS服务器Linux CentOS7安装与配置vsftpd 1. 查看是否安装vsftp rpm –qa|grep vsftpd 2. 安装vsftp yum -y install vsftpd 3. 配置vsftpd服务 vim /etc/vsftpd/vsftpd.conf 按 i 键进入编辑模式 vsftpd.conf ... -
centos 搭建ftp服务器详解及简单介绍
2021-01-10 06:41:28centos 搭建ftp服务器 1.安装vsftpd sudo yum install vsftpd 2.配置vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # When SELinux is ... -
Linux(centos7)安装FTP服务
2022-01-26 18:44:11Linux(centos7)安装FTP服务 -
CentOS7中FTP服务器的配置
2022-04-07 21:43:09FTP的配置 -
CentOS 7 安装vsftpd 服务器的具体操作步骤
2021-01-09 22:41:56在CentOS7上安装ftp服务器用于保存服务端上传的图片。 1、CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq vsftpd 返回... -
CentOS7安装和配置ftp服务1
2022-08-08 23:23:131、安装ftp服务器yum -y install vsftpd2、安装ftp客户端yum -y install ftp三、配置ftp服务器ftp的传输模式有被动