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

Ubuntu系统中vsftp的安装和配置步骤

Ubuntuvsftp的简述:VSFTP(VerySecureFTPDaemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。除了安全和性能方面很优秀的外,还有很好的易用性。RedHat公司在自
Ubuntu vsftp的简述:VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。除了安全和性能方面很优秀的外,还有很好的易用性。Red Hat公司在自己的FTP服务器(ftp.redhat.com)上就使用了vsFTPd 。

部署VSFTP

本文以ubuntu9.10为例进行部署,其他Linux发行版本类似。

1。安装

$ sudo apt-get install vsftpd

2。 配置

需要配置文件/etc/vsftpd.conf 来进行设置参数以对FTP进行控制,包括访问权限,流量等进行控制。

执行sudo vi /etc/vsftpd.conf (或sudo gedit /etc/vsftpd.conf )可以看到配置文件中的默认参数,其中加#为注释。在/etc/vsftpd.conf里添加或者修改参数意义如下所示:

1>常用参数意义,是具体情况配置

#anonymous_enable 是否允许匿名ftp,如否则选择NO,默认允许匿名访问,注意当允许是所有用户均视为匿名登录。

#local_enable 是否允许本地用户访问,是指VSFTP所在机器上的注册用户。

#local_umask=022 默认的umask码

#write_enable 是否允许本地用户修改和删除

#local_umask=022 FTP上传文件权限 ,默认是077

#anon_upload_enable=YES 是否允许匿名用户上传

#anon_mkdir_write_enable=YES 是否允许匿名用户的写和创建目录的权限

#dirmessage_enable=YES 当切换目录时,是否显示该目录下message隐藏文件的内容

#xferlog_enable=YES 是否激活上传和下载的日志

#connect_from_port_20=YES 是否启动FTP数据端口20的连接请求

#chown_uploads=YES 是否改变上传文件的所有者

#chown_username=whoever 改变上传文件的所有着为whoever

#xferlog_file=/var/log/vsftpd.log 上传/下载日志文件所默认的路径

#xferlog_std_format=YES 是否使用标准的ftpd xferlog日志格式

#idle_session_timeout=600 是否将在用户会话空闲10分钟后被中断

#data_connection_timeout=120 是否将在数据连接空闲2分钟后被中断

#nopriv_user=ftpsecure 是否运行vsftpd需要的非特殊系统用户默认nobody

#async_abor_enable=YES 是否是否允许运行特殊的FTP命令async

#ascii_upload_enable=YES 是否启用上传的ascii传输方式

#ascii_download_enable=YES 是否启用下载的ascii传输方式

#ftpd_banner=Welcome to blah FTP service. 用户连接服务器后显示信息

#deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list #指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。

注意:当chroot_local_user=NO、chroot_list_enable=YES时,vsftpd.chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。

当chroot_local_user=YES、chroot_list_enable=YES时,vsftpd.chroot_list中用户为非锁定用户,他们可以访问任何其他目录。

local_root=/var/www/web (路径自定义)#定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录)

write_enable=YES

max_clients=100 #FTP服务器最大承载用户

max_per_ip=5 #限制每个IP的进程

local_max_rate=256000 #最大传输速率(b/s)

hide_ids=YES #是否隐藏文件的所有者和组信息

idle_session_timeout= 3000  #空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。

2>配置vsftpd.chroot_list

增加需要锁定/非锁定目录的用户(根据自己情况添加)

3>删除vsftp默认访问路径

$ sudo rmdir /home/ftp 根据local_root定义的目录,新建一个,以控制登陆用户进入此目录

4>重启vsftp服务

$ /etc/init.d/vsftpd restart

注意一点,在设置用户对文件的访问权限时,注意如果要是登陆用户有上传的权限,则不仅要进行上述配置文件参数的设置,同时还要保证用户对进入的目录有写的权利,一般可设为755,这就意味这可以通过对本地用户本身的权限和FTP所配置的权限结合进行有效的访问控制。

把匿名目录改成/VAR/WWW 环境 ubuntu 9.0.4

在vsftpd.conf中加

anon_root=/var/www
anon_other_write_enable=YES    //是否允许匿名用户登录后执行其他操作(删除重命名等)?
当然以上权限会导致极不安全,我只是局域网内使用


推荐阅读
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 了解多域名SAN SSL证书及其工作原理
    本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文通过分析一个具体的案例,探讨了64位Linux系统对32位应用程序的兼容性问题。案例涉及OpenVPN客户端在64位系统上的异常行为,通过逐步排查和代码测试,最终定位到了与TUN/TAP设备相关的系统调用兼容性问题。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
author-avatar
能然然520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有