Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1958419
  • 博文数量: 498
  • 博客积分: 2078
  • 博客等级: 大尉
  • 技术积分: 1645
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 22:43
个人简介

安大

文章分类

全部博文(498)

文章存档

2017年(1)

2016年(2)

2015年(21)

2014年(90)

2013年(101)

2012年(267)

2011年(16)

分类: 系统运维

2013-01-16 12:16:52

FTP有三种方式:匿名用户本地用户虚拟用户

匿名用户:在登录FTP时使用默认的用户名,一般是ftp或anonymous。

本地用户:使用系统用户登录,用户和密码存放在在/etc/passwd中。

虚拟用户:这是FTP专有用户,与本地用户无关,因此只能访问FTP服务器提供的资源,大大增强了系统的安全;根据用户认证的方式不同,又可以分为两种方式实现:本地数据文件和数据库服务器。

首先,简单地介绍下部署环境:

操作系统: SUSE 11.0

应用软件: vsftpd 

          db_load 

          pam

一、安装相关组件


二、创建相关账户

1、创建 vsftpd 服务的宿主用户

点击(此处)折叠或打开

  1. # useradd ftpuser –s /sbin/false

2、创建 虚拟用户的宿主用户

点击(此处)折叠或打开

  1. # useradd vsftpd –d /var/lib/empty –s /sbin/false

三、创建虚拟用户数据库

1、创建虚拟用户口令文件

点击(此处)折叠或打开

  1. # vi /etc/vsftpd_login.txt

添加虚拟用户和密码,按行依次输入用户名和密码,奇数行为用户名,偶数行为密码。

  1. hostuser # 用户名
  2. hostuser # 密码
  3. cupsuser # 用户名
  4. cupsuser # 密码

2、生成虚拟用户认证数据数据库

点击(此处)折叠或打开

  1. # db_load –T –t hash –f /etc/vsftpd.txt /etc/vsftpd/vftpuser.db

3、配置pam认证

点击(此处)折叠或打开

  1. # vi /etc/pam.d/vsftpd

将里面其他的配置项注释掉,添加下面这两行:

  1. auth      required       pam_userdb.so db=/etc/vsftpd/vftpuser
  2. account   required       pam_userdb.so db=/etc/vsftpd/vftpuser

四、配置 vsftpd 服务器

点击(此处)折叠或打开

  1. # vi /etc/vsftpd.conf
根据实际情况进行相关配置:

  1. 允许写操作
  2. write_enable=YES
  3. #
  4. # 开启目录标语功能
  5. #dirmessage_enable=YES
  6. #message_file=.message
  7. #
  8. # 支撑vsftpd服务的宿主用户
  9. nopriv_user=ftpsecure
  10. #
  11. # 登录标语
  12. ftpd_banner="Welcome to FTP service of Luzhou City Commetcial Bank."
  13. #
  14. # 允许用户登录后使用“ls -R”的命令,会造成巨大的系统开销
  15. #ls_recurse_enable=YES
  16. #
  17. #deny_email_enable=YES
  18. #banned_email_file=/etc/vsftpd.banned_emails
  19. #
  20. #hide_ids=YES
  21. # Local FTP user Settings
  22. #
  23. # 本地用户可以访问
  24. local_enable=YES
  25. #
  26. # 上传文件权限掩码
  27. local_umask=033
  28. #
  29. chroot_local_user=YES
  30. #
  31. # 用户限制在自己的FTP主目录
  32. #chroot_list_enable=YES
  33. #
  34. # (default follows)
  35. # 哪些用户被限制在自己的默认目录内
  36. #chroot_list_file=/etc/vsftpd.chroot_list
  37. #
  38. # 用户的最大传输速率
  39. #local_max_rate=7200
  40. # Anonymus FTP user Settings
  41. #
  42. # 不允许匿名用户访问
  43. anonymous_enable=NO
  44. #
  45. #anon_world_readable_only=YES
  46. #
  47. # 不允许匿名用户上传
  48. #anon_upload_enable=NO
  49. #
  50. #anon_umask=022
  51. #
  52. # 不允许匿名用户建立目录
  53. #anon_mkdir_write_enable=NO
  54. #
  55. #anon_other_write_enable=NO
  56. #
  57. # 上传文件更改宿主
  58. #chown_uploads=YES
  59. #chown_username=whoever
  60. #
  61. #anon_max_rate=7200
  62. # Log Settings
  63. #
  64. syslog_enable=NO
  65. #
  66. #log_ftp_protocol=YES
  67. #
  68. # 是否保存日志
  69. xferlog_enable=YES
  70. #
  71. # 服务日志保存路径
  72. #vsftpd_log_file=/var/log/vsftpd.log
  73. #
  74. # 日志使用标准的记录格式
  75. xferlog_std_format=YES
  76. #
  77. # 服务日志保存路径
  78. xferlog_file=/var/log/vsftpd.log
  79. #
  80. #dual_log_enable=YES
  81. #
  82. #setproctitle_enable=YES
  83. # Transfer Settings
  84. #
  85. # 使用端口20进行数据连接
  86. connect_from_port_20=YES
  87. #
  88. # 空闲连接超时时间
  89. idle_session_timeout=600
  90. #
  91. # 单次连续传输最大时间
  92. #data_connection_timeout=120
  93. #
  94. # 支持异步传输功能
  95. #async_abor_enable=YES
  96. #
  97. # 支持ASCII模式的上传和下载功能
  98. ascii_upload_enable=YES
  99. ascii_download_enable=YES
  100. #
  101. # 启动被动式连接模式(passive mode)
  102. pasv_enable=YES
  103. # PAMf服务下ftp服务的验证配置文件名
  104. pam_service_name=vsftpd
  105. # 服务工作模式(StandAlone模式)
  106. listen=YES
  107. # Set to ssl_enable=YES if you want to enable SSL
  108. ssl_enable=NO
  109. # Limit passive ports to this range to assis firewalling
  110. #pasv_min_port=30000
  111. #pasv_max_port=30100
  112. # 并发客户端访问个数
  113. #max_clients=10
  114. # 单个客户端的最大线程数
  115. #max_per_ip=3
  116. # 启用虚拟用户功能
  117. guest_enable=YES
  118. # 指定虚拟用户的宿主用户
  119. guest_username=vsftpd
  120. # 虚拟用户的配置文件存放路径
  121. user_config_dir=/etc/vsftpd_user_conf

保存退出后重启 vsftpd 服务。

点击(此处)折叠或打开

  1. # service vsftpd restart

五、配置虚拟用户

1、创建虚拟用户配置文件目录

点击(此处)折叠或打开

  1. # mkdir /etc/vsftpd_user_conf
  2. # chmod 777 /etc/vsftpd_user_conf

2、创建虚拟用户配置文件

虚拟用户配置文件为独立的配置文件,文件名与用户名相同。

点击(此处)折叠或打开

  1. # vi /etc/vsftpd_user_conf/hostuser

在配置文件中添加如下配置项,并保存退出。

  1. local_root=/home/cardfs/file/HOST  # 虚拟用户登录后的主目录
  2. write_enable=YES
  3. anon_world_readable_only=NO
  4. anon_upload_enable=YES
  5. anon_mkdir_write_enable=YES
  6. anon_other_write_enable=YES


测试虚拟用户登录 ftp 服务器,并检查操作是否成功。

 

阅读(1100) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~