热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

LinuxvsftpdProFTP和配置详解

vsftpd1.配置参数详细整理#接受匿名用户anonymous_enableYES#匿名用户login时不询问口令no_anon_passwordYES#匿名用户主目录anon_root(none)#接受本地用户local_enableYES#本地用户主目录local_root(none)#如果匿名用户需要密码,那么
vsftpd
1.         配置参数详细整理
#接受匿名用户
anonymous_enable=YES
#匿名用户login时不询问口令
no_anon_password=YES
#匿名用户主目录
anon_root=(none)
#接受本地用户
local_enable=YES
#本地用户主目录
local_root=(none)
#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
deny_email_enable=YES
#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
check_shell=YES
#若启用此选项,userlist_deny选项才被启动
userlist_enable=YES
#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
userlist_deny=NO
#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)
passwd_chroot_enable=NO
#定义匿名登入的使用者名称。默认值为ftp。
ftp_username=FTP
2.         用户权限控制
#可以上传(全局控制).
write_enable=YES
#本地用户上传文件的umask
local_umask=022
#上传文件的权限配合umask使用
#file_open_mode=0666
#匿名用户可以上传
anon_upload_enable=NO
#匿名用户可以建目录
anon_mkdir_write_enable=NO
匿名用户其它的写权利(更改权限?)
anon_other_write_enable=NO
如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。
anon_world_readable_Only=YES
#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
#guest_enable=NO
所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
匿名上传文件所属用户名
chown_username=lightwiter
#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_enable=YES
#允许使用"async ABOR"命令,一般不用,容易出问题
async_abor_enable=YES
管控是否可用ASCII 模式上传。默认值为NO。
ascii_upload_enable=YES
#管控是否可用ASCII 模式下载。默认值为NO。
ascii_download_enable=YES
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty
secure_chroot_dir=/usr/share/empty
3.         超时设置
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
#PAVS请求超时
ACCEPT_TIMEOUT=60
#PROT模式连接超时
connect_timeout=60
4.         服务器功能选项
#开启日记功能
xferlog_enable=YES
#使用标准格式
xferlog_std_format=YES
#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.
#log_ftp_protocol=NO
#允许使用pasv模式
pasv_enable=YES
#关闭安全检查,小心呀.
#pasv_promiscuous+NO
#允许使用port模式
#port_enable=YES
#关闭安全检查
#prot_promiscuous
#开启tcp_wrappers支持
tcp_wrappers=YES
#定义PAM 所使用的名称,预设为vsftpd。
pam_service_name=vsftpd
#当服务器运行于最底层时使用的用户名
nopriv_user=nobody
#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?)
pasv_address=(none)
5.         服务器性能选项
#是否能使用ls -R命令以防止浪费大量的服务器资源
#ls_recurse_enable=YES
#是否使用单进程模式
#one_process_model
#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
listen=YES
#当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。
text_userdb_names=NO
#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_localtime=NO
#测试平台优化
#use_sendfile=YES
6.         信息类设置
#login时显示欢迎信息.如果设置了banner_file则此设置无效
ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#显示会话状态信息,关!
#setproctitle_enable=YES
7.         文件定义
#定义不能更改用户主目录的文件
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/vsftpd.user_list
#定义登录信息文件的位置
banner_file=/etc/vsftpd/banner
#禁止使用的匿名用户登陆时作为密码的电子邮件地址
banned_email_file=/etc/vsftpd.banned_emails
#日志文件位置
xferlog_file=/var/log/vsftpd.log
#目录信息文件
message_file=.message
8.         目录定义
#定义用户配置文件的目录
user_config_dir=/etc/vsftpd/userconf
#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的.
local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk
#匿名用户登陆后的根目录
anon_root=/var/ftp
9.         用户连接选项
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5
#使用标准的20端口来连接ftp
connect_from_port_20=YES
#绑定到某个IP,其它IP不能访问
listen_address=192.168.0.2
#绑定到某个端口
#listen_port=2121
#数据传输端口
#ftp_data_port=2020
#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port=0
#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。
pasv_min_port=0
10.     数据传输选项
#匿名用户的传输比率(b/s)
anon_max_rate=51200
#本地用户的传输比率(b/s)
local_max_rate=5120000
11.     对其他用户配置
如果要对每个用户进行单独的控制,只需要在user_config_dir中建立username文件,内容为数据传输和用户权利里面设置个人的合适的选项,用户自定义文件同样适合用pam支持的虚拟用户
附: FTP 数字代码的意义
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路埠开启,准备传送。
150 文件状态正常,开启数据连接端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制连接埠关闭,可以注销。
225 数据连结开启,但无传输动作。
226 关闭数据连接端口,请求的文件操作成功。
227 进入passive mode。
230 使用者登入。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要账号信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。


Proftpd
                        #global也可不要,后面如设置多个虚拟站点清晰
IdentLookups            off     #连接快些还有后面的 UseReverseDNS
RequireValidShell       off     #匿名的一般需要加上这个
MaxLoginAttempts        1       #匿名的话1就可以了,最大密码验证次数
WtmpLog NONE                    #不记log到wtmp
DenyFilter *.*/|.ftpaccess     #DenyFilter做一些过滤,正则表达式
#DenyFilter ~!`**/?,$@         # 根据自己需要写吧,上面的好烂:P
#LsDefaultOptions       "-l"    #ls参数
#AllowForeignAddress    on      #要允许 FXP 写成 on
CommandBufferSize 128           #最大命令长度
DirFakeUser On FTP              #不显示给用户真实的用户、组
DirFakeGroup On FTP
DeferWelcome            on      #显示欢迎信息
PathDenyFilter  "(^.ftpaccess$)"       #同DenyFilter 过滤用
User                    nobody          #proftpd 以哪个用户、组的身份运行
Group                   nobody
TimesGMT off                            #时间

DenyAll
        #出于某些考虑,开始禁掉,后面需要再打开。READ也可加过来...
#也可以这里设置允许连接的网段 Login,或者后面,建议用防火墙

IgnoreHidden on


HideNoAccess on
AllowOverwrite          off     #禁止重写覆盖,后面打开允许续传
                    #AllowRetrieveRestart默认是on 也可以写进来

ServerName      "FTP server"
ServerType      standalone      #运行方式还可以用 inetd xinetd
ServerIdent on "Welcome to FTP" #身份验证前显示给用户的,也可用文件,这里略
DefaultServer   on
UseReverseDNS   off     #加快连接速度
Port            21      #FTP端口
Umask           022     #掩码为了便于管理用 002
PassivePorts    20000   30000           #被动模式端口段
SystemLog /var/proftpd/syslog   #log 注意自己加上 logrotate 配置
MaxInstances            250             #最大
TimeoutLogin            30              #身份验证超时
TimeoutIdle             120             #发呆超时
TimeoutNoTransfer       300             #无数据传输超时
#TimeoutStalled         300
#log一些自定义格式,根据需要调整或者用默认
LogFormat myxfer "%h %u %t ""%r"" %s %b"
LogFormat default "%h %a %u %t ""%r"" %s %b $$ '%F'"
LogFormat auth    "%h %a %t ""%r"" %s"
LogFormat write   "%h %a %t ""%r"" %s %b"
#匿名的根目录记得设置相应目录权限,ftp 用户应至少有 r x 权限

  User                          ftp
  Group                         ftpadmin
  Umask                         002
  UserAlias                     anonymous ftp
  MaxClients 50 "客满(%m)"      #人多时的提示信息,可以用一些变量
  #RateReadBPS 500000           #限速用
  MaxClientsPerHost 2 "连接数多"        #一个IP的连接数
  TransferLog NONE              #log
  ExtendedLog /var/proftpd/upload.log write myxfer      #log
  ExtendedLog /var/proftpd/download.log read myxfer     #log
  DisplayLogin          etc/welcome             #欢迎文件,可以用一些变量
  DisplayFirstChdir     .message                #改变目录时显示的消息
AuthAliasOnly on        #只允许 UserAlias 过的这里只允许 anonymous 不允许ftp

AllowAll
                #打开允许连接,可以这是允许访问的网段,建议防火墙

  AllowStoreRestart on  #允许上传目录,可以续传,不能覆盖
 
    AllowAll
 
              #如果不想让下载,只让上载可以加上
#DenyAll
            #到这差不多就完了,每个目录可以写 .ftpaccess 设置权限
#后面这两个可以参考根据需要
#在FTP根目录又不让看的,上面把欢迎信息放里面了,当然可以放别的

 
    DenyAll
 


    #限制特定IP段能看的,也可在目录的.ftpaccess里面设置
 
    Order deny,allow
    Allow from 166.111.
 


            #到这匿名的就完了

推荐阅读
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 了解多域名SAN SSL证书及其工作原理
    本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本项目分为七个主要阶段,包括项目启动、现状评估、风险管理、体系文件编写、体系发布与试运行、体系认证审核及项目收尾。每个阶段都设定了明确的任务和目标,以确保ISMS(信息安全管理体系)的有效实施。 ... [详细]
  • 理财规划:迈向财务自由的路径
    实现财务自由,摆脱经济压力,是许多人的梦想。财务自由不仅意味着有足够的财富支持生活,还包括能够灵活应对未来可能遇到的各种经济挑战。本文将探讨如何通过有效的理财规划达到这一目标。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 最新版 EasyCriteria 3.0 已正式上线,该版本经过全面重构,带来了多项性能优化与功能增强。更多详情请参阅官方文档:http://uaihebert.com/?p=1898 ... [详细]
  • 解决Win10系统自动删除破解软件的问题
    如何处理Win10系统频繁自动删除安装的破解软件?本文将详细介绍可能的原因及解决方案,帮助用户顺利安装所需软件。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 本文介绍如何在阿里云环境中利用 Docker 容器化技术部署一个简单的 Flask Web 应用,并确保其可通过互联网访问。内容涵盖 Python 代码编写、Dockerfile 配置、镜像构建及容器运行等步骤。 ... [详细]
author-avatar
往事如烟zhang_214
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有