首页 > 系统相关 >Linux vsftpd服务配置

Linux vsftpd服务配置

时间:2023-05-16 13:12:09浏览次数:47  
标签:FTP enable ftp 配置 用户 vsftpd Linux YES

转至:https://www.cnblogs.com/reachos/p/16352552.html

目录:

  1.FTP介绍

  2.安装vsftpd

  3.配置匿名用户登陆与上传删除文件

  4.配置vsftp本地账户认证登陆ftp

 

1.FTP介绍

文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议。它工作于网络传输协议的应用层,使用客户/服务器模式,主要是用来在服务器与客户端之间进行数据传输。

FTP 其实是以 TCP 封包的模式进行服务器与客户端计算机之间的联机,当联机建立后,使用者可以在客户端端连上 FTP 服务器来进行文件的下载与上传,此外,也可以对 FTP 服务器上面的文档进行管理等。

 

FTP传输模式:
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。
FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式(默认的工作模式)。主被动模式均是以FTP服务器端为参照。

FTP主动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,FTP服务器以数据端口(20)连接到客户端指定的数据端口(N+1)。

 

 

 

FTP被动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,客户端提交 PASV命令,服务器会开启一个任意的端口(P >1024),并发送PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

 

 

 


在企业实际环境中,如果FTP客户端与FTP服务端均开放防火墙,FTP需以主动模式工作,这样只需要在FTP服务器端防火墙规则中,开放20、21端口即可。

2.安装vsftpd

# yum intall vsftpd
# ls /etc/vsftpd/vsftpd.conf          #默认主配置文件
# ls /var/ftp/                   #默认数据文件位置

vsftp 支持三种认证登陆方式:
1)匿名登陆
2)本地用户登陆
3)虚拟用户模式登陆,本文暂不讨论

3.配置匿名用户登陆与上传删除文件
默认配置位置:

# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES              #允许匿名用户登录FTP
anon_root=/var/ftp/pub              #设置匿名用户的登录目录(如需要,需自己添加并修改)
anon_upload_enable=YES              #打开匿名用户的上传权限
anon_mkdir_write_enable=YES          #打开匿名用户创建目录的权限
anon_other_write_enable=YES          #打开匿名用户删除和重命名的权限(如需要,需自己添加)
anon_umask=022                  #匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644)
                         #anon_umask=022 这个能让我们用ftp这个账户新建目录或文件并修改,删除,查看文件属性可知所属是ftp:ftp.但无法删除所有者为0的文件。

local_enable=YES                 #以下默认配置保持不变
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

匿名ftp目录的权限设置:
  默认情况下,ftp的根目录为/var/ftp,为了安全,这个目录默认不允许设置为777权限,否则ftp将无法访问(vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的)。但是我们要匿名上传文件,需要“other”用户的写权限,正确的做法:
  在/var/ftp/pub中建立一个upload(名子自己起吧)文件夹,将个文件夹权限设置为777(也可以只修改文件夹所属人),在upload这个文件夹中,匿名用户可以上传文件、创建文件夹、删除文件等。

一般至此,便实现vsftpd匿名用户的上传下载了。

 

4.配置vsftp本地账户认证登陆ftp

/etc/vsftpd/vsftpd.conf       #FTP主配置文件
/etc/vsftpd/ftpusers         #拒绝用户登录到FTP服务器,系统默认是黑名单文件,且如果用户在ftpusers 里面,用户即使在白名单里面也无法登陆
/etc/vsftpd/user_list         #user_list需要参照userlist_deny来决定该文件是黑名单还是白名单

注意事项:
1) 配置文件中的userlist_enable=YES,启用"禁止用户名单"功能, ftpusers默认是黑名单文件,user_list需要参照userlist_deny来决定该文件是黑名单还是白名单。
2) userlist_deny=YES表示黑名单,userlist_deny-NO表示白名单。


创建测试用户:

# useradd -s /sbin/nologin ta
# echo '123456' |passwd --stdin ta

配置本地用户登陆ftp的vsftpd.conf文件:

# cat /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO          #禁止匿名访问
local_enable=YES            #启用本地帐户
#local_root=/var/ftp/pub/upload    #表示所有认证的用户,登陆后,都直接进入到:/var/ftp/pub/upload 目录,不建议启用
write_enable=YES              #允许上传/下载文件
local_umask=022              #umask决定目录和文件被创建时得到的初始权限,022为8进制。文件=666-022,目录=777-022,默认不给x位权限(g和o)

dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES

chroot_local_user=YES          #建议配置为YES,chroot_local_user=YES时表示锁定用户在其【家目录】下, chroot_local_user=NO时表示不锁定用户在其主目录下,可以浏览根目录。

listen=YES
pam_service_name=vsftpd


userlist_enable=YES            #当userlist_enable=YES时,启用【禁用用户名单】功能。当userlist_enable=NO时,不启用上述功能。
userlist_deny=NO             #NO,表示/etc/vsftpd/user_list 为白名单,如果为YES,表示为黑名单

tcp_wrappers=YES
use_localtime=YES
dual_log_enable=YES
allow_writeable_chroot=YES

以上就是配置的所有参数。


以下2项,做为可选参数配置:

chroot_list_enable=YES|NO     #当chroot_local_user=YES时,chroot_list_enable=YES表示开启白名单的功能,在 chroot_list名单中的用户不受限制,为例外用户。
                    #当chroot_local_user=NO时,chroot_list_enable=YES表示开启黑名单功能,在 chroot_list名单中的用户受到限制在其主目录下,其他的用户为例外。

#chroot_list_file=/etc/vsftpd/chroot_list     #在此文件中添加例外用户,一行一个用户

 

 

标签:FTP,enable,ftp,配置,用户,vsftpd,Linux,YES
From: https://www.cnblogs.com/my-first-blog-lgz/p/17405295.html

相关文章

  • mybatis自增主键配置
    [url]http://leeyee.github.io/blog/2013/08/22/mybatis-auto-increment-primary-key/[/url]mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同。基本上经常会遇到的就是OracleSequece和Mysql自增主键,至于其他的手动生成唯一......
  • tomcat startup.bat配置JAVA_HOME
    使用zip的tomcat包,不改变系统的环境变量JAVA_HOME的情况下启动:我用的是tomcat6.0.16在tomcat内部修改JAVA_HOME:bin/catalina.bat中头部添加setJAVA_HOME="D:\jdk\jdk1.6"估计在bin/startup.bat添加也可以,没有测试。要保留startup.bat运行的输出日志():修改startup.ba......
  • linux相关
    目录结构这里是先规划好不同的功能模块,程序按这个结构,分散放进去。window也有这方面,但基本是按盘符,然后都放在自己的目录为主。这里好像是磁盘先分区。然后挂载上来一个设备符号,再设置目录放在哪个分区设备?usr是UnixSystemResource不是User的简写/usr/bin系统预装的可执行程......
  • 用Fiddler、Charles和mitmproxy进行手机抓包的配置教程
    [用Fiddler、Charles和mitmproxy进行手机抓包的配置教程_程序员大飞1的博客-CSDN博客](https://blog.csdn.net/weixin_42512684/article/details/93534803)写爬虫时,有些数据pc端并不能提供我们需要的数据例如抖音,就需要对手机端数据进行抓取,目前来说比较常用的app抓包软件:Fidd......
  • Linux-特殊权限设置(SUID、SGID、SBIT)
    一、SUID权限1.概念当s这个标志出现在文件所有者的x权限上时,例如文件权限状态“-rwsr-xr-x”,此时就被称为SetUID,简称SUID。如果该属主权限位上有执行权限,则会显示(小写)s。如果该属主权限位上没有执行权限,则会显示(大写)S。说明:SUID权限中的s有大小写之分,如果强行给普通文件添加s......
  • 需要做的配置
    需要做的配置数据库的配置 移动支付数据库配置 配置回调地址 当医院可以上传明细后,回调地址表app_org_clbk_b会生成一条数据 需要手动更新一下回调地址 INSERTINTO`pmccent_db`.`app_org_clbk_b`(`CLBK_ID`,`APP_CODG`,......
  • MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化配置 关键词
    MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化配置关键词:储能电站共享储能电站冷热电多微网双层优化配置参考文档:《基于储能电站服务的冷热电多微网系统双层优化配置》完全复现仿真平台:MATLAB+CPLEXID:4760664422168873......
  • 【转】Linux下判断cpu架构及系统发行版方法
    原文地址:https://zhuanlan.zhihu.com/p/374738476一、判断cpu架构1,使用命令:hostnamectl2,使用命令:arch3,使用lscpu4,使用命令:cat/proc/cpuinfo,可以查到具体指令集二、判断系统是Debian系还是Redhat系大家都知道linux分redhat系和debian系,那么肯定有办法,去判断系统是r......
  • Linux 文件上传下载的几种方式
    虚拟终端软件中的rz和sz我们使用虚拟终端软件,如Xshell、SecureCRT或PuTTY来连接远程服务器后,可以使用rz或sz来上传下载文件rz命令使用rz命令可以上传本地文件到远程服务器。运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器sz命令将选定的......
  • Linux & Window: idea配置php+xdebug
    xdebugproblemusingidekey[url]http://devnet.jetbrains.com/message/5265653[/url]NetBeans结合xdebug调试php-fpm下的PHP代码[url]http://www.48474.com/netbeans%E7%BB%93%E5%90%88xdebug%E8%B0%83%E8%AF%95php-fpm%E4%B8%8B%E7%9A%84php%E4%BB%A3%......