一:基本知识
1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器
2:vsftp的服务进程是vsftpd
3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .
4:vsftpd的用户文件是/etc/vsftpd/ftpusers
5:vsftpd的用户文件是/etc/vsftpd/user_list
6:推荐使用虚拟用户登入vs-FTP服务器
二、安装vsftp
查看是否安装vsftpd服务
[root@localhost ~]# chkconfig --list
如果没有安装,安装vsftpd服务
[root@localhost ~]# yum -y install vsftpd
三、配置虚拟用户
1)检查服务器selinux是否开启,如果开启,关闭selinux
[root@localhost ~]# /usr/sbin/sestatus -v
SELinux status: enabled
1.1)关闭selinux方法
修改/etc/selinux/config 文件, 将SELINUX=enforcing改为SELINUX=disabled, 重启机器即可
2)创建虚拟用户文本文件,添加虚拟用户和密码
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost ~]# touch vuser.txt
奇数行是用户名,偶数是密码
比如:
lowkeyman
123456
3)生成虚拟数据库文件(*如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用。)
[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
4)配置PAM文件,目的是对客户端进行验证
编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
*不能写成db=/etc/vsftpd/vuser.db
5)修改虚拟数据库文件vuser.db的权限为 700
[root@localhost ~]# chmod 700 vuser.db
6)增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。
[root@localhost ~]# mkdir /ftpdir
[root@localhost ~]# useradd -d /ftpdir vuser
[root@localhost ~]# chown vuser.vuser /ftpdir
[root@localhost ~]# usermod -s /sbin/nologin vuser
7)修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数
注意:“=”两边不能有空格
guest_enable=YES ####激活虚拟账户
guest_username=vuser ####把虚拟账户绑定为系统账户vuser
pam_service_name=vsftpd ####使用PAM验证
8)设置虚拟用户的主配置文件,编辑vsftpd.conf文件,添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
9)建立vsftpd_user_conf
[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
10)设置虚拟用户配置文件,与虚拟账户同名
[root@localhost ~]# touch /etc/vsftpd/vsftpd_user_conf/lowkeyman
11)编辑虚拟账户lowkeyman的配置文件lowkeyman,是虚拟账户lowkeyman获得相应的权限
anon_world_readable_only=NO ###浏览FTP目录和下载
anon_upload_enable=YES ###允许上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
local_root=/ftpdir/ #### 指