vsftpd虚拟用户的配置过程
系统版本:Redhat 4.0
1.安装软件包
#rpm -ivh /mnt/RedHat/RPMS/vsftpd......
2.建立虚拟用户口令库文件
#vi /etc/vsftpd/logins.txt (这里的文档名是自拟的)
(注意 :口令库中用户及密码的格式 奇数为用户名 偶数行为密码)
例如: user1
user2
.
(注意用户名和密码的后面不要有空格 什么的 注意了 排错几乎不可能排的出来的 )
3.生成vsftpd的认证文件 :
#db_load -T -t hash -f logins.tst /etc/vsftpd/vsftpd_login.db
vsftpd_login.db 数据库文件是根据口令库文件生成的 名字是自拟的
为了方便记忆通常写为 vsftpd_login.db
数据库文件应放置在/etc/vsftpd/目录下
vsftpd_login.db文件的权限应设置为只对root用户可读写 即 600
#chmod 600 /etc/vsftpd/vsftpd_login.db
4.配置PAM认证 :(手工建立)
#vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
(注意 这里的 db=后面的文件一定是上面生成的vsftpd的认证文件的路径对应相对的文件)
5.建立虚拟用户及所要访问的目录并设置相应的权限
#useradd -d /home/ftpsite jie
#chmod 700 /home/ftpsite
vsftpd服务器中的所有虚拟用户帐号登陆后都将在 "/home/ftpsite"目录中
6.设置vsftpd.conf 配置文件 (在对vsftpd配置文件进行修改前,应将原有的文件进行备份)
#cd /etc/vsftpd
#cp vsftpd.conf vsftpd.conf.bak
主配置文件中 加入
guest_enable=YES
guest_username=jie (虚拟用户)
pam_service_name=vsftpd.vu (PAM认证文件的名称第四步的)
%%%%%%%(注意把下面的pam注释掉)********
7.重新启动服务
#service vsftpd restart
@@@@
对不同的虚拟用户设置不同的权限
(1)设置主配置文件
在vsftpd.conf配置文件中添加user_config_dir配置项,并设置用户配置文件的保存目录
user_config_dir=/etc/vsftpd_user_conf (手工建立 虚拟用户配置文件)
(2)建立用户配置文件目录
#mkdir /etc/vsftpd_user_conf
(3)为虚拟用户建立单独的配置文件
在"/etc/vsftpd_user_conf"目录中可以为每个虚拟用户建立独立的配置文件,配置文件名称和用户名相同
anon_world_readable_only=NO (用户可以浏览ftp目录和下载文件)
anon_upload_enable=YES (用户可以上传东西)
anon_mkdir_write_enable=YES (用户具有建立和删除目录的权利)
anon_other_write_enable=YES (表示用户具有文件改名和删除文件的权限)
主配置中 chroot_local_user=YES 把本地用户禁锢在宿主目录中