ftp:File Transfer protocol 文件传输协议
- 两个连接:
tcp:命令连接
tcp:数据连接
主动模式:服务器端通过20端口主动连接客户端,客户端监听在于服务器端的建立连接的端口+1上,服务器工作在tcp/20
被动模式:客户端使用自己与服务器端建立端口+1上连接客户端的随机端口
防火墙上连接追踪
数据要流失化
文本:文件流
二进制
c/s
- 用户认证:
系统用户
虚拟用户
匿名用户
数据传输安全
sftp:ssh提供的基于ssh协议的ftp
ftps:基于ssl的ftp
相应码:
1XX:信息码
2XX:成功状态码
3XX: 进一步提示补全信息的状态码
4XX:客户端错误,临时错误
5XX: 服务器端错误,永久性错误
安装vsftpd
/etc/pam.d/vsftpd:认证文件
pam:Plugable Authentication Module 插件式认证模块
- nsswith:名称解析框架
模块化:/lib64/linbnss*,/usr/lib64/libnss*
配置文件:/etc/nsswitch.com - pam:认证框架
模块化:/lib64/security/pam*.so
配置文件:/etc/pam.conf和/etc/pam.d/*
服务脚本:/etc/rc.d/init.d/vsftpd
配置文件:/etc/vsftp/vsftpd.conf
主程序文件:/usr/sbn/vsftpd
数据文件:/var/ftp
定个写:
等号前后没有空格
anonymous或ftp
对于ftp访问ftp服务器时应该对其chroot
禁锢用户与其家目录中
chroot_local_user={yes|no} 禁锢用户,默认为no
需要禁锢开启为yes,安全
chroot_list_enable={yes|no}
chroot_list_file=/etc/vsftp/chroot
不禁锢全部用户,将禁锢的用户保存在/etc/vsftp/chroot
每行一个用户
两项不能同时使用
local_enable={yes|no}是否需要本地用户登录
匿名用户的配置
anonymous_enable=YES,启动虚拟用户登录
anon_upload_enable=YES 允许虚拟用户有写权限
anon_other_write_enable=YES 允许虚拟用户有删除权限
anon_mkdir_write_enable=YES 允许虚拟用户创建文件夹权限
注意:启用写入功能时,ftp用户对相应的本地文件系统也有相应的写入权限;
生效的权限取决于文件系统权限和服务权限的交集
实现用户的欢迎信息login banners
ftpd_banner=
banner_file=banner文件
切换目录式的欢迎信息
dirmessage_enable=YES
在目录中创建.messages
vsftp控制登陆系统用户的机制
/etc/vsftpd/ftpusers中的用户不允许使用ftp服务器,这是在/etc/pam.d/vsftpd中定义的
user_list配置文件有两种用法
黑名单:
userlist_enable=YES
uselist_deny=YES
白名单:
userlist_enable=YES
uselist_deny=NO
连接限制
max_clients:最大并发连接数
max_per_ip:每IP可同时发起并发请求
传输速率:
anon_max_rete: 匿名用户的传输速率,单位为“字节/秒”
local_max_rate:本地用户传输速率,单位为“字节/秒”
上传文件的umask:
anno_umask:匿名用户上传文件的umask;
local_umask:
修改匿名用户上传文件的属主和属主
chown_uploads=YES
chown_username=用户名
实现虚拟用户:
所有的虚拟用户会映射成一个系统用户,访问时的文件目录是为此系统用户的家目录
虚拟用户
hash编码的文件:
奇数行为用户名,偶数行为密码
关系型数据库:
pam-mysql实现认证
虚拟用户的权限
user_config_dir=文件夹
在文件夹中创建虚拟用户同名的的文件
在虚拟用户的文件中写入权限
原创文章,作者:nene,如若转载,请注明出处:http://www.178linux.com/88056