热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统中vsftpd的安装和启动方法

特别值得一提的是Linuxvsftpd有很多值得学习的地方,这里我们主要介绍Linuxvsftpd,包括介绍Linuxvsftpd等方面。1.安装和启动Linuxvsftpd:$yuminstallvsftpd然后更改/etc/vsftpd/vsftpd.conf文件,在最后加上一行代码,使得Linuxvsftpd能够

特别值得一提的是Linux vsftpd有很多值得学习的地方,这里我们主要介绍Linux vsftpd,包括介绍Linux vsftpd等方面。

1. 安装和启动Linux vsftpd:

$ yum install vsftpd然后更改/etc/vsftpd/vsftpd.conf文件,在最后加上一行代码,使得Linux vsftpd能够运行在一个独立的进程上:listen=yes开启vsftp服务,若要开机自动启动,可以在System->Administration->Services里更改:$ service vsftpd start(/stop/restart)在防火墙中开启端口21,System->Administration->Firewall,选择FTP,启用之。此时,ftp服务已经可以匿名访问了。

2. 让服务器上的本地用户能够通过ftp访问服务器(当然,这些用户也可以通过SSH等方式访问):

首先修改/etc/vsftpd/vsfptd.conf,找到以下一行,去掉前面的注释:local_enable=YES重启服务之后,就可以允许本地用户访问了,其认证方式是采用pam(Pluggable Authentication Module)的方式,其相应的文件位于/etc/pam.d/vsftpd,这个同Gnome中每次打开update manager都会要求输入密码类似。在vsftpd.conf中也可以修改(pam_service_name)。但是如果要限制本地用户中的一部分用户通过ftp访问,可以通过修改配置文件实现。

在Linux vsftpd.conf中找到并修改为以下几行(若没有则需要添加),其意义为只允许指定的user_list文件中所列举的本地用户通过FTP登录,不在这个列表中的本地用户禁止登录:

userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/user_list

如果把上述第二行中userlist_deny=NO改为userlist_deny=YES,则情况正好相反,即只允许那些不在user_list文件中的本地用户通过FTP登录,而在这个列表中的本地用户则禁止登录。

在上述情况下,用户登录后可能出现无法查看目录的情形,但是能够改变目录和访问根目录"/",出现如下的错误:Response: 226 Transfer done (but failed to open directory).这是由于Fedora中默认开启了selinux(Security Enhanced Linux)服务,为了关闭此服务,应修改/etc/selinux/config文件,将SELINUX=enforced改为 SELINUX=disable,然后重启系统。

3.Linux vsftpd禁止用户改变home directory:

在默认情况下Linux vsftpd规定了如下变量值,该值表明所有的本地用户都不能改变home direcotry,对于一个名为test的用户来说,其默认home direcotry为/home/test/,改用户登录之后,由于有如下的设置,因此该用户不能navigate 到上一级的目录,也就是说他被锁定在了自己的home directory下,只能访问该目录及其子目录:chroot_local_user=YES

如果只需要控制某一部分用户不被锁定在home directory,则需要修改vsftpd.conf文件,找到并修改一下内容,这说明,位于/etc/vsftpd/chroot_list文件中的每一个用户都不被锁定,而其他不在该文件中的用户则均被锁定:

chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftdp/chroot_list

在上述设置中,若把chroot_local_user的值改为NO,则情况正好相反,说明位于chroot_list文件下的用户都被锁定,而其他不在该文件中的用户均不被锁定。

4. Linux vsftpd为用户增加修改和删除等权限

修改/etc/vsftpd/vsftpd.conf文件,找到并去掉以下一行的注释,即可赋予用户修改和删除文件的权限:write_enable=YES若要实现不同用户登录后赋予不同权限,则需要更加复杂的实现。

5. Linux vsftpd命令行下登录,查看中文文件出现乱码

由于Linux vsftpd下默认的字符集为UTF-8,而Windows中的默认字符集为GBK,因此当在linux下浏览Windows中的中文文件时,会出现乱码。如果客户端为FlashFXP或者FileZilla,都可以通过连接时设置字符集为UTF-8解决。但是如果通过命令行登录,则由于vsftp没有支持字符集的选择,也会出现乱码。对于FlashFXP, 首先需要把ftp地址保存到站点管理器,然后在站点管理器中选中该站点,点击高级->字符编码,选择UTF8。对于FileZilla,其设置方式类似。

目前还没有找到一个好的解决方案,有一种解决办法是通过打补丁解决,参考以下文档:http://forum.ubuntu.org.cn/viewtopic.php?f=54&t=28642&start=0

6. Linux vsftpd其他服务器参数配置

max_clients=5 #设置同时登录的最大连接数 ftpd_banner=Your welcome info here. #设置用户登录后的欢迎信息 ascii_upload_enable=YES#启用字符模式的上传,可能带来安全隐患 ascii_download_enable=YES #启用字符模式的下载 idle_session_timeout=300 #空闲时间超过300秒后断开连接 data_connection_timeout=300 #数据连接超时时间为300秒 xferlog_enable=YES #开启上传下载日志功能 xferlog_file=/var/log/vsftpd.log #日志文件存放位置 dirmessage_enable=YES #启用目录的.message信息


推荐阅读
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 网络安全实验:Telnet与SSH服务对比及抓包分析
    本实验旨在对比Telnet和SSH两种安全通信协议的服务差异,并通过搭建服务器和使用Wireshark抓包工具进行详细分析。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上安装和配置 MySQL、Tomcat 和 JDK 的步骤。通过本文,您将了解如何顺利安装这些组件,并确保它们能够正常协同工作。 ... [详细]
author-avatar
煭敻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有