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

freebsd系统安装ProFTPd服务器

源码包安装:1.安装proftpd1---------------------------------------------------------------------freebsd#tarzxvfproftpd-1.2.10.tar.gzfreebsd#cdproftpd-1.2.10freebsd#./con
源码包安装:
1. 安装proftpd1
---------------------------------------------------------------------
freebsd# tar zxvf proftpd-1.2.10.tar.gz
freebsd# cd proftpd-1.2.10
freebsd# ./configure --prefix=/usr/local/proftpd
freebsd# make
freebsd# make install
2. 创建ftpassswd命令
---------------------------------------------------------------------
从 http://www.castaglia.org/proftpd/contrib/ftpasswd 获得ftpasswd的perl源代码,
并保存为 /usr/local/proftpd/sbin/ftpasswd 。
freebsd# chmod 755 /usr/local/proftpd/sbin/ftpasswd
通过ftpasswd命令,可以对ProFTPD的虚拟用户进行管理。
freebsd# echo "wheel:*:0:" >> /usr/local/proftpd/etc/ftpd.group freebsd# /usr/local/proftpd/sbin/ftpasswd --passwd --name=admin --uid=2001 --gid=0 --home=/ftp/admin --
shell=/bin/bash --file=/usr/local/proftpd/etc/ftpd.passwd
...
Password:
Re-type password:
freebsd# /usr/local/proftpd/sbin/ftpasswd --passwd --name=kerry --uid=2101 --gid=2000 --home=/ftp/kerry
--shell=/usr/sbin/nologin --file=/usr/local/proftpd/etc/ftpd.passwd
...
Password:
Re-type password:
之后会自动生成/usr/local/proftpd/etc/ftpd.passwd
freebsd# chmod -R 777 /ftp/admin
freebsd# chmod -R 777 /ftp/kerry
要注意,因为虚拟用户并不在本地系统用户中存在,所以要设置虚拟用户可以访问的所有目录都允许其它用户写,这样
才能保证虚拟用户正常增删文件。
3. 修改配置文件
------------------------------------------------------------------------------------
freebsd# vi /usr/local/proftpd/etc/proftpd.conf
ServerName "My FTP Server"
ServerType standalone
DefaultServer on
#Bind 10.10.10.10
ExtendedLog /var/log/proftpd read,write,auth
# 原来的设置项是ScoreboardPath,但现在版本的proftpd已不再支持,改用ScoreboardFile
ScoreboardFile /usr/local/proftpd/var/proftpd/proftpd.scoreboard
Port 21
Umask 022
MaxInstances 500
MaxClients 100
# 如果允许匿名访问或多人共用同一帐号,MaxHostsPerUser和MaxClientsPerUser不应设置过小,或不用设置
MaxHostsPerUser 100 "Sorry, only 1 host allowed per user!"
MaxClientsPerUser 100 "Sorry, only 1 connection allowed per user!"
TimeoutIdle 600
TimeoutStalled 600
# 不显示服务器相关信息, 如proftpd版本
ServerIdent off
# 禁用反向域名解析
UseReverseDNS off
# 支持FXP
AllowForeignAddress on
# 支持被动模式
PassivePorts 49152 65534
AllowOverwrite on
# 允许下载续传,默认即开启,但为了明确我显示地声明
AllowRetrieveRestart on
# 允许上载续传
AllowStoreRestart on
DisplayLogin welcome.msg
DisplayFirstChdir .message
User nobody
Group nogroup
# 不要求有合法shell,直接效果是允许nologin用户和虚拟用户登录
RequireValidShell off
# 设置用户验证顺序是先虚拟用户再本地用户
AuthOrder mod_auth_file.c mod_auth_unix.c
# 指定虚拟用户数据文件
AuthUserFile /usr/local/proftpd/etc/ftpd.passwd
# 指定虚拟组数据文件
AuthGroupFile /usr/local/proftpd/etc/ftpd.group
# ***除wheel组外其它所有组只能访问home目录内容,这里wheel需要在ftpd.group中定义
DefaultRoot ~ !wheel
# 虽然默认情况root不能ftp,但我仍然显式地声明它,也方便随时开启这个功能。
RootLogin off

DenyAll


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,禁用匿名FTP
MaxClients none "Sorry, anonymous is refused on this site!"
# 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



推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • docker镜像重启_docker怎么启动镜像dock ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
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社区 版权所有