一、vsftpd安装
采用rpm安装。
用rpm –ql vsftpd命令查看安装路径。
默认安装路径为:/etc/vsftpd/
二、配置虚拟用户和权限
这里采用脚本控制虚拟用户的方式管理ftp虚拟用户。
虚拟用户的可以理解为:所有ftp用户使用的并不是系统用户,而是添加的虚拟账户,这些账户映射到系统中的一个账户。此账户设置为不允许登录。可以根据需要单独配置所有虚拟账户的各种权限。
1.添加用户
Useradd –s /sbin/nologin vftp
mkdir /ftproot //创建ftp根目录为/ftproot
2.创建用户和密码文件
创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。
vi vftpuser.txt //新建文件写入用户名和密码
注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。
例如:
abc
123
cba
321
创建了两个用户abc和cba密码分别为123和321
接着使用工具将其转换,并且存放在适当的位置,如:、
db_load -T -t hash -f vftpuser.txt /etc/vsftpd/vftpuser.db //将密码文件保存到/etc/vsftpd/
命名为vftpuser.db。
注意:此时如果没有安装db4工具会出现错误。
解决方法:安装rpm的db4、db4-util包
3.配置PAM验证文件
修改 /etc/pam.d/vsftpd
在下面添加如下两行,其他全部注释掉。
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
注意这里是vftpuser,不是vftpuser.db
4.新建针对虚拟用户的配置文件
mkdir –p /etc/vsftpd/vsftpd_user_conf
vi /etc/vsftpd/vsftpd_user_conf/abc //创建名为abc的控制文件。
local_root=/ftproot/ //abc这个用户登陆上来的家目录是/ftproot
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=vftp //虚拟账户使用vftp(刚才建的系统账户)映射
user_config_dir=etc/vsftpd/vsftp_user_conf //虚拟账户的控制文件路径
6.修改ftproot的权限
Chown –R vftp.vftp /ftproot
Chmod –R 700 /ftproot
重启vsftpd服务即可。
阅读(8128) | 评论(0) | 转发(0) |