免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1007 | 回复: 0
打印 上一主题 下一主题

CentOS4.4用VSFTPD架设FTP服务器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-24 04:06 |只看该作者 |倒序浏览
操作系统:CentOS4.4(最小化安装,安装过程中软件包的安装,将默认选项全部去掉,只选择开发工具以项)
安装VSFTPD:使用在线安装命令yum在线安装VSFTPD软件包,命令如下:
           yum -install vsftpd(注:删除命令:yum -remove vsftpd)
         输入命令后会自动进行安装,我使用的是CentOS4.4默认的yum资源包,下载安装VSFTPD的版本为:
           VSFTPD-2.0.1-5.EL4.5
配置文件:/etc/ftpusers         
         该文件中指定了那些用户不能访问FTP服务器
         /etc/vsftpd.user_list  
         该文件中指定的用户默认情况下也不能访问FTP服务器,当在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=NO时仅仅允许该文件中指定的用户访问FTP服务器。
         /etc/vsftpd/vsftpd.conf
         该文件为vsftpd的主配置文件。
VSFTPD-2.0.1-5.EL4.5的默认配置:
          anonymous_enable=YES     允许匿名登录
          local_enable=YES         允许本地用户登录
          write_enable=YES         开放本地用户写权限
          local_umask=022          设置本地用户生成文件的掩码为022
          #anon_upload_enable=YES  此项设置允许匿名用户上传文件
          #anon_mkdir_write_enable=YES  开启匿名用户的写和创建目录的权限
          dirmessage_enable=YES    当切换到目录时,显示该目录下的.message隐藏文件的内容
          xferlog_enable=YES       激活上传和下载日志
          connect_from_port_20=YES 启用FTP数据端口的连接请求
          #chown_uploads=YES       是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。
          #chown_username=whoever  指定拥有匿名用户上传文件所有权的用户。此参数与chown_uploads联用。
          #xferlog_file=/var/log/vsftpd.log
          xferlog_std_format=YES   使用标准的ftpd xferlog日志格式
          #idle_session_timeout=600 此设置将在用户会话空闲10分钟后被中断
          #data_connection_timeout=120 将在数据连接空闲2分钟后被中断
          #nopriv_user=ftpsecure
          #async_abor_enable=YES
          #ascii_upload_enable=YES 启用上传的ASCII传输方式
          #ascii_download_enable=YES 启用下载的ASCII传输方式
          #ftpd_banner=Welcome to blah FTP service 设置用户连接服务器后显示消息
          #deny_email_enable=YES  此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。
          #banned_email_file=/etc/vsftpd.banned_emails 指定包含被拒绝的e-mail地址的文件,默认文件为/etc/vsftpd.banned_emails。
          #chroot_list_enable=YES  (用来设置本地用户登录后不能切换到自家目录以外的别的目录)设置所有的本地用户执行chroot,此项若设置为NO,则配合chroot_list_enable=YES,及下以项用于指定只有vsftpd.chroot_list中指定的用户才执行chroot.
          #chroot_list_file=/etc/vsftpd.chroot_list
          #ls_recurse_enable=YES
          pam_service_name=vsftpd 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/
          userlist_enable=YES     此项配置/etc/vsftpd.user_list中指定的用户也不能访问服务器,若添加userlist_deny=No,userlist_file=/etc/vsftpd.user_list则限制仅仅/etc/vsftpd.user_list文件中指定的用户可以访问,其他用户都不可以访问服务器。如过userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vsftpd.user_list中指定的用户不可以访问服务器,其他本地用户可以访问服务器。
          listen=YES              指明VSFTPD以独立运行方式启动
          tcp_wrappers=YES        在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES
          可以看出以上默认配置文件中去掉注释行,余下的就是VSFTPD的默认配置,根据默认配置得到如下结论:
          1.允许匿名用户和本地用户登录。
          2.匿名用户不能离开匿名服务器目录/var/ftp,且只能下载不能上传文件。
          3.本地用户的登录名为本地用户名,密码为本地用户密码,可以离开自家目录切换到有权限访问的目录,并在目录权限允许的情况下上传和下载文件。
          4.写在文件/etc/vsftpd.ftpusers中的本地用户禁止登录。

其他的一些配置选项:
          anon_world_readable_only=NO 放开匿名用户对整个服务器的浏览权限
          banner_file=/var/vsftpd_banner_file 用户配置连接服务器后显示文件中的信息。此项优先于ftpd_banner.
          accept_timeout=60  
          connect_timeout=60 此两项设置客户端空闲1分钟后自动中断连接1分钟后再自动连接。
          local_max_rate=5000 设置本地用户的最大传输速率
          anon_max_rate=3000  设置匿名用户的最大传输速率
          pasv_min_port=5000
          pasv_max_port=6000  此两项设置客户端连接时的端口范围
          Anon_other_write_enable=yes 匿名帐号可以有删除的权限
          max_clients=200     此项指明服务器总的并发连接
          max_per_ip=4        指明每个客户机的最大连接数
          listen_port=2001    配置FTP端口
          listen_address=192.168.1.1 配置虚拟服务器时配置虚拟服务器的IP
          local_root=     定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。
配置基于IP的虚拟FTP服务器,也就是给VSFTPD基于每个IP写一个主配置文件。
         no_anon_password=YES|NO 控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO
         anon_root= 设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。
         ftp_username= 匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp。
         user_config_dir= 定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件。个人配置文件的格式与vsftpd.conf格式相同。例如定义user_config_dir=/etc/vsftpd/userconf,并且主机上有用户xiaowang,lisi,那我们可以在user_config_dir的目录新增名为xiaowang、lisi的两个文件。当用户lisi 登入时,VSFTPD则会读取user_config_dir下lisi这个文件中的设定值,应用于用户lisi。默认值为无。


配置虚拟用户的FTP服务器:虚拟用户只能访问为其提供的FTP服务,虚拟用户不能像本地的实用那样登录系统而访问系统的其他资源。
传统的FTP服务器采用如下方法实现虚拟用户:
   1.在本地建立普通用户帐号并设置密码
   2.将其SHELL设置为不可登录
   3.由PASSWD/SHADOW口令系统进行认证
VSFTPD的虚拟用户采用了不与系统账户口令文件合二为一的方法,也就是为了认证这些虚拟用户VSFTPD使用单独的口令库文件(pam_userdb),由可插拔认证模块(PAM)进行认证。
VSFTPD中配置虚拟用户的FTP服务器方法如下:
   1.生成虚拟用户口令库文件
   2.配置生成VSFTPD的认证文件
   3.建立虚拟用户所要访问的目录并设置相应权限
   4.建立配置文件
例如:
    1.创建一个文本文件login.txt,格式为单数行为用户名,偶数行为口令
    2.生成口令库文件:db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
    3.修改口令库文件权限:chmod 600 /etc/vsftpd_login.db
    4.编辑生成虚拟用户所需的PAM配置文件:
      vi /etc/pam.d/ftp.vu
      插入如下两行:
      auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
      account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
    5.建立虚拟用户所要访问的目录并设置仅仅虚拟用户访问的权限
   %3


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24626/showart_388705.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP