ProFTPD文件共享

ProFTPD服务端配置

下载ProFTPD

目前最新版本是proftpd-1.3.7a.tar.gz

官网下载链接:点此传送

历史版本下载:ftp://ftp.proftpd.org/distrib/source/

 

安装步骤

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.7a.tar.gz 
#wget下载太慢,建议使用迅雷下载在使用rz上传

tar -xzf proftpd-1.3.7a.tar.gz -C /usr/src/
cd proftpd-1.3.7a/

./configure --prefix=/usr/local/proftpd\
--sysconfdir=/etc/ --enable-nls --enable-openssl --enable-shadow  
#使用自带脚本安装软件并设置安装程序路径为/usr/local/proftpd,配置脚本路径为/etc/proftpd.conf,
支持TLS加密FTP服务,支持使用/etc/shadow验证用户密码

yum install gcc gcc-c++ autoconf automake 
#安装编译工具

make && make install

/*
configure脚本部分选项说明
--prefix= 指定安装路径
--sysconfdir= 指定配置文件路径
--enable-nls 支持多语言环境,安装完成后可在主配置文件中指定字符编码(UseEncoding/UTF-8/CP936)
--enable-openessl 支持TLS加密FTP服务
--enable-shadow  支持使用/etc/shadow验证用户密码
--localstatedir= 指定运行状态文件存放路径
--with-modules=mod_ldap 指定要加载的功能模块
--enable-nls  支持缓存功能
*/

PATH=$PATH:/usr/local/proftpd/bin
#将proftpd命令添加到全局变量

 

创建虚拟用户

useradd -M -s /sbin/nologin proftp
#创建proftp用户

mkdir -p /var/ftp/{develop,ops,sales,design}
chmod 777 $_
#创建共享路径,配置权限777

ftpasswd --passwd --name=tomcat --uid=1001 --gid=1001 \
--home=/home/nohome --shell=/bin/false

ftpasswd --passwd --name=jacob --uid=1002 --gid=1002 \
--home=/home/nohome --shell=/bin/false

/*
ftpasswd命令选项
--passwd 
--group
--name
--uid
--gid
--home
--shell
--file 默认为ftpd.passwd,此文件管理虚拟用户的账号密码,相当于/etc/shadow
*/

 

修改配置文件

[root@proftpd proftpd]# cat /etc/proftpd.conf

ServerName            "ProFTPD Default Installation"
ServerType            standalone
DefaultServer            on
UseEncoding UTF-8 CP936
Port                21

UseIPv6                off

Umask                022

MaxInstances            30
RootLogin off
User                proftp
Group                proftp
DefaultRoot /var/ftp
SystemLog /var/log/proftp.log
TransferLog /var/log/proftp.log
AllowRetrieveRestart on
AllowStoreRestart on
AllowOverwrite        on

<Limit SITE_CHMOD>
  DenyAll
</Limit>
RequireValidShell off
#用户登录是否需要shell

AuthUserFile /usr/local/proftpd/ftpd.passwd
#通过文件认证登录用户

<Directory "/var/ftp/*">
<Limit CWD READ> #允许所有人查看根目录
AllowAll
</Limit>
</Directory>

<Directory "/var/ftp/ops">
<Limit CWD MKD RNFR READ WRITE STOR RETR> #拒绝所有人进入、创建、重命名、读取、写入、上传、下载该目录文件
DenyAll
</Limit>
<Limit DELE>
DenyAll #禁止所有人删除该目录文件
</Limit>
<Limit CWD MKD RNFR READ WRITE STOR RETR>
AllowUser tomcat #允许tomcat用户执行相关权限
</Limit>
</Directory>

 

启动服务

/usr/local/proftpd/sbin/proftpd

 

配置文件详解

主配置文件分为三个部分

1、全局设置

全局生效,参数与值使用空格分隔。

2、目录设置

指定共享路径以及权限;

<Directory "路径">开头,以</Directory>结尾

3、匿名访问

<anonymouse "路径">开头,以</anonymouse>结尾

 

mv /etc/proftpd.conf /etc/proftpd.conf_backup
grep -v "^#" /etc/proftpd.conf_backup > /etc/proftpd.conf
#备份配置文件,去掉注释


ServerName                      "ProFTPD Default Installation" #客户端连接后显示的提示
ServerType                      standalone #后台启动
DefaultServer                   on  #作为默认服务器
Port                            21  #监听21端口
UseIPv6                         off  #禁用IPv6
Umask                           022 #权限掩码
MaxInstances                    30 #最大并发连接30
User                            nobody #启动服务器的账户
Group                           nogroup #启动服务器的组用户
ServerIdent off #隐藏版本信息防止被攻击 AllowOverwrite on #允许文件覆盖 AllowRetrieveRestart on #允许上传,断点续传 AllowStoreRestart on #允许下载,断点续传 UseEncoding UTF
-8 CP936 #支持编码格式 RootLogin off #禁止root登录ftp SystemLog /var/log/proftp.log #日志文件 TransferLog /var/log/proftp.log #记录用户下载的日志信息 <Limit SITE_CHMOD> #limit权限设置,参数列表P196 DenyAll </Limit> <Anonymous ~ftp> #匿名访问设置 User ftp Group ftp UserAlias anonymous ftp MaxClients 10 DisplayLogin welcome.msg DisplayChdir .message <Limit WRITE> DenyAll </Limit> </Anonymous>

 

匿名访问

点此传送

对匿名用户隐藏一个目录

#使用HideGroup或HideUser命令
#对匿名服务器中的tomcat用户隐藏test目录
<Anonymous ~ftp>
<Directory test>
HideUser tomcat
</Directory>

 

开机启动

编写开机启动脚本,放在/etc/init.d目录下

chkconfig --add proftpd

chkconfig proftpd on

 

扩展

安全、配置简单

采用Apache相似配置风格

TransferRate限制带宽

MaxRetrieveFileSize和MaxStoreFileSize控制上传和下载最大容量

 

学习来自:《Linux运维之道 第2版》第4章

posted @ 2020-09-26 10:12  努力吧阿团  阅读(562)  评论(0)    收藏  举报