linux系统详解:Vsftp的配置方法

2
回复
464
查看
[复制链接]
发表于 2014-2-4 23:36:13 | 显示全部楼层 |阅读模式
  有用linux系统的用户可能不能避免的要对Vsftp进行重装,但是如果是很少接触这个系统或者这个软件的人来说重装和配置的过程是很困难的,所以今天本教程就给大家提供一些方法。
          重新安装和配置虚拟用户
          以下都是在root用户下进行的
          #tarzxvfvsftpd-2.0.5.tar.gz——解压
          #cdvsftpd-2.0.5.tar.gz——解压后进入vsftpd-2.0.5.tar.gz目录
          #mkdir/usr/share/empty/——VSFTPD默认设置需要一个空目录:/usr/share/empty
          #mkdir/var/ftp/——如果容许匿名用户(anonymous),那么你将需要一个"ftp"用户和其home目录(这个home目录不属于“ftp”用户,而且“ftp"用户也对其没有写权限)在你的系统中存在。
          #adduser然后回车,依照程序说明来添加两个用户"nobody"和"ftp",'nobody'一般都已经存在来,如果添加时提示用户已经存在,就不用添了。'ftp'用户设置时主目录都设在/var/ftp
          #chmod755/var/ftp——把/var/ftp目录的权限设为drwxr-xr-x
          #make
          #makeinstall
          #cpvsftpd.conf/etc——"makeinstall"不会拷贝默认的配置文件,所以手工拷贝过去。不同的系统位置可能不一样,看一下,如果有/etc/vsftp目录的话,就拷贝到/etc/vsftp下
          安装完成。
          测试一下:
          编辑/etc/vsftpd.conf,在最下面加入以下这一行:
          listen=YES
          确定你没有运行其他FTP服务(否则VSFTPD不能占用FTP所需的21端口)。
          #/usr/local/sbin/vsftpd&
          [1]306
<p>          如果一切正常,那么你将连上FTP服务器
 楼主| 发表于 2014-2-4 23:36:13 | 显示全部楼层
</p>          #ftplocalhost
          Connectedtolocalhost(127.0.0.1)。
          220(vsFTPd2.0.1)
          Name:ftp
          331Pleasespecifythepassword.
          Password:
          230Loginsuccessful.Havefun.
          RemotesystemtypeisUNIX.
          Usingbinarymodetotransferfiles.
          ftp>
          运行方式:
          VSFTPD能运行在独立模式(standalone)或者通过inetd来启动。
          独立模式(standalone)就是前面测试时用的方法,在vsftpd.conf加入"listen=YES"
          用xinetd服务启动
          请在/etc/xinetd.d/vsftpd
          serviceftp
          {
          socket_type=stream
          wait=no
          user=root
          server=/usr/local/sbin/vsftpd
          #server_args=
          #log_on_success+=DURATIONUSERID
          #log_on_failure+=USERID
          nice=10
          disable=no
          }
          配置vsftp
          修改/etc/vsftpd.conf,
          vsftpd.conf比较的简单,有很多选项没有列出来,具体可以看blog里的另外篇。
          有几个可能会比较常用到的但是不在vsftpd.conf中的列在下面:
          让vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:
          max_clients=100
          max_per_ip=5
          anon_max_rate=数字——这是匿名的下载速度
          local_max_rate=数字——这是vsFTP服务器上普通用户的下载速度
          注:这个数字的单位是字节,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以100KB下载,所以这个数字应该是1024x100=102400所以我们要在vsftpd.conf中加入下面的两行:
          anon_max_rate=102400
          local_max_rate=102400
          目录的说明:
          在vsftpd.cof文件中,有dirmessage_enable=YES,然后在目录中建一个文件".message"在文件中写上有关目录的说明就可以了。
          配置vsftp虚拟用户
<p>          1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:
 楼主| 发表于 2014-2-4 23:36:13 | 显示全部楼层
</p>          #viaccount.txt
          ylg
          1234
          zhanghong
          4321
          gou
          5678
          2.生成口令库文件,并修改其权限:
          #db_load-T-thash-f./account.txt/etc/account.db
          #chmod600/etc/account.db
          3.新建一个虚拟用户的PAM文件。加上如下两行内容:
          #vi/etc/pam.d/vsftp.vu
          authrequired/lib/security/pam_userdb.sodb=/etc/account
          accountrequired/lib/security/pam_userdb.sodb=/etc/account
          4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:
          #useradd-d/ftpsitevirtual_user
          #chmod700/ftpsite
          经过该步骤的设置,/ftpsite就是virtual_user用户的主目录,该用户也是/ftpsite目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。
          5.生成一个测试文件。先切换至virtual_user用户身份,然后在/ftpsite目录下创建一个文件:
          #su-virtual_user
          $vi/ftpsite/mytest
          Thisisatestfile.
          $su-root
          6.编辑/etc/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):
          anonymous_enable=NO
          local_enable=YES
          local_umask=022
          xferlog_enable=YES
          connect_from_port_20=YES
          xferlog_std_format=YES
          listen=YES
          write_enable=YES
          anon_upload_enable=YES
          anon_mkdir_write_enable=YES
          anon_other_write_enable=YES
          one_process_model=NO
          chroot_local_user=YES
          ftpd_banner=WelcomtomyFTPserver.
          anon_world_readable_only=NO
          guest_enable=YES
          guest_username=virtual_user
          pam_service_name=vsftp.vu
          上面代码中,guest_enable=YES表示启用虚拟用户;guest_username=virtual则是将虚拟用户映射为本地用户,这样虚拟用户登录后才能进入本地用户virtual的目录/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件为vsftp.vu.
          安装方法都教完了,不知道大家还有没有什么不明白的地方呢?如果有的话最好是及时跟其他人讨论了,这类配置方法都不是太难,属于新手级别的,所以大家不要抗拒。
关注官方微信

微信号:大白网

微博:大白网

QQ1群:4731622

QQ2群:4731622

全国服务热线:

QQ24485416

(工作日:周一至周五 9:00-16:00)
大理市
www@dali8.net

手机版-小黑屋- 大理白族|大理乡村旅游网|大理网|大理论坛|白族网|大理旅游网|大理信息网|大理生活网

技术支持:挖主机网络 Powered by大白网© 2006-2025 dalibaizu.com  滇ICP备19004088号 滇公网安备 53290102000530号