第一步挂载光盘
第二步配置yum源安装ftp以及vsftp服务。
关闭防火墙及其他服务
修改配置文件
去掉注释部分
第三步验证(匿名登录)
第四步(本地用户)
修改配置文件
配置文件添加下列几行
创建本地用户
验证
第五步虚拟用户创建
虚拟用户不是系统中存在的,因此比本地用户安全,步骤
第1步:建立虚拟FTP用户数据库文件。
第2步:创建FTP根目录及虚拟用户映射的系统用户。
第3步:建立支持虚拟用户的PAM认证文件。
第4步:在vsftpd.conf文件中添加支持配置。
第5步:为虚拟用户设置不同的权限。
第6步:重启vsftpd服务,验证实验效果。
第1步:建立虚拟FTP用户数据库文件。
服务器端,切换目录cd /etc/vsftpd/
[root@linux vsftpd]# vim vuser.list
//单数行为帐号,双数行为密码。
aaa
aaa1
bbb
bbb1
使用db_load命令用HASH算法生成FTP用户数据库文件vuser.db: db_load -T -t hash -f vuser.list vuser.db
FTP用户数据库内容很敏感,所以权限给小一些:chmod 600 vuser.db
第2步:创建FTP根目录及虚拟用户映射的系统用户。
创建用户virtual并设置为不允许登陆系统并定义该用户的家目录:useradd -d /var/ftproot -s /sbin/nologin virtual
为保证其他用户可以访问,给予rwxr-xr-x权限:chmod -Rf 755 /var/ftproot/
第3步:建立支持虚拟用户的PAM认证文件。
[root@linux ~]# vim /etc/pam.d/vsftpd.vu
//参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
vim /etc/vsftpd/vsftpd.conf
添加后的配置文件,已测试,可直接复制
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir
第5步:为虚拟用户设置不同的权限。
现在不论是aaa还是bbb帐户,他们的权限都是相同的——默认不能上传、创建、修改文件,
如果希望用户blackshield能够完全的管理FTP内的资料,就需要让FTP程序支持独立的用户权限配置文件了:
指定用户独立的权限配置文件存放的目录:vim /etc/vsftpd/vsftpd.conf (user_config_dir=/etc/vsftpd/vusers_dir)
创建用户独立的权限配置文件存放的目录:mkdir /etc/vsftpd/vusers_dir/
切换进入到该目录中:cd /etc/vsftpd/vusers_dir/
创建空白的aaa的配置文件:touch aaa
指定aaa用户的具体权限:vim bbb 下面一段直接复制会报错。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
第6步:重启vsftpd服务,验证实验效果。
setsebool -P ftpd_full_access=on
在客户端验证以上两个用户的权限。
aaa用户不能创建文件夹, bbb用户可以创建文件夹