您的位置:首页 > 运维架构 > Linux

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

2015-08-31 00:58 453 查看
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 ;列表生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: