ProFTPD服务是一个安全、配置简单的ftp服务器软件;
采用的是Apache相似的配置格式,相对比较容易配置与管理;
浏览官网:ftp://ftp.proftpd.org/distrib/source
找到.tar.gz的文件下载下来
准备好源码安装ProFTPD服务
下载源码包中含有安装说明,INSTALL和README这两个文件当中
#解压包
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ls
proftpd-1.3.6c.tar.gz
[root@localhost src]# tar -xf proftpd-1.3.6c.tar.gz
#进入到目录中查看目录的内容
[root@localhost src]# cd proftpd-1.3.6c
[root@localhost proftpd-1.3.6c]# ls
acconfig.h contrib locale README.capabilities README.LDAP sample-configurations
aclocal.m4 COPYING ltmain.sh README.classes README.md src
ChangeLog CREDITS m4 README.controls README.modules stamp-h.in
config.guess doc Makefile.in README.cygwin README.PAM tests
config.h.in include Make.rules.in README.DSO README.ports utils
config.sub INSTALL modules README.facl README.Solaris2.5x
configure install-sh NEWS README.FreeBSD README.Unixware
configure.in lib README.AIX README.IPv6 RELEASE_NOTES
#安装必要的依赖包
[root@localhost proftpd-1.3.6c]# yum -y install gcc gcc-c++
#预编译
[root@localhost proftpd-1.3.5]# ./configure --prefix=/usr/local/proftpd
#编译安装
[root@localhost proftpd-1.3.5]# make && make install
#添加启动proftpd的用户
[root@localhost proftpd-1.3.5]# useradd -M -s /sbin/nologin proftp
[root@localhost proftpd-1.3.5]#
配置文件存在:/usr/local/proftpd/etc/proftpd.conf
#使用的规格
<Directory “路径”> 开头
</Directory>结尾;需要首尾一样
#以下是配置说明
ServerName "ProFTPD Default Installation" #客户连接后看到的第一次信息
ServerType standalone #服务器启动模式,独立后台进程
DefaultServer on #作为默认的服务器
ort 21 #默认监听21端口
UseIPv6 off #禁用ipv6
Umask 022 #权限掩码值
MaxInstances 30 #最大并发数量为30
User nobody #服务启动的所有者
Group nogroup #服务启动的所属组
AllowOverwrite on #是否允许可写权限
<Limit SITE_CHMOD> #权限设置
DenyAll
</Limit>
<Anonymous ~ftp> #匿名用户访问设置
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
DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
CWD 进入目录
MKD 创建目录
RNFR 更名
dele 删除目录
read 只读权限
write 可写
stor 可上传
retr 可下载
dirs 列出目录
login 允许登陆
all 全部
AllowUser 设置允许的账户,多个账户使用逗号隔开
AllowGroup 设置允许的组,多个组使用逗号隔开
AllowAll 允许所有
DenyAll 拒绝所有
DenyUser 拒绝的用户
DenyGroup 拒绝的组
背景:
ABC公司有商务部、设计部、开发部、运维部,
各个部门都能访问FTP后看到所有的目录
但是只能访问本部门的目录,
并且需要开启FTP日志功能
FTP认证采用基于文件认证的方式,
共享的目录是/var/ftp
创建所需要的账户以及共享目录
[root@localhost proftpd]# useradd -M -s /sbin/nologin proftp
[root@localhost proftpd]# mkdir -p /var/proftp/{develop,ops,sales,design}
[root@localhost proftpd]# chmod 777 /var/proftp/{develop,ops,sales,design}
修改配置文件
[root@localhost proftpd]# pwd
/usr/local/proftpd
[root@localhost proftpd]# vim etc/proftpd.conf
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
UseEncodin UTF-8 CP936 #这一行添加
AllowRetrieveRestart on #添加
AllowStoreRestart on #添加
UseIPv6 off
Umask 022
User proftp
Group proftp
RootLogin OFF
MaxInstances 30
SystemLog /var/log/proftpd.log
TransferLog /var/log/proftpd.log
AllowOverwrite on
DefaultRoot /var/ftp
RequireValidShell off
AuthUserFile /usr/local/proftpd/ftpd.passwd
# 通过文件认证用户登录,需要使用ftppasswd命令创建该文件
<Directory "/var/ftp/*">
<Limit CWD READ> #允许所有人可以查看根目录
AllowAll
</Limit>
</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> #允许tomcat用户指令Limit后的所有指令
AllowUser tomcat
</Limit>
</Directory>
</Directory "/var/ftp/devop">
<Limit CWD MKD RNFR READ WRITE STOR RETR> #拒绝所有人在该目录下删除文件
DenyAll
</Limit>
<Limit DELE> #禁止所有人在该目录下删除文件
DenyAll
</Limit>
<Limit CWD MKD RNFR READ WRITE STOR RETR> #允许tomcat用户指令Limit后的所有指令
AllowUser jacob,jack
</Limit>
</Directory>
</Directory "/var/ftp/sales">
<Limit CWD MKD RNFR READ WRITE STOR RETR> #拒绝所有人在该目录下删除文件
DenyAll
</Limit>
<Limit DELE> #禁止所有人在该目录下删除文件
DenyAll
</Limit>
<Limit CWD MKD RNFR READ WRITE STOR RETR> #允许tomcat用户指令Limit后的所有指令
AllowUser sales1
</Limit>
</Directory>
</Directory "/var/ftp/design">
<Limit CWD MKD RNFR READ WRITE STOR RETR> #拒绝所有人在该目录下删除文件
DenyAll
</Limit>
<Limit DELE> #禁止所有人在该目录下删除文件
DenyAll
</Limit>
<Limit CWD MKD RNFR READ WRITE STOR RETR> #允许tomcat用户指令Limit后的所有指令
AllowUser design1
</Limit>
</Directory>
创建虚拟账户
[root@localhost proftpd]# bin/ftpasswd --passwd --name=tomcat --uid=1001 --gid=1001 --home=/home/nohome --shell=/bin/false
作用:创建用户文件、族文件、默认创建的用户文件是ftpd.passwd
选项: