三种解析:
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 Marry -s /sbin/nologin -d /var/ftp