一、
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
创建了两个用户abc和cba密码分别为123和321
接着使用工具将其转换,并且存放在适当的位置,如:、
db_load -T -t hash -f vftpuser.txt
/etc/vsftpd/vftpuser.db
//
将密码文件保存到/etc/vsftpd/
命名为vftpuser.db。
(注意vftpuser.db一定要保存在/etc/vftpd/目录下)
注意:此时如果没有安装db4工具会出现错误。
解决方法:安装rpm的db4、db4-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服务即可。