系统学习Linux-文件共享服务器(一)

一:FTP共享服务

概述

FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输
FTP:file transfer protocol  文件传输协议


FTP连接类型

命令连接(控制链接):客户端发起请求,服务器响应
                                        默认一直保持连接

数据连接:按需打开,按需关闭,与命令连接相关联
                  有可能同时打开多个数据连接


端口

控制连接   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条记录

客户端下载文件时,查看端口号


二、SAMBA

服务名: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    拒绝个别,允许所有


你可能感兴趣的:(linux,学习,运维)