实现目标: 虚拟用户对某个目录的权限设置,在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, 试下效果吧 ,
我们总是想让世界更简单~
多谢老大,我想问的是能不能把不同的虚拟用户登陆到不同的主目录的?
可以的
怎么做?
不错, 谢谢; 使用vsftpd安全又实用