FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输
FTP:file transfer protocol 文件传输协议
命令连接(控制链接):客户端发起请求,服务器响应
默认一直保持连接
数据连接:按需打开,按需关闭,与命令连接相关联
有可能同时打开多个数据连接
控制连接 TCP/21
数据连接 20/随机端口
主动模式(主动模式下,客户端会开启n、n+1两个端口,n作为客户端的命令端口,n+1作为客户端的数据端口)
1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了n+1端口
2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接
被动模式(被动模式下,客户端同样会开启n、n+1两个端口,不同的是在建立数据连接时由客户端发起连接建立)
1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式
2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端
3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接
服务名 vsftpd
主配置文件 /etc/vsftpd/vsftpd.conf
用户控制文件 /etc/vsftpd/ftpusers、/etc/vsftpd/user_list
用户验证类型
匿名用户:是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器
本地用户:是通过linux系统本地的账号密码进行验证登录,相比较匿名开放模式更安全,配置也比较简单。
虚拟用户
安装
服务器安装vsftpd软件
客户端安装ftp,否则无法使用ftp命令
登录时,直接使用ftp命令加上服务器IP地址
用户名:ftp或者anonymous
密码:无
工作目录:/var/ftp、/var/ftp/pub
目录权限:更改工作目录pub/的权限,使匿名用户能够进行写入的操作
可选配置项
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(删除、改名)
用户名:服务器本地用户
密码:本地用户密码
工作目录:本地用户的家目录
可选配置项
local_enable=[YES|NO] 是否允许本地用户登录FTP
local_umask=022 本地用户上传文件的umask值
local_root=/var/ftp 本地用户的FTP根目录
chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,确保安全
allow_writeable_chroot=YES 是否允许写入
chroot_list_enable=YES|NO 是否启用chroot_list_file
在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list
本地用户访问控制
配置项
pasv_enable=YES 启用被动模式
pasv_min_port=2001 被动模式使用的最小端口号
pasv_max_port=2005 被动模式使用的最大端口号
验证
服务器主配置文件添加上述3条记录
客户端下载文件时,查看端口号
服务名:smb
主程序:smbd 实现文件共享
TCP/139 TCP/445
安装:直接安装samba软件
主配置文件:/etc/samba/smb.conf
主配置文件解析
【global】 全局设置
workgroup=SAMBA 工作组
security=user 安全级别
user 本地用户验证,需要提供用户名密码
server 需要提供用户名密码,可指定其他主机进行身份验证
domain 需要提供用户名密码,可指定DC(域控制器)进行身份验证
【homes】 用户家目录的共享设置
comment 描述信息
readonly 只读
path 路径
write list 可写入的用户和组的列表
writeable 写入
public 所有人访问
【printers】 打印机共享设置
【print$】 自定义共享目录设置
【share】 自定义区域
samba提供简单文件共享,用户访问
服务器端
安装samba
创建共享目录
更改目录权限
主配置文件中声明共享区域
启动服务
创建用户,设置为samba用户 smbpasswd -a
客户端
安装客户端工具:yum -y install samba-client*
客户端查看共享目录:smbclient -U 用户名 -L //服务器地址/共享目录名称
客户端登录samba服务器:smbclient -U 用户名 //服务器地址/共享目录名称
ls 查看
get 下载
put 上传
本地映射 win+R访问
使用UNC路径
提示输入用户名密码
映射网络驱动器
客户端自动挂载
客户端
创建挂载目录
命令行挂载:mount -t cifs -o username=a1,password=123 //服务器地址/共享目录名称 挂载点
自动挂载文件挂载://服务器地址/共享目录名称 挂载点 cifs 挂载参数 0 0
权限
read only
write list
用户别名
服务器
创建用户别名文件:vim /etc/samba/smbusers
a2 = zhangsan lisi
在主配置文件中声明开启别名(在全局配置区域声明):username map = /etc/samba/smbusers
保存,重启服务
客户端:使用别名登录samba服务器
访问控制:在主配置文件中的全区配置区域声明
hosts allow 允许个别,拒绝所有
hosts deny 拒绝个别,允许所有