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

CentOS安装vsFTPd并限制用户只允许访问home目录

1.yum安装vsftpd:2touch/var/log/vsftpd.log#创建vsftp的日志文件2.设置每次开机时自动运行及手工启动它:可以查看ftp端口是否在侦听了!3.配置文件配置/etc/vsftpd/ftpusers和/etc/vsftpd/user_list,#不能登陆FTP的用户;配置/etc/vs

1.yum安装vsftpd:

2 touch /var/log/vsftpd.log # 创建vsftp的日志文件

2.设置每次开机时自动运行及手工启动它:

可以查看ftp端口是否在侦听了!
3.配置文件
配置/etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list,#不能登陆FTP的用户;
配置 /etc/vsftpd/vsftpd.conf

2 anonymous_enable=NO #设定不允许匿名用户访问
3 chroot_local_user=YES #把系统内所有的FTP用户都限制在家目录中 xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
4 ascii_upload_enable=YES
5 ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。
6 pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

4.设定FTP目录

1 #修改 /home/wwwroot 目录属性:
2 chmod -R 777 /home/wwwroot
3 #递归地给此目录下所有文件和子目录的读、写、执行权限
4 chgrp -R ftp /home/wwwroot

递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
5.增加FTP用户

1 adduser -d /home/wwwroot -g ftp -s /sbin/nologin 用户名
2 #增加用户,组是FTP,目录是/home/wwwroot
5 Changing password for user beinan.
8 passwd: all authentication tokens updated successfully.

6.重启FTP

2 guest_enable=YES #设定启用虚拟用户功能。
3 guest_username=ftp #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
4 user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性的配置文件(配置文件名=虚拟用户名)

7.有时会出现上传多个小文件时卡住的情况,可以编辑/etc/vsftpd/vsftpd.conf如下:

1 vi /etc/vsftpd/vsftpd.conf
2 connect_from_port_20=YES
5 data_connection_timeout=1

或者将文件打包上传到服务端再解压来解决此问题。
8.修改已有用户的FTP目录

1 usermod -d /home/www/abc.com abc

注: /home/www/abc.com 为修改的目标文件夹 abc 为要修改目录的用户名
9.vsftpd的默认设置是所有目录都可以被客户进入,极为不安全,因此要限制用户可以访问目录,限制用户只能访问自己家目录,设置方法如下:

chroot_local_user=YES就行了。

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list代替也行。

在vsftpd.conf最下面增加这一行,重启ftp即可

本机可以测试:

01 [root@hexuweb101 username]# ftp
03 Connected to 127.0.0.1 (127.0.0.1).
05 Name (127.0.0.1:root): username
06 331 Please specify the password.
09 Remote system type is UNIX.
10 Using binary mode to transfer files.

说明可以正常访问了。 如果外部不能访问就需要检查Iptable设置了。

如果不能正常访问,查看是什么问题:
1. 查看配置:

2. 查看登陆情况:

1 tail -f /var/log/secure

3. 查看Iptables
在Iptables添加:

1 vi /etc/sysconfig/iptables
2 iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3 iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

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