一、 vsftpd 安装及基本配置
 
①检查本机是否安装有vsftp
 rpm –q vsftp
    如果没有安装
cd /media/Cen*/Cent*
rpm –ivh vsftp*( TAB键补全)
    添加用户
[root@localhost ~]# adduser ftpuser
[root@localhost ~]# passwd  ftpuser
Changing password for user ftpuser.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
    修改主配置文件
vi /etc/vsftpd/vsftpd.conf
添加以下项
anonymous_enable=no         是否允许匿名用户登陆(默认配置中是YES,要不注释掉,要不改为no
local_root=/home/ftpuser    指定用户访问的目录 (需要自己添加)
chroot_list_enable=YES    设置是否启用chroot_list_file(默认配置文件是注销了的)
chroot_list_file=/etc/vsftpd/chroot_list  设置用户列表文件,该文件中的用户不允许更改目录。被限制在根目录之内       (默认配置文件是注销了的)
    编辑 chroot_list 文件
vi  etc/vsftpd/chroot_list
ftpuser
 
注意:chroot_local_user=YES chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list
同时添加和单独添加的作用是不同的。
当只使用chroot_local_user=YES的时候是限制所有的登录用户在自己设置的目录内
当只是用chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list 是限制chroot_list 中的用户被锁定在自己设置的目录内(本例在/home/ftpuser
当两者同时使用时chroot_list中的用户不受目录限制 其他登录的用户会被限制目录。
    更改文件的权限
chmod –R 755 /home/ftpuser
重启服务就可以了 service vsftpd  restart
 
 
 
 
 
 
 
 
 
 
二、配置虚拟用户和权限
1. 添加用户
Useradd s /sbin/nologin vuser
mkdir /var/ftp/vftp     // 创建ftp根目录为/var/ftp/vftp
2. 创建用户和密码文件
创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。
vi vftpuser.txt // 新建文件写入用户名和密码(装换成vtpuser.db可以删除)
注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。
例如:
abc
123
cba
321
创建了两个用户abccba密码分别为123321
接着使用工具将其转换,并且存放在适当的位置,如:、
db_load -T -t hash -f vftpuser.txt /etc/vsftpd/vftpuser.db // 将密码文件保存到/etc/vsftpd/
命名为vftpuser.db (注意vftpuser.db一定要保存在/etc/vftpd/目录下)
注意:此时如果没有安装db4工具会出现错误。
解决方法:安装rpmdb4db4-util
3. 配置PAM验证文件
修改 /etc/pam.d/vsftpd
在下面添加如下两行,其他全部注释掉。
auth    required        /lib/security/pam_userdb.so     db=/etc/vsftpd/vftpuser
account required        /lib/security/pam_userdb.so     db=/etc/vsftpd/vftpuser
 
注意这里是vftpuser,不是vftpuser.db
4. 新建针对虚拟用户的配置文件
mkdir p /etc/vsftpd/vuser_conf
vi /etc/vsftpd/vuser_conf/abc // 创建名为abc的控制文件。
 
local_root=/var/ftp/vftp       //abc 这个用户登陆上来的家目录是/var/ftp/vftp
anon_upload_enable=YES       // 允许上传
anon_mkdir_write_enable=YES   // 允许创建目录
anon_other_write_enable=YES    // 允许删除文件和目录
 
同样创建cba的配置文件。
5. 修改vsftpd.conf
启用和添加修改如下选项:
pam_service_name=vsftpd // vsftpd里的脚本做pam验证
tcp_wrappers=YES // 开启ip控制
chroot_local_user=YES // 锁定用户根目录
guest_enable=YES  // 开启虚拟账户
guest_username=vuser // 虚拟账户使用vftp(刚才建的系统账户)映射
user_config_dir=etc/vsftpd/vuser_conf  // 虚拟账户的控制文件路径
6. 修改ftproot的权限
Chown R vuser.vuser /var/ftp/vftp
Chmod R 755 /var/ftp/vftp
重启vsftpd服务即可。