打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CentOS4.4用VSFTPD架设FTP服务器
操作系统: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
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linux 第80天 vsftpd
Centos7 部署FTP服务器
CentOS 下搭建FTP服务器
Linux下vsftpd安装以及配置FTP虚拟用户实践
CentOS 7.0:安装vsftpd
FTP服务
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服