Samba- RedHat7.6 Samba多用户文件共享服务器搭建详解

1 引言

SAMBA 是一个实现不同操作系统之间文件共享和打印机共享的一种 SMB 协议的免费软件。
SMB(Server Message block)协议是 window 下所使用的文件共享协议,我们在 linux 系统或 者其类 unix 系统当中可以通过 samba 服务来实现 SMB 功能。

  • samba相关服务

1.smbd
提供 samba 核心功能、文件及打印共享服务功能,使用 139、445 端口 2.nmbd
提供 Netbios 支持(类似于 DNS,解析各主机的 Netbios 名),使用 137、138 端口

  • samba安全级别

从低到高分别为:share,user,server 它们对应的验证方式如下:
1.share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
2.user:samba 的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进 行验证。
3.server:与 user 安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递 交给一台 NT 服务器。如果递交失败,就退到 user 安全级。

  • Samba 配置文件

配置文件位于/etc/samba/smb.conf,其中关键项目有
1.[global]
定义全局性配置
2.workgroup
用于指定工作组
3.security
用于指定 Samba 的安全级别
4.passdb backend
指定验证 samba 用户的数据库
5.path
用于指定共享目录路径
6.write list
用于指定可写的用户及用户组

  • smbpasswd 命令

该命令属于 Samba 套件,能够实现添加或删除 samba 用户及为用户修改密码。常用参数 有:
1.-a
向 smbpasswd 文件中添加用户
2.-x
从 smbpasswd 文件中删除用户

  • Samba 多用户挂载

Samba 客户端的 multiuser 挂载:支持切换访问 Samba 共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp (NT LAN Manager Security Support Provider,是微软 Windows NT 早期版本的标准安全协议) ”,客户机上的普通用户可以通过 cifscreds 命令提交新的身份凭据。

2 提供SMB文件共享

  • 1.环境

计算机rehhat7.6:client 和 server

  • 2.配置 server 为 SMB 服务器

1)安装 samba
yum install -y samba
2)创建辅助系统组 marketing groupadd -r marketing
3)创建共享目录
mkdir -p /smbshare
4)修改共享目录属组及权限
chgrp marketing /smbshare chmod 2775 /smbshare
5)设置共享目录标签
semanage fcontext -a -t samba_share_t ‘/smbshare(/.*)?’
6)对共享目录应用 SELinux 规则
restorecon -vvFR /smbshare
7)修改 samba 配置文件
vim /etc/samba/smb.conf
修改确认以下内容:
[global]
89:workgroup = mycompany 123:security = user 124:passdb backend = tdbsam 在文件按末尾追加: [smbshare]
path = /smbshare
write list = @marketing
8)安装 samba-client 软件包以获取 smbpasswd
yum install -y samba-client
9)为 marketing 组创建组内成员 brian
useradd -s /sbin/nologin -G marketing brian
10)向 Samba 添加 SMB 用户 brian
smbpasswd -a brian 注:密码设置为 redhat
11)创建用户 rob
useradd -s /sbin/nologin rob
12)向 Samba 中添加 SMB 用户 rob
smbpasswd -a rob
注:密码设置为 redhat
13)启动 smb 及 nmb 服务并设置防火墙允许服务被访问
systemctl enable smb nmb
systemctl start smb nmb
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

  • 3.配置 client 为 Samba 客户端

1)安装客户端软件
yum install cifs-utils -y
2)创建 brian 用户的挂载点
mkdir /mnt/brian
3)以 brian 用户的身份临时挂载 Samba 服务器上的共享目录
mount -o username=brian //server/smbshare /mnt/brian 注:密码为 redhat
4)测试 brian 用户是否对共享目录具有写权限
echo “Hello World” > /mnt/brian/brian1.txt
cat /mnt/brian/brian1.txt 注:可写
5)创建 rob 用户的挂载点 mkdir /mnt/rob
6)以 rob 用户的身份临时挂载共享目录
mount -o username=rob //server/smbshare /mnt/rob
注:密码为 redhat
7)测试 rob 是否对共享目录具有写权限
touch /mnt/rob/rob1.txt 注:提示由于权限不足无法创建文件

3 SMB 多用户挂载

  • 1.环境

计算机:client 和 server

  • 2.在 client 上配置多用户挂载

1)安装客户端软件
yum install -y cifs-utils
2)创建挂载点/mnt/multiuser
mkdir /mnt/multiuser
3)创建 brian 用户的用户名和密码凭证文件
echo ‘username=brian’ >> /root/smb-multiuser.txt
echo ‘password=redhat’ >> /root/smb-multiuser.txt
4)在/etc/fstab 中创建一个条目,以 brian 身份永久挂载共享目录
echo ‘//server0/smbshare /mnt/multiuser cifs credentials=/root/smb-multiuser.txt,multiuser,sec=ntlmssp 0 0’ >> /etc/fstab
5)测试是否能够挂载
mount /mnt/multiuser
6)切换到用户 brian
su - brian
7)在 client 上,以 brian 用户的身份写入到/mnt/multiuser 挂载点
touch /mnt/multiuser/testfile.txt 注:显示没有权限创建文件
8)使用 cifscreds 命令记录 brian 的 Samba 凭据
cifscreds add server0
注:密码为 redhat
9)再次验证 brian 用户是否对共享目录具有读写权限
echo “Multiuser” > /mnt/multiuser/brian2.txt
cat /mnt/multiuser/brian2.txt 内容为:Multiuser
10)退出 brian 用户,切换至 rob 用户
exit
su - rob
11)使用 cifscreds 记录 rob 用户的 Samba 凭据
cifscreds add server
注:密码为 redhat
12)验证用户 rob 是否对共享目录具有读权限但没有写权限
echo ‘Multiuser’ > /mnt/multiuser/rob2.txt 注:提示没有权限创建文件
cat /mnt/multiuser/brian2.txt 注:可以查看文件内容
退出 rob 登录
exit

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值