FTP介绍及配置
原创
©著作权归作者所有:来自51CTO博客作者19ji89ng的原创作品,请联系作者获取转载授权,否则将追究法律责任
FTP:文件传输协议
登录方式: 匿名anonymous 真实账号real 虚拟账号guest
监听端口:主动模式 21(udp) 20(tcp)
模式:
主动模式 服务器端连接客户端 打开20端口提供client数据下载
被动模式 客户端来连接服务端 打开大于1023的随机端口等待client数据下载
服务端发送(112,3)[端口号为:112*256+3]给客户端
被动主动模式的选择:
服务端允许被动连接,将取决于客户端,
主动模式服务端发送:port命令实现主动
被动模式服务端发送:pasv命令实现被动
服务器组件:windows:
Serv-U IIS Filexilla
linux:
vsftpd(very secure ftp)轻量级的
proftpd 功能强大 磁碟配额 web界面 在线注册
pureftp
wu-ftpd 出现的很早
vsftpd配置文件:/etc/vsftpd/vsftpd.conf 权限:600
/etc/vsftpd/ftpusers 不允许本机登陆的用户 权限600
/etc/pam.d/vstpd 认证文件
端口: 21/tcp(ftp) 20/tcp (ftp-data)<---主动模式
服务脚本: /etc/init.d/vsftpd
守护进程: /usr/sbin/vsftpd
vfstpd 接受tcpwrapper的控制 和iptables的控制(加载ip_namt_ftp ip_conntrack_ftp)
vsftpd的根目录: /var/ftp/
ftp配置: 关闭selinux
yum install vsftpd
service vsftpd restart
chkconfig vsftpd on
vim /etc/vsftpd/vsftpd.conf 格式很严格
anonymous_enable=YES 允许匿名登陆 NO 不允许
匿名登录时是以安装自动生成的ftp用户登陆的 匿名登陆被映射成ftp用户
local_enable=YES 允许本地系统用户登录
lftp -u terra 192.168.0.124 登录的为自己的家目录
write_enable=YES 允许本地用户有上传文件
匿名用户不能上传文件
local_umask=022 本地用户上传文件掩码为022 默认077
anon_upload_enable=YES 允许匿名用户上传文件 不能创建目录
允许匿名上传还要设置:chown ftp:ftp /var/ftp/incoming(创建)
或者做acl: setfacl -m u:ftp:rwx /var/ftp/incoming
在incoming中上传
anon_mkdir_write_enable=YES 允许匿名用户创建目录 不能删除
anon_other_write_enable=YES 设置后就可以删除了
dirmessage_enable=YES 打开欢迎信息目录 设定打开具体目录显示信息
message_file=.message 该文件可以在设定目录下创建
xferlog_enable=YES 打开传输文件 与下面连用
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用标准的日志类型
log_ftp_protocol=YES 登录进ftp会记录用户的执行的命令 但是 xferlog_std_format=NO
chroot_local_user=YES 禁锢所有用户在自己家目录下
禁锢具体用户:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在chroot_list中添加用户名即可
匿名用户上传文件的属主属组改为root不是ftp:
chown_uploads=YES
chown_username=root
ftpd_banner= 定义登录ftp欢迎信息
max_clients= 定义连接ftp的做大用户数
max_per_ip=2 每个用户同时打开的并发下载数
anon_max_rate=10240 匿名用户最大传输速率10kbps 单位字节
local_max_rate= 本地用户最大传输速率
在打开selinux时允许上传文件:
设定bool值:
getsebool -a | grep ftp
setsebool -P allow_ftp_anon_write 1 打开匿名上传权限
setsebool -P ftp_home_dir 1 打开家目录
vsftpd的虚拟用户: 基于文件的
基于mysql的
vsftp的user_list文件:文件中定义的用户允许登陆
userlist_enable=YES
userlist_deny=NO 允许userlist中列表的用户登陆 YES 不在列表的用户可以在的拒绝
ftp的ssl数据加密认证:ftps
tcpdump -i eth0 -A 抓包查看
坐自签的证书
mkdir /etc/vsftpd/ssl
cd /etc/vftpd/ssl
openssl genrsa 1024 > ftp_key.pem
openssl req -new -key ftp_key.pem -x509 -out ftp_cert.pem -days 3600
chmod 600 ./*
vim /etc/vsftpd/vsftpd.conf 添加
ssl_enable=YES
ssl_tlsvl=YES
ssl_sslv2=YES
ssl_sslv3=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/ssl/ftp_cert.pem
rsa_private_key_file=/etc/vsftpd/ssl/ftp_key.pem
service vsftpd restart
测试:物理机安装filezilla或者flashfxp测试
上一篇:samba服务器的配置
下一篇:PAM可插入式认证模块
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Vuex介绍及配置
vuex是什么 概念:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对
Vue 存储数据 操作数