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

将ProFTPd用户限制在自己的home目录/根目录/家目录

ProFTPD是当前应用在Linux操作系统中最流行的FTP-serving软件包之一,这归咎于这一工具的可扩展特性以及容易配置的语法功能。虽然使用ProFTPD的方法很简单,但你必须正确对其进行配置,否则将有可能泄露操作系统中易受攻击的内容。例如,假设你负责管理一
ProFTPD是当前应用在Linux操作系统中最流行的FTP-serving软件包之一,这归咎于这一工具的可扩展特性以及容易配置的语法功能。虽然使用ProFTPD的方法很简单,但你必须正确对其进行配置,否则将有可能泄露操作系统中易受攻击的内容。

例如,假设你负责管理一个用户注册时要求提供正确帐号和密码的私人FTP网站,在默认情况下,用户访问文件系统的权限是相同的。他们可以在有权限访问的目录之下编写文件,以及可以在有权限访问的目录下阅读(或者下载)文件。

除了UNIX操作系统之外,这一功能并不是什么好事情。在很多时候,使用FTP的用户没有权利访问系统,而且也不能阅读一些重要文件,比如在/etc下的配置文件。但是给用户提供一个FTP帐户,你又要给用户提供其它很多的信息。

然而,这一问题的解决方案非常简单。ProFTPD允许将用户chroot(或限制)在一个特殊的目录之下,包括UNIX操作系统协议所允许的所有文件和子目录。为了将所有用户限制在指定的主目录下,可以在proftpd.conf配置文件中使用DefaultRoot keyword,如下所示:
DefaultRoot ~

这样就可以将用户chroot(或限制)在他们的主目录之下(~/)。通过更改目录,用户可以进入到自己的主目录下,可以下载一些像ssh的重要文件。

你可以将用户chroot(或限制)在一个子目录或者其它的目录。例如,可以使用下面的命令:
DefaultRoot ~/public_html

这一命令即将用户chroot(或限制)在~/public_html,这就使他们可以使用自己的Web页面,这一操作是比较安全的。

推荐阅读
  • 本文基于https://major.io/2014/05/13/coreos-vs-project-atomic-a-review/的内容,对CoreOS和Atomic两个操作系统进行了详细的对比,涵盖部署、管理和安全性等多个方面。 ... [详细]
  • 本文将探讨iOS开发过程中需要掌握的三种关键编程语言——C、Objective-C和Swift,并深入解析面向过程与面向对象编程的概念,同时对比iOS与Android两大移动平台的特点。 ... [详细]
  • 本文旨在分享将Hadoop集群从Windows环境迁移到Linux环境过程中遇到的技术难题及其解决方案,以帮助同行或未来的学习者避免类似问题。 ... [详细]
  • 本文档详细规划了从基础到高级的软件测试学习路径,包括但不限于测试基础、Linux和数据库、功能测试、Python编程、接口测试、性能测试、金融项目实战、UI自动化测试等内容,旨在为初学者和进阶者提供全面的学习指导。 ... [详细]
  • MHA 架构详解与实践
    MHA(Master High Availability)是一种高效的主从切换解决方案,确保了数据的一致性和系统的高可用性。本文将详细介绍MHA的功能、主从切换流程以及配置步骤,并探讨其优缺点。 ... [详细]
  • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
  • 本文针对公司项目中普遍存在的IE浏览器兼容性问题,特别是IE9及以下版本,提出了具体的解决方案,确保用户在这些旧版浏览器中也能顺利实现图片上传预览功能。 ... [详细]
  • 深入浅出:Java面向对象编程
    本文详细介绍了Java语言的核心特性——面向对象编程。探讨了Java的基本概念、平台无关性、丰富的内置类库及安全性,同时深入解析了类加载器、垃圾回收机制以及基本数据类型和其包装类。 ... [详细]
  • Linux中实用的文件传输命令:rz与sz
    在生物信息学研究中,频繁地在本地与远程Linux服务器间传输文件是一项常见需求。无论是上传待分析的数据集还是下载处理后的结果,高效便捷的文件传输方法至关重要。 ... [详细]
  • 本文介绍如何使用ShlObj单元中的ShAddToRecentDoc函数,将指定路径的文档添加到Windows系统的最近使用列表中,具体实现包括调用方法和参数设置。 ... [详细]
  • Python面向对象编程入门(十二):深入理解类与实例
    本文详细介绍了Python中的新式类与经典类的区别,包括类的定义、实例化过程、方法调用机制、类属性的使用及查看方式等内容,并通过具体示例展示了如何创建和使用类。 ... [详细]
  • HQChart 是首个将传统的PC端股票客户端(C++)移植至 jspy 平台的项目,支持 K 线图和麦语言(分析家语法)指标计算。此次更新主要增加了通达信集合竞价图等功能。 ... [详细]
  • 本文介绍了如何在Java中使用`JCheckBoxMenuItem.setMnemonic()`方法,并提供了多个实际应用的代码示例。 ... [详细]
  • 本文介绍了在Linux系统中如何使用不同的命令和工具来查看和检查端口状态,包括有权限和无权限情况下的操作方法。 ... [详细]
  • 本文介绍如何通过 CSS 设置不同的光标样式,以提升网页的用户体验。 ... [详细]
author-avatar
djw
匠心独运
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有