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章
今天的学习是为了以后的工作更加的轻松!

浙公网安备 33010602011771号