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

【linux】LINUXFTP搭建

1.安装ftp服务yuminstallvsftpd2.编辑配置文件vsftpd的配置文件有三个,分别是:etcvsftpdvsftpd.confetcv

1.安装ftp服务

  yum install vsftpd

2.编辑配置文件

 vsftpd的配置文件有三个,分别是:
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
其中,/etc/vsftpd.conf是主配置文件。/etc/vsftpd.ftpusers中指定了哪些用户不能访问FTP服务器。

/etc/vsftpd.user_list中指定的用户默认情况下(即在/etc/vsftpd.conf中设置了userlist_deny= YES)不能访问FTP服务器,

当在/etc/vsftpd.conf中设置了userlist_deny=NO时,仅仅允许 /etc/vsftpd.user_list中指定的用户访问FTP服务器。
二、vsftpd的默认主配置文件

vsftpd的默认主配置文件的内容如下:
//允许匿名登录
anonymous_enable=YES
//允许本地用户登录
local_enable=YES
//开放本地用户的写权限
write_enable=YES
//设置本地用户的文件生成掩码为022,默认值为077
local_umask=022
//当切换到目录时,显示该目录下的.message隐含文件的内容
//这是由于默认情况下有message_file=.message的 设置
dirmessage_enable=YES
//激活上传和下载日志
xferlog_enable=YES
//启用FTP数据端口的连接请求
connect_from_port_20=YES
//使用标准的ftpd xferlog日志格式
xferlog_std_format=YES
//设置PAM认证服务的配置文件名称,该文件存放 在/etc/pam.d/目录下
#pam_service_name=vsftpd

三、进一步配置vsftpd

1.允许匿名用户上传
为了使匿名用户能够上传,需要在/etc/vsftpd中激活两个配置选项,分别是:

anon_upload_enable=YES
//允许匿名用户上传
anon_mkdir_write_enable=YES
//开 启匿名用户的写和创建目录的权限
若要以上两项设置生效,同时还要求:

write_enable=YES
//匿名用户对文件系统的上传目录具有写权限

添加如下的配置语句:

anon_world_readable_only=NO
//上面的配置语句用于放开匿名用户的浏览权限

创建匿名上传目录:

mkdir /var/ftp/incoming

修改上传目录的权限:

chmod o+w /var/ftp/incoming/

重新启动vsftpd.

2.启用ASCII传输方式
默认情况下,vsftpd为了安全,禁止了ASCII传输方式。虽然在ftp客户软件中可以使用asc命令,但是传输文件时仍然使用二进制传输方式。可以分别启用上传和下载的ASCII传输方式,方法是编辑/etc/vsftpd配置文件,将如下两 行前的#去掉即可 启用:

#ascii_upload_enable=YES
#ascii_download_enable=YES

3.设置连接服务器后的欢迎信息
为了使用户连接服务器后显示信息,vsftpd提供了两个选项,分别是:

ftpd_banner
banner_file

例如:可以设置如下的ftpd_banner选项的值:
ftpd_banner=Welcome to Smartraining FTP service.
即:用户连接服务器后显示信息“Welcome to Smartraining FTP service.”。
也可以设置如下的banner_file选项的值:

banner_file=/var/vsftpd_banner_file

即:用户连接服务器后显示文件/var/vsftpd_banner_file中的信息。
注意:(1)如果设置了ftpd_banner的值,将覆盖vsftpd默认的服务器连接后的信息。
(2)如果ftpd_banner和banner_file同时设置,那么banner_file将覆盖ftpd_banner的设置。

4.配置基本的性能和安全选项
//设置空闲的用户会话的中断时间
例如下面的配置:

idle_session_timeout=600

将在用户会话空闲10分钟后被中断。

//设置空闲的数据连接的的中断时间
例如下面的配置:

data_connection_timeout=120

将在数据连接空闲2分钟后被中断。

//设置客户端空闲时的自动中断和激活连接的时间
例如下面的配置:

accept_timeout=60
connect_timeout=60

将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接

//设置最大传输速率限制
例如下面的配置:

local_max_rate=50000
anon_max_rate=30000

将使本地用户的最大传输速率为50kbytes / sec,匿名用户的 传输速率为30 kbytes / sec。

//设置客户端连接时的端口范围
例如下面的配置:

pasv_min_port=50000
pasv_max_port=60000

将使客户端连接时的端口范围在50000和60000之间。这提高了系统的安全性。

//设置chroot
在 默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限许可的范围内进行下载和上传。这样的设置对于一个FTP服务器来说是不安全的。如果希望用户登录后不能切换到自家目录以外的目录,则需要设置chroot选项,涉及如下选项:

chroot_local_user
chroot_list_enable
chroot_list_file

有两种设置chroot的方法:
(1)设置对所有的本地用户执行chroot(即活动范围限制在自家目录)只要将chroot_local_user的值设 为YES即可, 即:

chroot_local_user=YES

(2)设置指定的用户执行chroot需要如下的设置:

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file= /etc/vsftpd.chroot_list

这样,只有/etc/vsftpd.chroot_list文件中指定的用户才执行chroot。
注意 :上面所提及的文件/etc/vsftpd.chroot_list和下面将要提及的文件 /etc/vsftpd.user_list的格式要求均为每个 用户名占一行。

5.配置基于本地用户的访问控制
要配置基于本地用户的访问控制,可以通过修改vsftpd的主配置文件/etc/vsftpd.conf来进行, 有两种限制方法:

1)限制指定的本地用户不能访问,而其他本地用户可访问
例如下面的设置:

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

使文件/etc/vsftpd.user_list中 指定的本地用户不能访问FTP服务器,而其他本地用户可访问FTP服务器。

2)限制指定的本地用户可以访问,而其他本地用户不可访问
例如下面的设置:

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

使文件/etc/vsftpd.user_list中 指定的本地用户可以访问FTP服务器,而其他本地用户不可以访问FTP服务器。
注意:对于userlist_enable可以这样理解:
如果userlist_enable=YES,表示vsftpd将从userlist_file选项给出的文件名中装载一个含有用户名的清单。然后再读取 userlist_deny的值来确定vsftpd.user_list中的用户是否允许访问FTP服务器。如果用户不能访问,将在输入用户口令前被拒绝。

6.配置基于主机的访问控制
由于vsftpd有两种运行方式,即:由inetd启动和独立启动。这两种运行方式的主机访问控制配置是不同的,下面介绍的是由xinetd启动的vsftpd的主机访问控制的配置。显然,要配置这种主机访问控制,需要修改配置文件/etc/xinetd.d/vsftpd。

1)只允许指定的主机访问
在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句:

only_from <主机表>

例如&#xff1a;only_from 192.168.1.0
表示只允许192.168.1.0网段内的主机访问。

2&#xff09;指定不能访问的主机
在配置文件/etc/xinetd.d/vsftpd的&#xff5b;&#xff5d;中添加如下的配置语句&#xff1a;

no_access <主机表>

例如&#xff1a;no_access 192.168.1.0
表示只有192.168.1.0网段内的主机不能访问。

关于主机表的书写形式&#xff0c;见下表&#xff1a;
访问控制表时主机表的书写语法
选项值 含义
Hostname 可解析的主机名
IP Address 十进制表示的IP地址
Net_name 在/etc/networks中定义的网络名
x.x.x.0 x.x.0.0 x.0.0.0 0.0.0.0 0作为通配符看待。如&#xff1a;191.72.61.0匹配从191.72.61.0到191.72.61.255的所有IP地址。0.0.0.0表示匹配所有的IP地址
x.x.x.{a,b,.} x.x.{a,b,.} x.{a,b,.} 指定主机表。如&#xff1a;191.72.61.{1,3,123}表示包含地址191.72.61.1、191.72.61.2和191.72.61.123
IPAddress/netmask 定义要匹配的网络或子网。如&#xff1a;172.19.16/20匹配从172.19.16.0到172.19.31.255


3&#xff09;配置每个客户机的最大连结数
//在置文件/etc/xinetd.d/vsftpd的&#xff5b;&#xff5d;中添加如下的配置语句&#xff1a;

per_source &#61; 数值

例如&#xff1a;per_source &#61; 5表示每个客户机的最大连接数为5。

4&#xff09;配置服务器总的并发连接数
在配置文件/etc/xinetd.d/vsftpd的&#xff5b;&#xff5d;中添加如下的配置语句&#xff1a;

instances &#61; 数值

例如&#xff1a;instances &#61; 200 表示FTP服务器总共支持的最高连接数为200。

5&#xff09;配置访问时间限制

在配置文件/etc/xinetd.d/vsftpd的&#xff5b;&#xff5d;中添加如下的配置语句&#xff1a;

access_time &#61; hour:min-hour:min

例如&#xff1a;access_time &#61; 18:00-23:59 表示只有在下午6点到午夜0点之前才能访问此FTP服务器&#xff1b;
又如&#xff1a;access_time &#61; 8:30-11:30 13:00-18:00 表示只有在上午8点半到11点半和下午1点到下午6点才能访问此FTP服务器。

FTP用户添加。

useradd -d /home/test1 -s /sbin/nologin test1 //创建匿名用户

passwd test  //设置用户 密码

&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;如何处理500错误&#61;&#61;&#61;&#61;&#61;
原因: selinux上
redhat面向目标是企业&#xff0c;为了安全&#xff0c;
增加了一个selinux的服务&#xff0c;secrity enhanced , 安全加强服务&#xff0e;
关闭&#xff1a;
vi /etc/selinux/config
SELINUX&#61;disabled
保存&#xff0c;
然后 运行 setenfoce 0 命令即可

 

转:https://www.cnblogs.com/tl542475736/p/3788650.html



推荐阅读
  • 开发日志:高效图片压缩与上传技术解析 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 深入解析CAS机制:全面替代传统锁的底层原理与应用
    本文深入探讨了CAS(Compare-and-Swap)机制,分析了其作为传统锁的替代方案在并发控制中的优势与原理。CAS通过原子操作确保数据的一致性,避免了传统锁带来的性能瓶颈和死锁问题。文章详细解析了CAS的工作机制,并结合实际应用场景,展示了其在高并发环境下的高效性和可靠性。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 深入解析 OpenSSL 生成 SM2 证书:非对称加密技术与数字证书、数字签名的关联分析
    本文深入探讨了 OpenSSL 在生成 SM2 证书过程中的技术细节,重点分析了非对称加密技术在数字证书和数字签名中的应用。非对称加密通过使用公钥和私钥对数据进行加解密,确保了信息传输的安全性。公钥可以公开分发,用于加密数据或验证签名,而私钥则需严格保密,用于解密数据或生成签名。文章详细介绍了 OpenSSL 如何利用这些原理生成 SM2 证书,并讨论了其在实际应用中的安全性和有效性。 ... [详细]
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社区 版权所有