黑马程序员技术交流社区

标题: 你真的了解FTP服务?伙伴们?? [打印本页]

作者: 风的自由    时间: 2015-10-17 22:17
标题: 你真的了解FTP服务?伙伴们??
FTP服务
vsftpd软件的安装与使用
yum install vsftpd -y
/etc/init.d/vsftpd start
/var/ftp/pub  ---- 匿名用户的共享目录
匿名用户名ftpanonymous
xp安装客户端
用匿名用户的身份访问ftp
ftp端口20 21 ---- 主动模式
20 传输数据
21 控制连接
ftp被动模式传输端口 21 和自定义端口范围
学习配置vsftpd的配置文件
目录777-022 755
文件666-022 644
cd /etc/vsftpd
mv vsftpd.conf vsftpd.conf.bak
grep -v “#” vsftpd.conf.bak>vsftpd.conf
vim vsftpd.conf ---- vsftpd默认配置文件
anonymous_enable=YES ---- 允许匿名用户
local_enable=YES  ----允许本地用户
write_enable=YES  ----可写
local_umask=022  ---- 权限掩码值
dirmessage_enable=YES --- 目录欢迎信息(可忽略)
xferlog_enable=YES ---- 启用日志
connect_from_port_20=YES ---- 开启主动模式端口(默认被动模式优先)
xferlog_std_format=YES ---- 日志格式
listen=YES ---- 启用监听(必须开启)
pam_service_name=vsftpd --- pam可插拔认证模块,用来验证用户身份信息的)
userlist_enable=YES ---- 启用用户列表名单
tcp_wrappers=YES ---- 启用防火墙机制(三期讲)
#userlist_deny=NO ---- 启用白名单机制
#userlist_deny=YES ---- 默认启用黑名单机制
/etc/vsftpd目录中有两个文件
ftpusers --- 黑名单文件里面的用户不可以登录
user_list --- 用户列表(黑白名单)
匿名和本地不安全
本地用户登录必须知道用户的密码
虚拟用户不是系统用户但是虚拟用户需要共享目录(本地用户的家目录)
1.yum install db4-utils -y 建立用户名密码数据库的生成工具
2.vim /etc/vsftpd/vusers.list ----- 虚拟用户列表
abc ---- 奇数行用户名
123 ---- 偶数行密码
xyz
456
3.将名单列表转化成数据库文件
db_load -T -t hash -f/etc/vsftpd/vusers.list/etc/vsftpd/vusers.db
-T --- 使用通用格式建立数据库文件pam模块可以识别
-t --- 指定加密算法
-f --- 指定虚拟用户列表文件
4.建立一个不可登录系统的本地用户,作用是使其家目录成为虚拟用户的共享目录。
useradd -d /var/ftproot -s /sbin/nologinvuser
chmod 755 /var/ftproot
5.虚拟用户系统不识别,如何通过pam模块验证用户身份,需要自己建立pam配置文件,让他去vusers.db识别用户身份
cd /etc/pam.d
vim vuserftp.vu
#%PAM-1.0 --- 声明
auth   required        pam_userdb.so   db=/etc/vsftpd/vusers  --- 用来通过vusers.db文件验证用户名
account required       pam_userdb.so  db=/etc/vsftpd/vusers  --- 用来通过vusers.db文件验证用户密码
6.写配置文件需要启用虚拟用户登录
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES  ----启用虚拟用户
guest_username=vuser ----- 指定虚拟用户名
pam_service_name=vuserftp.vu ---- 调用pam模块
user_config_dir=/etc/vsftpd/vuconf ---- 指定虚拟用户配置文件所在位置
#pam_service_name=vsftpd --- 注释掉原有的认证文件
7.建立虚拟用户的配置文件目录和配置文件
mkdir /etc/vsftpd/vuconf
touch abc
vim xyz
anon_upload_enable=YES ---- 允许用户上传文件
anon_umask=022  --- 权限掩码
anon_mkdir_write_enable=YES --- 允许用户建立目录
anon_other_write_enable=YES ---- 允许用户修改文件名
      (注意虚拟用户的权限按照匿名用户的权限来编写)
    有兴趣朋友可以了解更多java教程   http://java.itcast.cn/java/video.shtml






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2