企业级Linux文件共享FTP入门和进阶(笔记)

来源:互联网 发布:淘宝宝商城 编辑:程序博客网 时间:2024/05/17 07:55

2.FTP传输原理详解
FTP: file transfer protocol
文件共享服务:
应用层:ftp
NFS:Network File System (RPC:Remote Procedure Call 远程过程调用)
samba: CIFS/smb 网上邻居

FTP: tcp ,两个连接
命令连接(控制连接):21/tcp
数据连接 : 主动模式:(从服务器角度)20/tcp  缺点:如果客户端有防火墙,就不能完成传输
被动模式:服务器端口不确定,客户端连接过来时,因之前已建立“控制连接”,服务器端防火          墙将放行  

4.FTP编码格式

支持2种:二进制和文本 具体使用哪种由双方协商(自动)

5.常用FTP软件介绍

服务端:wu-ftpd(最早华盛顿大学开发,非结构化)、vsftpd(红帽自带,简单安全)
proftpd(专业)、pureftpd 、serv-U(win平台)
客户端: CLI:ftp 、lftp
GUI: gftpd、flashFXP、cuteftp

vsftpd:
/etc/vsftpd:配置文件目录
/etc/init.d/vsftpd :服务脚本
/usr/sbin/vsftpd : 主程序
/var/ftp :工具目录(根) 目录本身其它用户没有写权限

安装和配置
yum install vsftpd ;
rpm -ql vsftpd ;查看生成文件

FTP用户
匿名用户 anonymous
系统用户 ---〉 对应一个系统用户(家目录)
虚拟用户

服务启动
service vsftpd start ;启动
chkconfig vsftpd on ; 加自启动

/var/ftp/pub ;公开文件

iptables -L -n ;查看防火墙是否关闭

配置
/etc/vsftpd/vsftpd.conf

匿名用户 anonymous_enable
系统用户 local_enable

新建系统用户登陆FTP

PS如登陆不了:vsftp登录报500错误,以及登录成功后无法显示目录列表的解决方案:500OOPS:cannotchangedirectory:/home/
解决:
(一、)[root@ zhaiqutianshangxing vsftpd]#setsebool -P ftpd_disable_trans 1

[root@ zhaiqutianshangxing vsftpd]#service vsftpd restart

第一行中的-P参数是为了以后不需要每次开机都输入这个命令

结果问题又来了,提示setsebool is not set ??? 此命令执行不成功,继续如下第二种方法

(二、)或使用以下解决:
[root@ zhaiqutianshangxing ~]#/usr/sbin/setsebool -P ftp_home_dir 1

恭喜,执行成功了, 可遗憾的是问题还没有解决 于是遇到如下构思~

新建用户登陆的是当前用户的家目录,但可切换到系统根(不安全)

禁固配置:
chroot_local_user=YES ;所有系统用户进入FTP后不能随意切换家目录

系统用户默认lcd—> put是可以上传文件的

匿名用户默认是不能上传文件的解决方法

前提:
getenforce 如果是Enforcing 请关 :setenforce 0

anon_mkdir_write_enable=YES ;创建目录
anon_upload_enable=YES ;上传文件
write_enable=YES;写权限
anon_other_write_enable=YES ;删除权限

另外
mkdir /home/ftp/upload
chown ftp:root /home/ftp/upload ;同等命令setfacl -m u:ftp:rwx /var/ftp/upload

文件服务最后权限=文件系统权限*文件共享权限

拒绝某用户登陆FTP
配置文件中
userlist_enable=YES (启用/etc/vsftpd/user_list用户列表)
userlist_deny=YES ;列表生效

0 0
原创粉丝点击