vsftpd 安装文档原文翻译

以前进行安装过虚拟用户的使用,但是由于刚刚装的vsftpd 2.3.5版本,为了安全考虑对以前有了一些更改,例如不推荐创建用户默认登录目录为根目录


以下为vsftpd虚拟用户的创建源文档,再此进行一下翻译,并添加一些自己的理解(红色部分


原文如下

这个例子展示了如何设置vsftpd / PAM“虚拟用户”。一个虚拟用户是一个用户登录,不存在真正的登录系统。虚拟用户可以因此更安全比真正的用户,因为一个妥协的账户只能使用FTP服务器。


虚拟用户是用来提供给一些不收信任的用户,并且限制其权限,不可以访问其他的目录

第一步创建虚拟用户数据库。
  我们将使用pam_userdb进行身份验证的虚拟用户。这需要
  将username/password的用户信息存储到“db”格式的文件中,这是一种常见的数据库格式。
  创建一个“分贝”格式文件,首先需要创建一个纯文本文件
  用户名和密码交替显示。

  请参见示例文件”logins.txt”

tom
foo
fred
bar
  而作为根用户登录,创建实际的数据库文件如下:

       db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

       以上需要先进行安装db_load

       sudo apt-get install db-util 如果安装时提示找不到软件包输入:sudo apt-get install db4.8-util


      这将创建/ etc / vsftpd_login.db。显然,你可能想要确保权限被限制:
      chmod 600 /etc/vsftpd_login.db

      如果想了解更多信息可以在这里找到
      http://www.sleepycat.com/docs/utility/index.html




第二步) 创建一个对刚刚创建的数据库的引用pam文件.

          创建vsftpd.pam 文件。它包含两行:

      auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login   (刚刚创建的数据库,但是不可以带类型 .db
      account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

         以上对于pam_userdb.so的目录不一定对,根据系统类型不同,可能会有所变化,可以通过查询命令找到后进行替换

         find /  -name  pam_userdb.so

      可以将该文件复制到目录/etc/pam.d  下


       cp vsftpd.pam /etc/pam.d/ftp

          这里的ftp在配置vsftpd.conf时用到,会有对他的引用
      (注意    如果你将pam_service_name的引用名字用vsftpd进行替换,你需要用命令   cp vsftpd.pam  /etc/pam.d/vsftpd)



第三步) 设置文件的位置的虚拟用户.


            useradd -d /home/ftpsite virtual
            ls -ld /home/ftpsite
   (显示如下):
    drwx------    3 virtual  virtual      4096 Jul 30 00:39 /home/ftpsite

                 如果显示信息为:

           drwx------    3 root  root      4096 Jul 30 00:39 /home/ftpsite

          请执行命令

          chown virtual.virtual /home/ftpsite


         我们已经在目录/home/ftpsite创建了一个名字为“virtual”的用户


        让我们添加一些内容到这个下载区:


        cp /etc/hosts /home/ftpsite
        chown virtual.virtual /home/ftpsite/hosts




第四步) 创建vsftpd.conf配置文件


                对配置文件进行辩解

               vim vsftpd.conf

               内容如下



anonymous_enable=NO
local_enable=YES

                          # 以上命令可以禁止非匿名用户进行登录


write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO


               #些保证,为安全起见,不允许写命令


               chroot_local_user=YES

#这保证了虚拟用户仅限于虚拟FTP区/ home / ftpsite上面我们设置了。



guest_enable=YES

guest_username=virtual

guest_enable 这个配置是十分重要的,他激活了虚拟用户,并且guest_username将所有的虚拟用户映射到 我们创建的真正的“virtual”,目录为/home/ftpsize



listen=YES
listen_port=10021(ftp默认端口为21,如果不想登录ftp时输入端口号,则设置为21)


pasv_min_port=30000
pasv_max_port=30999

这些把端口范围在被动FTP传入的请求——非常有用你是在配置防火墙。



第六步) 测试


ftp localhost 10021(在第四步设置的端口
Connected to localhost (127.0.0.1).
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
Name (localhost:chris): tom
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (127,0,0,1,117,135)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp> size hosts
213 147

ftp>


如果想每个虚拟用户登录的路径不同请看文档:

http://blog.csdn.net/kingo0/article/details/8211203


                    





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值