proftpd-1.3.4c安装实例

 1.软件下载安装

 
  
  1. [root@chenghy ~]# cd /root
  2. [root@chenghy ~]# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4c.tar.gz
  3. [root@chenghy ~]# tar zxvf proftpd-1.3.4c.tar.gz
  4. [root@chenghy ~]# cd proftpd-1.3.4c
  5. [root@chenghy ~]# ./configure --prefix=/usr/local/proftpd
  6. [root@chenghy ~]# make
  7. [root@chenghy ~]# make install

 2.修改配置文件

 
  
  1. [root@chenghy ~]# vim /usr/local/proftpd/etc/proftpd.conf
  2. ServerName "chenghy's FTP Server"
  3. ServerType standalone # 以独立进程方式运行
  4. DefaultServer on
  5. Port 21 # FTP端口
  6. Umask 002 # 权限,建议设置为002
  7. UseReverseDNS off # 禁止DNS反查
  8. IdentLookups off # 禁止DNS反查
  9. ServerIdent off # 隐藏软件版本信息
  10. AllowRetrieveRestart on # 下载断点续传
  11. AllowStoreRestart on # 上传断点续传
  12. ## 虚拟用户认证信息
  13. AuthOrder mod_auth_file.c # 只允许虚拟用户登陆
  14. AuthUserFile /usr/local/proftpd/etc/ftp.users
  15. AuthGroupFile /usr/local/proftpd/etc/ftp.group
  16. DefaultRoot ~ # 将用户限定在根目录下
  17. PassivePorts 20000 30000 # 被动模式端口段
  18. SystemLog /var/log/proftpd/proftpd.log # 软件日志
  19. TransferLog /var/log/proftpd/proftpd.xfer.log
  20. LogFormat default "%h %u %t %D \"%r\" %s %b" # 日志格式
  21. ExtendedLog /var/log/proftpd/access.log WRITE,READ default # 访问日志
  22. MaxInstances 250 # 允许最大连接
  23. MaxClients 20 # 最大用户数
  24. MaxLoginAttempts 3 # 最大尝试连接次数
  25. TimeoutLogin 30 # 身份验证超时
  26. TimeoutIdle 120 # 发呆超时
  27. TimeoutNoTransfer 300 # 无数据传输超时
  28. User nobody # 定义ftp以哪个用户身份运行
  29. Group nobody # 定义ftp以哪个用户组身份运行
  30. <Directory ~/>
  31. AllowOverwrite on # 允许写入覆盖
  32. <Limit LOGIN CWD RETR READ DIRS> # 设置虚拟用户读权限
  33. AllowALL
  34. Limit>
  35. <Limit ALL> # 设置omd用户所有权限
  36. Order allow,deny
  37. AllowUser omd
  38. DenyALL
  39. Limit>
  40. Directory>

 3.添加虚拟用户和组

 
  
  1. [root@chenghy ~]# /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@chenghy ~]# /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@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp --gid=2000 --member=bsmp --member=omd --file=/usr/local/proftpd/etc/ftp.group

 4.将用户目录设置权限

 
  
  1. [root@chenghy ~]# chown -R 2002:2000 /home/omd/



####下面两行用来删除用户和组###########

 
  
  1. [root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --passwd --name=bsmp --delete-user --file=/usr/local/proftpd/etc/ftp.users
  2. [root@chenghy ~]# /usr/local/proftpd/bin/ftpasswd --group --name=myftp --delete-group --file=/usr/local/proftpd/etc/ftp.group


 5.将proftpd添加到系统服务

  按照网上的资料修改/etc/rc.d/init.d/proftpd文件后发现配置不成功,后来自己修改了一下此文件完成了配置
 
  
  1. [root@chenghy ~]# vim /etc/rc.d/init.d/proftpd
  2. #!/bin/sh
  3. # Source function library.
  4. . /etc/rc.d/init.d/functions
  5. RETVAL=0
  6. start() {
  7. echo -n $"Starting proftpd : "
  8. daemon /usr/local/proftpd/sbin/proftpd -c /usr/local/proftpd/etc/proftpd.conf 2>/dev/null
  9. # daemon命令是/etc/rc.d/init.d/functions中自带的
  10. RETVAL=$?
  11. echo
  12. [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd
  13. }
  14. stop() {
  15. echo -n $"Shutting down proftpd : "
  16. killproc proftpd
  17. # killproc命令是/etc/rc.d/init.d/functions中自带的
  18. RETVAL=$?
  19. echo
  20. [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd
  21. }
  22. # See how we were called.
  23. case "$1" in
  24. start)
  25. start
  26. ;;
  27. stop)
  28. stop
  29. ;;
  30. restart)
  31. stop
  32. start
  33. ;;
  34. *)
  35. echo "Usage: proftpd { start | stop | restart }"
  36. esac
  37. [root@chenghy ~]# chmod 755 /etc/rc.d/init.d/proftpd
  38. [root@chenghy ~]# chkconfig add proftpd
  39. [root@chenghy ~]# chkconfig --level 35 proftpd on
  40. [root@chenghy ~]# service proftpd start

 6.防火墙设置

  只允许主动模式访问添加下面的第①、②条,只允许被动模式访问添加下面的②、③条,两种模式都允许添加下面①、②、③条。
 
  
  1. [root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 20 -j ACCEPT
  2. [root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 21 -j ACCEPT
  3. [root@chenghy ~]# iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT

你可能感兴趣的:(Linux)