Proftpd搭建

本次使用的是yum安装。
1、下载安装
yum -y install proftpd
2、创建启动用户及组(该用户无法登录系统,没有宿主目录)
useradd proftp -s /sbin/nologin -M
3、创建虚拟用户
ftpasswd --passwd --file=/etc/ftp.users --name=test1 --uid=1000 --home=/home/ftp/test1 --shell=/sbin/nologin
注意:如果没有ftpasswd 命令,可以进行yum安装yum -y install proftpd-utils
ftpasswd命令格式说明 (该命令可以创建用户文件、组文件,默认创建的用户文件为ftpd.passwd):
--passwd --file 创建密码文件,即配置文件里AuthUserFile指定的文件
--group 创建组文件
--name 指定创建的用户名
--uid 指定用户虚拟UID
--gid 指定虚拟GID
--home 指定用户家目录
--shell 指定用户Shell
4、修改配置文件
ServerName "proftpd's FTP Server"
ServerType standalone # 以独立进程方式运行
DefaultServer on
DefaultAddress 172.18.xx.180
Port 21 # FTP端口
Umask 002 # 权限,建议设置为002
UseReverseDNS off # 禁止DNS反查
IdentLookups off # 禁止DNS反查
ServerIdent off # 隐藏软件版本信息
AllowRetrieveRestart on # 下载断点续传
AllowStoreRestart on # 上传断点续传

虚拟用户认证信息

AuthOrder mod_auth_file.c # 只允许虚拟用户登陆
AuthUserFile /etc/ftp.users
AuthGroupFile /etc/ftp.group
DefaultRoot /home/ftp # 将用户限定在根目录下
PassivePorts 20000 30000 # 被动模式端口段
SystemLog /var/log/proftpd/proftpd.log # 软件日志
TransferLog /var/log/proftpd/proftpd.xfer.log
LogFormat default "%h %u %t %D "%r" %s %b" # 日志格式
ExtendedLog /var/log/proftpd/access.log WRITE,READ default # 访问日志
MaxInstances 250 # 允许最大连接
MaxClients 20 # 最大用户数
MaxLoginAttempts 3 # 最大尝试连接次数
TimeoutLogin 30 # 身份验证超时
TimeoutIdle 120 # 发呆超时
TimeoutNoTransfer 300 # 无数据传输超时
User proftp # 定义ftp以哪个用户身份运行
Group proftp # 定义ftp以哪个用户组身份运行
<Directory /home/ftp/>
AllowOverwrite on # 允许写入覆盖

AllowAll

#上传,编辑权限
#AllowAll
Order allow,deny
Allow from 172.18.106.222
Deny from all

#下载权限
#AllowAll
Order allow,deny
Allow from 172.18.106.7
Allow from 172.18.106.194
Deny from all

5、修改文件权限
1、/etc/ftpd.users 会自动生成,需要修改所属人给启动用户
chown proftp /etc/ftp.users
2、/etc/ftpd.group 不会自动生成,需要手动创建并修改所属人给启动用户
touch /etc/ftp.group
chown proftp /etc/ftp.group
3、ftp根目录权限
mkdir /home/ftp
chown proftp:proftp /home/ftp
mkdir /home/ftp/test1 -p
chmod 700 /home/ftp/test1
chown 1000:proftp /home/ftp/test1
6、启动服务
service proftpd restart

Limit权限说明==
#########################################################################

CWD:改变所在目录 (即Change Working Directory 表示进入该目录)

MKD/XMKD:新建目录

RNFR/RNTO:重命名目录的(一起使用) ,即更名

DELE:删除文件

RMD/XRMD:删除目录 (即Remove Directory)

RETR:下载

STOR:上传

LOGIN:允许登陆

READ: 可读,包括了RETR,SITE,SIZE,STAT

WRITE: 可写,包括包括了APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD

DIRS: 允许列出目录,包括了DUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD, XPWD

ALL:包括了READ WRITE DIRS

#######################以上权限结合动作一起使用#####################

AllowUser:允许某个用户

DenyUser:禁止某个用户

AllowGroup:允许某个用户组

DenyGroup:禁止某个用户组

AllowAll:允许所有用户

DenyAll:禁止所有用户

#########################################################################

原文地址:https://www.cnblogs.com/tengfei520/p/13740569.html