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

ProFTPd的安装和配置

一、安装proftpd软件http://www.proftpd.org下载下来的是一个压缩包tarzxvfproftpd-1.3.1.tar.gz进行解压cdproftpd-1.3.1进入文件夹./configure--prefix/etc/proftpd把proftpd-1.3.1安装到/etc/proftpd文件夹

一、安装proftpd软件    http://www.proftpd.org下载下来的是一个压缩包

tar zxvf proftpd-1.3.1.tar.gz           进行解压

cd   proftpd-1.3.1            进入文件夹

./configure --prefix=/etc/proftpd       把proftpd-1.3.1安装到/etc/proftpd文件夹下

make

make install

make clean

二、新建用户

groupadd proftp 创建一个proftp组

useradd -g proftp -d /var/ftp/yatan -s /sbin/nologin yatan 这句话我的理解是(新建yatan用户,并把它加入proftp组,把yatan的目录建在/var/ftp目录下,并指定它的shell为nologin,这个nologin并不能让yatan用户进入linux系统

passwd yatan 设置yatan的密码

好了,用户设置好了 : )

三、在开始配置proftpd.conf文件之前进行以下操作:

1、因为我用的是红帽子as4.0的,所以先要把自带的vsftpd给停掉

service vsftpd stop 或者直接 rpm Ce vsftpd

2、设置一个proftpd的启动服务

编辑一个启动脚本,

cd      proftpd-1.3.1 进入proftpd-1.3.1的解压文件夹中

cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd 拷贝proftpd.init.d到/etc/rc.d/init.d文件夹中,并改名为proftpd

vi /etc/rc.d/init.d/proftpd 编辑这个文件,找到文件中有一行是PATH行,将它改成你所安装proftpd所在的目录。

PATH="$PATH:/etc/proftpd/sbin:/etc/proftpd/bin" 我是安装在/etc/proftpd文件下,保存退出

3、把/etc/rc.d/init.d/proftpd设成可执行文件

chmod +x /etc/rc.d/init.d/proftpd

# 然后运行命令:

[root@localhost /]# chkconfig --level 35 proftpd on

# 则下次系统启动以后,proftpd将自动启动。

chkonfig Cadd proftpd

这样就可以用service proftpd start和service proftpd stop 和service proftpd restart来分别执行开启服务,停止服务与重启服务

差点忘了要改配置文件了,嘻

vi /etc/proftpd/etc/proftpd.conf

在全局配置里把group的值为nogroup改成nobody

好了,配置前的工作做好了

四、现在正式来配置proftpd.conf里的权限设置,

vi /etc/proftpd/etc/proftpd.conf 这是我的配置文件:

# This is a basic ProFTPD configuration file (rename it to

# 'proftpd.conf' for actual use.    It establishes a single server

# and a single anonymous login.    It assumes that you have a user/group

# "nobody" and "ftp" for normal operation and anon.

ServerName                          "ProFTPD Default Installation"

ServerType                          standalone

DefaultServer                          on

# Port 21 is the standard FTP port.

Port                                  21

# Umask 022 is a good standard umask to prevent new dirs and files

# from being group and world writable.

Umask                                  022

# To prevent DoS attacks, set the maximum number of child processes

# to 30.    If you need to allow more than 30 concurrent connections

# at once, simply increase this value.    Note that this ONLY works

# in standalone mode, in inetd mode you should use an inetd server

# that allows you to limit maximum number of processes per service

# (such as xinetd).

MaxInstances                          30

# Set the user and group under which the server will run.

User                                  nobody

Group                                  nobody (这边就是我在上一步所讲的设置成nobody)

# To cause every FTP user to be "jailed" (chrooted) into their home

# directory, uncomment this line.

DefaultRoot ~(阻止用户到其他目录,它们只能呆在自家目录)

# Normally, we want files to be overwriteable.

AllowOverwrite                  on

# Bar use of SITE CHMOD by default

;

    DenyAll

;

# A basic anonymous configuration, no upload directories.    If you do not

# want anonymous users, simply delete this entire ; section.

    User                                  ftp

    Group                                  ftp

    # We want clients to be able to login with "anonymous" as well as "ftp"

    UserAlias                          anonymous ftp

    # Limit the maximum number of anonymous logins

    MaxClients                          10

    # We want 'welcome.msg' displayed at login, and '.message' displayed

    # in each newly chdired directory.

    DisplayLogin                          welcome.msg

    DisplayFirstChdir                  .message

    # Limit WRITE everywhere in the anonymous chroot

   

      DenyAll

   

AllowOverwrite on

AllowStoreRestart on

#AllowForeignAddress on

AllowAll

DenyUser yatan

(这几句是对yatan用户的权限限制,只允许它对/var/ftp/yatan有写的权限,不允许它有DELE RNFR RNTO RMD XRMD的权限)

存盘退出

service proftpd restart

五、修改一下/var/ftp目录的权限

chmod CR 775 /var/ftp

这样tc对/var/ftp/skate的文件具有写,删,改,执行的所有权限。

六、成功配置


推荐阅读
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • 本文介绍如何使用RFC 5545重复规则在C#中实现类似于Google日历中的事件安排功能,特别是针对每月特定工作日的事件。我们将探讨如何精确设置这些规则以确保事件按照预期频率和日期触发。 ... [详细]
  • 本文详细介绍了钩子(hook)的概念、原理及其在编程中的实际应用。通过对比回调函数和注册函数,解释了钩子的工作机制,并提供了具体的Python示例代码,帮助读者更好地理解和掌握这一重要编程工具。 ... [详细]
  • 本文介绍了如何在React和React Native项目中使用JavaScript进行日期格式化,提供了获取近7天、近半年及近一年日期的具体实现方法。 ... [详细]
  • 本文探讨了在Django项目中,如何在对象详情页面添加前后导航链接,以提升用户体验。文章详细描述了遇到的问题及解决方案。 ... [详细]
  • vivo Y5s配备了联发科Helio P65八核处理器,这款处理器采用12纳米工艺制造,具备两颗高性能Cortex-A75核心和六颗高效能Cortex-A55核心。此外,它还集成了先进的图像处理单元和语音唤醒功能,为用户提供卓越的性能体验。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 1,bat由来:BATCH,一批,成批作业,批处理文件后缀BAT就取的前三个字母。2,Pingsz.tencent.com>a.txt>的作用为, ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 针对表格详情切换功能,对HTML代码进行了优化和调整,以确保更好的显示效果和用户体验。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
author-avatar
秋荼凝脂_697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有