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