linux Centos7 下vsftpd 安装与配 FTP
一、说明
linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp)。 我们这里也是简单的说明下vsftp的配置。
vsftp提供3种远程的登录方式:
(1)匿名登录方式
就是不需要用户名,密码。就能登录到服务器电脑里面
(2)本地用户方式
需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。
(3)虚拟用户方式
同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)
二、安装
# 查看是否已安装 方法一
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.-.el7.x86_64 # 查看是否已安装 方法二
[root@localhost ~]# vsftpd -v
vsftpd: version 3.0. # 安装 vsftpd
[root@localhost ~]# yum -y install vsftpd #查看位置[root@localhost ~]
# whereis vsftpd
#启动
[root@localhost ~]
#
systemctl start vsftpd.service
setenforce # 设置SELinux 成为permissive模式 (关闭SELinux)
setenforce # 设置SELinux 成为enforcing模式 (开启SELinux) # 或者修改配置
[root@localhost ~]# vi /etc/selinux/config
# SELINUX=enforcing # 注释掉
# SELINUXTYPE=targeted # 注释掉
SELINUX=disabled # 增加
:wq! #保存退出
[root@localhost ~]# setenforce
或设置setsebool(推荐)
#查看ftp sebool 配置
[root@localhost ~]getsebool -a | grep ftp ftpd_anon_write --> on
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> on
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> on
tftp_home_dir --> off #允许ftpd全部权限
[root@localhost ~]setsebool -P ftpd_full_access on
四、防火墙配置
#停止firewall
[root@localhost ~]systemctl stop firewalld.service #禁止firewall开机启动
[root@localhost ~]systemctl disable firewalld.service #或者,添加ftp服务
[root@localhost ~]firewall-cmd --permanent --zone=public --add-service=ftp
[root@localhost ~]firewall-cmd --reload
五、修改配置文件
[root@localhost ~]#less /etc/vsftpd/vsftpd.conf |grep -v ^#
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_promiscuous=NO
pasv_address=183.63.152.2222
pasv_min_port=
pasv_max_port=
六、添加ftp用户
#添加ftp用户,不允许shell登录
[root@localhost ~]useradd ftpuser -d /home/ftpuser -s /sbin/nologin #设定ftp用户密码
[root@localhost ~]pass ftpuser
七、配置文件常用详解
()ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息 ()idle_session_timeout= :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒) ()data_connection_timeout= :设置客户机在进行数据传输时,设置空闲的数据中断时间 ()accept_timeout= 设置在多长时间后自动建立连接 ()connect_timeout= 设置数据连接的最大激活时间,多长时间断开,为别人所使用; ()max_clients= 指明服务器总的客户并发连接数为200 ()max_per_ip= 指明每个客户机的最大连接数为3 ()local_max_rate=(50kbytes/sec) 本地用户最大传输速率限制 ()anon_max_rate=30000匿名用户的最大传输速率限制 ()pasv_min_port=端口 ()pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口,被动模式使用; ()listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接; ()listen_port=端口号 设置FTP工作的端口号,默认的为21 ()chroot_local_user=YES 设置限制所有的本地用户登录ftp登录后,改变根目录【chroot()】到自己的家目录
allow_writeable_chroot=YES 设置家目录锁定后,需要允许ftp登录对家目录可写
()chroot_local_user=NO 默认,本地用户登录后到系统的根目录,不chroot到自己家目录 ()chroot_list_enable=YES 启用chroot_list,chroot_list里面的用户是chroot_local_user设置的例外用户!!!! ()chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 ) ()local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录; (19)userlist_enable=YES/NO 是否加载用户列表文件; (20)userlist_deny=YES 表示userlist加载的用户会拒绝登录,NO表示userlist加载的用户允许登录;
ftpuser文件里面加载的用户也会拒绝登录,由/etc/pam.d/vsftpd 决定:auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed (21)userlist_file=/etc/vsftpd/user_list 列表文件
八、其他配置,附录
. 匿名服务器的连接(独立的服务器)
在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask= (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
功能:只能连接FTP服务器,不能上传和下传
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项 . 开启匿名FTP服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限) . 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读—–下传 (W)写—-上传 (X)执行—-如果不开FTP的目录都进不去 .普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传. 安全选项
Idle_session_timeout=(秒) (用户会话空闲后10分钟)
Data_connection_timeout=(秒) (将数据连接空闲2分钟断)
Accept_timeout=(秒) (将客户端空闲1分钟后断)
Connect_timeout=(秒) (中断1分钟后又重新连接)
Local_max_rate=(bite) (本地用户传输率50K)
Anon_max_rate=(bite) (匿名用户传输率30K)
Pasv_min_port= (将客户端的数据连接端口改在
Pasv_max_port= —60000之间)
pasv_address=183.63.152.222(Use this option to override the IP address that vsftpd will advertise in response to the PASV command.
Provide a numeric IP address, unless pasv_addr_resolve is enabled, in which case you can provide a hostname which will be DNS resolved for you at startup.)
Max_clients= (FTP的最大连接数)
Max_per_ip= (每IP的最大连接数)
Listen_port= (从5555端口进行数据连接) . 查看谁登陆了FTP,并杀死它的进程
ps –xf |grep ftp
kill 进程号
九、NAT
FTP服务器外网NAT使用被动模式,映射连接端口21,数据端口50000 配置打开被动模式配置
pasv_enable=YES
pasv_promiscuous=NO
pasv_min_port=
pasv_max_port=
十、<完>
linux Centos7 下vsftpd 安装与配 FTP的更多相关文章
- Linux(CentOS7)下Nginx安装
记录一下 Linux(CentOS7) 下 Nginx 安装过程 一.准备工作 版本说明: Linux版本:CentOS 7 64位 Nginx版本:nginx-1.20.0 1. 下载安装文件 采用 ...
- Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
- Linux(CentOS7)下rpm安装MySQL8.0.16
记录一下自己在 CentOS7 下 rpm 安装 MySQL8.0.16 的过程. 一.准备工作 1. 下载MySQL所需要的安装包 从 MySQL官网 下载,上传至 CentOS 系统 /usr/l ...
- linux centos7下mysql安装--韩国庆
首先我先给大家介绍下MariaDB和mysql的区别. 上图,“MySQL之父”的骨灰级程序员Monty,但是mysql被Oracle收购后,Monty又开始去发展另一条数据库的道路,并且以Monty ...
- Linux centos7下php安装cphalcon扩展的方法
说明: 操作系统:CentOS7 php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini 运行环境:LNMP ,PHP7 .安装 ...
- Linux(Centos7)下redis5安装、部署、开机自启
1.什么是redis redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串 ...
- [Linux]centOS7下RPM安装Perl
1.下载rpm依赖包,依照顺序安装. perl-parent-0.225-244.el7.noarch perl-HTTP-Tiny-0.033-3.el7.noarch perl-podla ...
- centos7: vsftpd安装及启动: ftp配置(以虚拟用户为例)
centos7: vsftpd安装及启动: ftp配置 1安装: yum -y install vsftpd /bin/systemctl start vsftpd.service #启动 /bin/ ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
随机推荐
- mysql大数据查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- SQL SERVER常见等待——解决会话等待产生的系统问题
SQL SERVER——解决会话等待产生的系统问题 转自: https://blog.csdn.net/z_cloud_for_SQL/article/details/55051215 版权声明:SQ ...
- Android图片加载框架Picasso最全使用教程2
前言 前面我们已经介绍了Picasso的基本用法及如何将一张图片加载到ImageView中,下面我们就利用Picasso在ListView中加载图片;Let’s Go! 一个ListView的简单应用 ...
- Windows下QT MySQL驱动编译
在Windows环境中使用Qt进行关于MySQL数据库的操作时,会出现如下问题: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: availa ...
- [笔记]WiX制作msi安装包的例子
WiX是制作msi安装文件的工具,看了半天文档,感觉没有什么比一个例子更简单粗暴的了. <?xml version="1.0" encoding="UTF-8&qu ...
- HYSBZ - 2243 染色 (树链剖分+线段树)
题意:树上每个结点有自己的颜色,支持两种操作:1.将u到v路径上的点颜色修改为c; 2.求u到v路径上有多少段不同的颜色. 分析:树剖之后用线段树维护区间颜色段数.区间查询区间修改.线段树结点中维护的 ...
- Mybatis${}、#{}及使用#{}时指定jdbcType
一.Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${} 我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这 ...
- 利用SSH协议在Windows下使用PuTTY连接Ubuntu
利用SSH协议在Windows下使用PuTTY连接Ubuntu Ubuntu部分 首先我们要为Ubuntu配置一下环境,让它支持ssh服务,我们要做的其实也很简单,就一下两步: 安装OpenSSH软件 ...
- viewport大白话
以下所有内容均是我自己理解的,可能有误,懂得大佬希望指点一下我.. 首先,写一个简单的页面.里面只有1个200*200的div <html lang="en"> < ...
- adplayer移植【转】
本文转载自:https://blog.csdn.net/qq361294382/article/details/50525412 这两天做madplayer移植,由于是刚装的ubuntu14.04,所 ...