vsftpd virtualuser*2

实现目标: 虚拟用户对某个目录的权限设置,在vsftpd的文档中写的很是清晰,但有朋友询问故还是在这里写下.

1. 建立真实用户帐号 ftpuser
2. 虚拟帐号 none ,权限为只能上传

3. 虚拟帐号 super, 权限为所有此目录下操作权限

# [RHEL AS4 ]

#vi /etc/vsftpd/users.txt

none

passwd1

super

passwd2

[! 建立一个文件包含了虚拟帐号名和密码]

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

[! 操作此行应无错误提示信息, 也许你的系统上是db_load3命令]

# chmod 600 /etc/vsftpd_login.db

#vi /etc/pam.d/ftp

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
[! 建立一个文件放于pam.d目录下,如有重名可改为vftp]

#useradd -d /data/ftp ftpuser

[! 建立真实帐号ftpuser, 用户目录为/data/ftp,这也是我们的两个虚拟帐号活动场所]

#ls -ld /data/ftp

drwx—— 3 ftpuser ftpuser Jul 31 00:28 /data/ftp

#mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=NO
# NO->YES;
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
listen=YES
listen_port=10021
pasv_min_port=30000
pasv_max_port=30999
user_config_dir=/etc/vsftpd_user_conf
[! 我将FTP PORT定在了10021,你呢?]

#mkdir /etc/vsftpd_user_conf

#vi /etc/vsftpd_user_conf/none

[! 虚拟帐号none的配置信息]

write_enable=YES
anon_upload_enable=YES
#vi /etc/vsftpd_user_conf/super

anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[! 虚拟帐号super的配置信息]
OK, 试下效果吧 ,

我们总是想让世界更简单~

4 Responses to “vsftpd virtualuser*2”


  1. 1 lj Aug 2nd, 2007 at 8:18 PM

    多谢老大,我想问的是能不能把不同的虚拟用户登陆到不同的主目录的?

  2. 2 seer Aug 2nd, 2007 at 11:54 PM

    可以的

  3. 3 lj Aug 3rd, 2007 at 9:57 AM

    怎么做?

  4. 4 jai Aug 3rd, 2007 at 9:57 AM

    不错, 谢谢; 使用vsftpd安全又实用

Leave a Reply