操作系统

vsftpd虚拟用户设置
作者 thinkwzb 2006年06月27日 07:11

    [原创] vsftpd on RHL 9.0 虚拟用户设置(修正官方文档部分错误)

    http://www.chinaunix.net 作者:

    kinki_china

     发表于:2005-07-29 20:05:44

    【

    发表评论

    】【

    查看原文

    】【

    Linux讨论区

    】【

    关闭

    】

    #约定: 所有在"[ ]"里的都是应该直接在运行的命令,所有的目录因素已经完整

    #说名: 此文档翻译和整理自源代码包内的example文档, 本人首次发布于linuxsir.com

    准备:

    1) 确认已经安装vsftpd

    [rpm -q vsftpd]

    2) 确认安装Berkeley db

    [rpm -q db4 ]

    开始:

    1) 生成虚拟用户的数据库:

    使用pam_userdb 来认证虚拟用户.

    先生成一个logins.txt:

    [vi /root/logins.txt ]

    tom

    foo

    fred

    bar

    [db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db]

    [chmod 600 /etc/vsftpd/vsftpd_login.db]

    #更多关于DB 的资料,看下面:

    http://www.sleepycat.com/docs/utility/index.html

    2) 生成一个使用你的新的db的PAM 文件.

    [vi /etc/pam.d/vsfptd]

    修改成如下:

    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

    account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

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

    3) 建立虚拟用户的目录.

    [useradd -d /home/ftpsite virtual ]

    [ls -ld /home/ftpsite ]

    (看起来应该是这样的):

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

    拷贝一个文件来做测试用:

    [cp /etc/hosts /home/ftpsite]

    [chown virtual.virtual /home/ftpsite/hosts]

    4) 建立你自己的 /etc/vsftpd/vsftpd.conf 文件

    anonymous_enable=NO

    local_enable=YES

    #这禁止了匿名用户使用FTP 服务,并且允许非匿名用户的登录,就是虚拟用户所需要的权限

    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" . 这也帮助确定用户的目录.

    listen=YES

    listen_port=10021

    # 使 vsftpd 以"standalone" 模式运行- 端口10021

    pasv_min_port=30000

    pasv_max_port=30999

    #限定端口,方便防火墙的设置

    5) 运行 vsftpd.

    [vsftpd /etc/vsftpd/vsftpd.conf &]

    #这样做是指定配置文件,同时可以避免出500错误

    6)确认已经运行:

    [ps aux|grep vsftpd]

    7)测试.

    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 # 查看文件名为"hosts"的文件的大小

    213 147

    ftp>; get hosts # 下载文件名为"hosts"的文件

    # 如果有错误请反馈!

    

    sakulagi

     回复于:2003-06-24 10:17:47

    vivian,欢迎你回来。给大家带来好帖子

    

    lnx3000

     回复于:2003-06-24 10:27:34

    这个帖子很有用啊,感谢楼主

    

    dawei

     回复于:2003-06-24 10:37:14

    好帖子,up

    

    pduan1209

     回复于:2003-07-05 10:25:50

    我按你的设置可提示如下:

     connected to 192.168.0.3

     500 oops:could not bind listening socket

     connection closed by remote host.

    请问是那里出了问题,还有你那个虚似用户要先建立吗?

    

    sqh

     回复于:2003-07-10 22:26:28

    引用:原帖由 "pduan1209" 发表:

    我按你的设置可提示如下:

     connected to 192.168.0.3

     500 oops:could not bind listening socket

     connection closed by remote host.

    请问是那里出了问题,还有你那个虚似用户要先建立吗?

    

    我没有任何虚拟用户,可是也出现下面错误:

    [~]$ vsftpd

    500 OOPS: could not bind listening IPv4 socket

    请问这是如何?

    

    qxinfo

     回复于:2003-07-25 14:37:13

    ftp localhost 是可以連上的

    可是用別的機器連接時就出錯了.

    C:\>;ftp 192.168.1.25

    >; ftp: connect :對方重設連線

    這是為什麼?????

    

    zwh23

     回复于:2003-07-28 12:09:18

    为什么我不行?我是按照帖子作的亚

    

    kinki_china

     回复于:2003-07-30 13:02:02

    我也多次碰到类似的问题,但是后来发现可能是你在/etc/xinetd.d/中仍然有ftp的文件,导致混乱所至

    

    a791223

     回复于:2003-10-02 19:35:28

    我也是出现上面500错误,查看了xinetd.d目录没有有关ftp的文件呀,另外我想问一下如何设置上传空间的大小。

     我的错误如下:

    500 oops; could notbind listening socket

    

    austinlinux

     回复于:2003-11-06 01:06:58

    我是全部按他的做的,就是登不上,总是提示密码错误。

    

    daveix

     回复于:2004-05-24 22:12:55

    :!: 不行啊,完全照着你的步骤,最后输入密码后,反馈的结果是密码不正确.能不能请作者告之为什么啊

    我的是RH9

    

    daveix

     回复于:2004-05-24 22:33:57

    :?: 现在登录没有问题了,但是虚拟帐号无法显示目录,告的错误是"226 Transfer done (but failed to open directory)."

    请问是什么原因???

    

    feifacz

     回复于:2005-07-29 20:05:44

    可以这样使用虚拟用户了,能不能用MYSQL数据库来管理用户名和密码,而不使用文本的数据

    

    原文链接:

    http://bbs.chinaunix.net/viewthread.php?tid=98721

    转载请注明作者名及原文出处

    

    

    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19772/showart_133329.html

打开APP阅读全文

vsftpd虚拟用户设置

vsftpd虚拟用户设置

长按识别二维码 进入IT168查看全文

请长按保存图片
{{data.thematic.text}}

相关文章

加载中...

分享到

请使用浏览器的分享功能
分享到微信等