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

Linux系统安装配置vsftp

先到vsftp的官方下载ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz软件我在这里使用的是2.0.3的现在最高的是2.0.6在这里就不写匿名用户的配置,在下面的配置中会包匿名用户屏蔽不使用匿名,我的软件是下载到root目录下的然后我们把文件复制到use/
先到vsftp的官方下载ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz软件我在这里使用的是2.0.3的现在最高的是2.0.6

在这里就不写匿名用户的配置,在下面的配置中会包匿名用户屏蔽不使用匿名,我的软件是下载到root目录下的 然后我们把文件复制到use/local下 然后使用:

# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序

# cd vsftpd-2.0.3 \\进入这个文件

# nano builddefs.h \\编辑builddefs.h 文件,文件内容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H

#undef VSF_BUILD_TCPWRAPPERS

#define VSF_BUILD_PAM

#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */

将以上#undef VSF_BUILD_TCPWRAPPERS改为 #define VSF_BUILD_TCPWRAPPERS

然后#make make完毕后 #make install

接着cp vsftpd.conf /etc 再cp RedHat/vsftpd.pam /etc/pam.d/ftp

创建必要的帐号,目录:

# useradd nobody //可能你的系统已经存在此帐号,那就不用建立

# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立

重点必须建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立

重点# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立

重点 # chown root:root /var/ftp

# chmod og-w /var/ftp

请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin

现在开始编辑etc/vsftpd.conf

关闭匿名用户登陆 在anonymous_enable=YES前面加# 变成#anonymous_enable=YES

允许本地用户登陆 把#local_enable=YES前面的#去掉 变成local_enable=YES

允许本地用户上传 把#write_enable=YES前面的#去掉 变成write_enable=YES

如果你不想上传后的文件执行 就把#local_umask=022前面的#去掉 变成local_umask=022

同时在最下面加上listen=YES 让服务器自动监听 改变端口在最后面加上listen_port=端口号

更改完毕后 使用/usr/local/sbin/vsftpd &来启动服务器进行连接测试 ftp localhost 端口号(如果是默认端口就不用加端口号).

安全选项
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000?60000之间)
Max_clients=200 (FTP的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)

查看谁登陆了FTP,并杀死它的进程
ps Cxf |grep ftp
kill 进程号
我们开始建立指定FTP用户

配置本地组访问的FTP
首先创建用户组 test和FTP的主目录
groupadd test
mkdir /tmp/test
然后创建用户

useradd -G test Cd /tmp/test CM usr1
注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定

M:不建立默认的自家目录,也就是说在/home下没有自己的目录

useradd CG test Cd /tmp/test CM usr2
接着改变文件夹的属主和权限

chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有
然后给usr1设置密码 passwd usr1 然后输入两遍密码
测试 ftp localhost 33333 使用usr1和密码登陆 然后使用put /etc/services services 上传文件
再使用ls察看上传后的文件
这个实验的目的就是usr1有上传、删除和下载的权限

而usr2只有下载的权限没有上传和删除的权限

当然啦大家别忘了我们的主配置文件vsftpd.conf

要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!

配置独立FTP的服务器的非端口标准模式进行数据连接

这个非常容易:在VSFTPD。CONF中添加Listen_port=33333

就可以了啦! 在这里要强调的是 更改了端口后 FTP登陆必须把使用被动模式勾掉 不然登陆不了


推荐阅读
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 智能医疗,即通过先进的物联网技术和信息平台,实现患者、医护人员和医疗机构之间的高效互动。它不仅提升了医疗服务的便捷性和质量,还推动了整个医疗行业的现代化进程。 ... [详细]
  • 本文回顾了2017年的转型和2018年的收获,分享了几家知名互联网公司提供的工作机会及面试体验。 ... [详细]
  • Spring Boot单元测试中Redis连接失败的解决方案
    本文探讨了在Spring Boot项目中进行单元测试时遇到Redis连接问题的原因及解决方法,详细分析了配置文件加载路径不当导致的问题,并提供了有效的解决方案。 ... [详细]
  • 2020初级电工模拟题库与实操视频指南
    本文提供2020年初级电工模拟考试题库及实操视频资源,涵盖最新大纲和真题解析,帮助考生高效备考。内容包括理论知识、实操技能以及详细答案解析,适用于全国各地区电工(初级)考试。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文探讨了如何通过树立正确的保密观念、加强培训和提高涉密人员的专业素质来确保信息的安全性和机密性。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • Java EE开发技术课程学习平台设计与实现
    本文详细介绍了一款基于Java EE开发技术的在线学习平台,涵盖系统设计、流程分析、功能模块及源码分享等内容,提供从需求分析到部署的全面指导。 ... [详细]
author-avatar
倪思慧1888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有