FTP传输

三种解析:

username -->UID  :/etc/passwd    将用户名转换成UID的库。

hostname--->        IP   :DNS服务,/etc/hosts   将主机名转换成IP地址

service name-->ports  :/etc/services    将服务名称转换为端口号

只要有一种数据存储格式,能够帮我们去保存这种对应关系,他都可以称之为解析库。

只不过我们放在不同的库中,他所依赖的程序不一样。

不同的解析库需要不同的查讯方式。(nsswitch)

常用的文件共享服务

FTP:文件传输协议,监听在21端口。文件共享服务。工作在应用层。一种古老的传输协议。

RPC:remote  procedure  call  ,远程过程调用:能够让位于不同主机上的两个进程能够基于二进制的格式实现数据通讯。.

NFS(network file system):网络文件系统,他依赖于RPC工作的一种机制。

Samba:他是CIFS/SMB协议的实现,它能够实现跨平台文件共享,共享的机制比较底层。

ftp简介:

独立于应用层服务,依赖于互联网就可以完成通讯。不再依赖于其他的额外机制。

基于TCP协议来实现,

ftp的两种连接:

命令连接(控制连接):一直在线,客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。

监听在tcp协议的21端口。

数据连接:当客户端发起数据下载请求时,才打开这个链接,当数据下载完成后,关闭这个连接。按需打开,按需关闭。

监听的端口:

主动模式:ftp服务器主动用自己的20号端口/TCP去连接客户端(考虑防火墙)

被动模式:端口随机,

防火墙连接跟踪---控制连接和数据连接有关联系性,但又是两种各自的连接。

ftp数据传输模式:

支持文本传输和二进制传输,而且数据传输应遵循文件本身的格式,由客户端和服务器端两者自行协商-------自动模式。

VSFTP配置文件位置

vsftp:服务器端程序, 支持主动模式、被动模式,二进制传输、文本传输....,

配置文件目录:/etc/vsftpd/

ftp服务器脚本:/etc/init.d/vsftpd

ftp主程序:/usr/sbin/vsftpd/

ftp主配置文件/etc/vsftpd/vsftpd.conf

用户认证

vsftp 基于PAM(可插入认证模块)实现用户认证

配置PAM的文件:

/etc/pam.d/*.conf  、  /lib/security/*  模块 、  /lib64/security/* 模块、

支持虚拟用户

Linux提供ftp服务的根目录:/var/ftp,除root用户,其他用户没有写权限。

/etc/pam.d/vsftpd  :针对用户。可以让所有的账号都不能登录ftp,只有你允许的账号登录ftp。

/etc/hosts.deny :允许或拒绝某一IP地址或主机名的访问,也可以是某个IP地址段或区域内的一些用户。

ftp主文件解析(/etc/vsftpd/vsftpd.conf)

anonymous_enable=yes/no:匿名用户访问

local_enable =yse/no:本地用户是否可以登录

weite_enable=yes/no:本地账号是否可以写入

local_umask=022:上传文件的umask值是多少

anon_upload_enable=yes/no:匿名用户是否可以上传文件

anon_mkdir_write_enable=yes/no:匿名账号是否可以创建目录

chroolt_list_enable=yes/no:规定用户只能在自己的家目录,不可以随便随便乱逛!

chroot_list_file_=/..........:给规定用户加的条件,一定要再次打开这个!

若共享不了记得关:   setenforce  0

添加用户:useradd bochuang  -s  /sbin/nologin  -d  /var/ftp

最新文章

  1. iOS UITabBarController的使用
  2. href="javascript:function()" 和onclick的区别
  3. JVM类加载过程
  4. 驱动开发利器Microsoft Windows Driver Kit 7.1.0下载
  5. word里的代码格式,使之有底纹的效果
  6. mongoose学习文档
  7. ruby -- 问题解决(八)解决Paperclip::NotIdentifiedByImageMagickError
  8. .Net分页实现
  9. Python学习笔记11—函数
  10. EF中执行存储过程,获取output返回值
  11. Java位运算在程序设计中的使用:位掩码(BitMask)
  12. 转:1.1 cdev_init cdev_alloc 使用说明
  13. Java四大名著下载大全(中文+英文)
  14. SqlServer 技术点总结(持续更新)
  15. Saltstack如何修改主机名或者minion id
  16. 爬起点小说 day02
  17. 新建Maven项目建成后本应该有的src/main/java和src/test/java目录并没有出现:
  18. 机器学习与Tensorflow(5)——循环神经网络、长短时记忆网络
  19. Redis-Sentinel
  20. 解决 Boost安装:fatal error: bzlib.h: No such file or directory 问题

热门文章

  1. Eclipse对spring-boot,spring-boot-mybatis的搭建
  2. 请教网友:#pragma pack(push) #pragma pack(pop)无效
  3. 1-6docker数据共享与持久化
  4. storm并行
  5. 显示屏display的API
  6. windows 安装 scrapy (python3.7)
  7. intellij idea快速通过mapper跳转到xml文件
  8. sql 语句中定义的变量不能和 sql关键字冲突
  9. Java面试宝典(2020版)
  10. asp.net core 系列之Performance的 Response compression(响应压缩)