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:禁止所有用户
#########################################################################