十、Linux进阶——网络文件系统samba

一、windows与linux实现共享文件

  • windows端设置文件共享权限
    在这里插入图片描述在这里插入图片描述
  • linux端安装samba服务在这里插入图片描述
    在这里插入图片描述
  • 挂载共享文件到/mnt在这里插入图片描述

二、网络文件系统samba

1、 samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

作用:

windows系统共享文件时用到的协议smb
CIFS(Common Internet File System)文件系统也称通用Internet文件系统,它使程序可以访问远程Internet计算机上的文件并要求此计算机的服务。CIFS使用客户/服务器模式。客户程序请求远在服务器上的服务程序为它提供服务,服务器获得请求并返回响应。CIFS是公开的开放的SMB协议版本。SMB协议现在是在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行。可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。

作用:

访问服务器本地文件并读写这些文件
与其它用户一起共享一些文件块
在断线时自动恢复与网络的连接
使用统一码文件名

2、基本信息

名称属性
服务启动脚本smb.service
主配置目录/etc/samba
主配置文件/etc/samba.conf
安全上下文samba_share_t
端口139 445
安装包samba samba-common

3、安装与启用

samba的安装: 
dnf install samba samba-common samba-client -y
samba服务启动: 
systemctl enable --now smb
samba服务启用 
firewall-cmd --permanent --add-service=samba 
firewall-cmd --reload 

在这里插入图片描述在这里插入图片描述
测试:
smbclient -L //192.168.43.20 ##当要输入root密码时请直接回车
在这里插入图片描述

4、用户建立

samba用户必须是本地存在的用户

smbpasswd -a zx   ## 建立samba用户
pdbedit -L         ## 查看用户列表
pdbedit -x zx     ## 删除用户

在这里插入图片描述

5、访问家目录

smbclient - L //172.25.254.20 -U westos
在这里插入图片描述

6、共享目录

mkdir /zxdir
touch /zxdir/zxfile{1…5}
semanage fcontext -a -t samba_share_t ‘/zxdir(/.*)?’
restorecon -RvvF /zxdir/

 基本方式:
vim /etc/samba/smb.conf 
	[zxdir]         ##共享名称 
    comment = zxdir ##共享说明 
    path = /zxdir   ##共享路径
systemctl restart smb 

在这里插入图片描述

测试: smbclient //192.168.43.20/zxdir -U westos
在这里插入图片描述
cifs文件系统挂载和自动挂载:

mount //172.25.254.20/zxdir /mnt -o username=westos,password=lee

在这里插入图片描述

7、cifs文件系统权限管理

用户/用户组写权限
chmod 777 /zxdir
vim /etc/samba/smb.conf 
[zxdir]        
    comment = zxdir 
	path = /zxdir   
	#writeable = yes  ##允许所有用户
	write list = westos   ##允许westos用户
	write list = +westos  ##允许组为westos的用户
systemctl restart smb 

在这里插入图片描述
测试:
mount -o username=westos,password=lee //172.25.254.20/zxdir /mnt
touch /mnt/file ##看创建文件是否被拒绝
在这里插入图片描述

8、常用配置参数

writable = yes ##所有用户可写 
write list = lee       ##指定用户可写 
write list = +lee|@lee ##指定组可写 
valid users = lee       ##指定可访问用户 
valid users = +lee|@lee ##指定可访问组 

在这里插入图片描述
是否显示共享

browseable = yes|no ##是否显示共享

在这里插入图片描述

允许匿名用户访问

map to guest = bad user ##写到全局设定中 
guest ok = yes

在这里插入图片描述
指定此身份登陆的新建文件用户为超级用户

admin users = westos ##指定此身份登陆的新建文件用户为超级用户

在这里插入图片描述
访问控制

hosts allow = 172.25.254.30  ##对网段的主机均允许访问生效
hosts deny = 172.25.254.20   ##黑名单

在这里插入图片描述在这里插入图片描述

9、多用户挂载

在客户端如果用root挂载方式samba服务,普通用户也可以访问,不安全

安装samba认证工具

dnf install cifs-utils -y  ##安装samba认证工具
man mount.cifs   ##查看操作

配置超级用户通过westos身份

vim /root/smbpass
	username=westos ##超级用户通过westos认证身份
	password=lee
chmod 600 smbpass
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.20/zxdir /mnt
	#credentials=/root/smbpass 指定认证文件 
	#sec=ntlmssp 指定认证类型 
	#multiuser 支持多用户

测试
在这里插入图片描述
添加lee认证

cifscreds  add  -u lee 172.25.254.20 ##添加认证

在这里插入图片描述
通过认证可以显示mnt的文件

排错

认证不存在用户后,再认证存在用户会报错
cifscreds clearall   ##使用命令后即可排错

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值