多语言展示
当前在线:1201今日阅读:183今日分享:45

CentOS:[12]proftpd安装与配置

ProFTPd是一套可配置性强的开放源代码的FTP伺服器软件,名称最後的d字是因为在Linux中是用daemon来称呼。ProFTPd与Apache的配置方式类似,因此十分容易配置和管理。ProFTPd亦开发了有图形用户界面的FTP伺服器软体称为gProFTPd。ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发、发布的免费软件,也就是说任何人只要遵守GPL版权声明,都可以随意修改源始码。proftpd全称:Professional FTP daemon是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone、xinetd模式运行等。ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,ProFTP配置方便,并有MySQL和Quota模块可供选择,利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制。
工具/原料
1

ProFTPd

2

CentOS系统

软件下载安装
修改配置文件
1

[root@chenghy ~]# vim /usr/local/proftpd/etc/proftpd.confServerName "chenghy's FTP Server" ServerType standalone # 以独立进程方式运行 DefaultServer on Port 21 # FTP端口

2

Umask 002 # 权限,建议设置为002 UseReverseDNS off # 禁止DNS反查 IdentLookups off # 禁止DNS反查 ServerIdent off # 隐藏软件版本信息 AllowRetrieveRestart on # 下载断点续传 AllowStoreRestart on # 上传断点续传

3

## 虚拟用户认证信息 AuthOrder mod_auth_file.c # 只允许虚拟用户登陆 AuthUserFile /usr/local/proftpd/etc/ftp.users AuthGroupFile /usr/local/proftpd/etc/ftp.group DefaultRoot ~ # 将用户限定在根目录下

4

PassivePorts 2 # 被动模式端口段 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 nobody # 定义ftp以哪个用户身份运行 Group nobody # 定义ftp以哪个用户组身份运行

5

AllowOverwrite on # 允许写入覆盖   # 设置虚拟用户读权限  AllowALL   # 设置omd用户所有权限  Order allow,deny AllowUser omd DenyALL  

添加虚拟用户和组
1

[root@centos ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=bsmp --home=/home/omd/file/ --uid=2001 --gid=2000 --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftp.users

2

[root@centos ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=omd --home=/home/omd/ --uid=2002 --gid=2000 --shell=/sbin/nologin --file=/usr/local/proftpd/etc/ftp.users

3

[root@centos ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp --gid=2000 --member=bsmp --member=omd --file=/usr/local/proftpd/etc/ftp.group

将用户目录设置权限
1

[root@centos ~]# chown -R 2002:2000 /home/omd/

2

####下面两行用来删除用户和组###########[root@centos ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=bsmp  --delete-user --file=/usr/local/proftpd/etc/ftp.users [root@centos ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp  --delete-group --file=/usr/local/proftpd/etc/ftp.group

将proftpd添加到系统服务
1

按照网上的资料修改/etc/rc.d/init.d/proftpd文件后发现配置不成功,后来自己修改了一下此文件完成了配置

2

[root@centos ~]# vim /etc/rc.d/init.d/proftpd #!/bin/sh # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 start() { echo -n $"Starting proftpd : "  daemon /usr/local/proftpd/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf 2>/dev/null # daemon命令是/etc/rc.d/init.d/functions中自带的  RETVAL=$?  echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() {  echo -n $"Shutting down proftpd : " killproc proftpd # killproc命令是/etc/rc.d/init.d/functions中自带的  RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # See how we were called. case "$1" in  start)  start ;;  stop)  stop ;; restart)  stop  start ;; *)  echo "Usage: proftpd { start | stop | restart }" esac

3

[root@centos ~]# chmod 755 /etc/rc.d/init.d/proftpd [root@centos ~]# chkconfig add proftpd [root@centos ~]# chkconfig --level 35 proftpd on [root@centos ~]# service proftpd start

防火墙设置
1

只允许主动模式访问添加下面的第①、②条,只允许被动模式访问添加下面的②、③条,两种模式都允许添加下面①、②、③条。

2

[root@centos ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 20 -j ACCEPT [root@centos ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 21 -j ACCEPT [root@centos ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT

注意事项
2

您的帮助是我们莫大的动力!感谢有您一路相随,记得点击页面右上角的“大拇指”或者“两角箭头”,谢谢了。

推荐信息