samba服务搭建
admin
2024-04-01 16:41:06
0

一、 服务端配置

1 在服务端安装samba软件包

[root@Server ~]# yum -y install samba
已加载插件:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You bscription-manager to register.
正在解决依赖关系
–> 正在检查事务
—> 软件包 samba.x86_64.0.4.6.2-8.el7 将被 安装

已安装:
samba.x86_64 0:4.6.2-8.el7

作为依赖被安装:
samba-client-libs.x86_64 0:4.6.2-8.el7
samba-common-libs.x86_64 0:4.6.2-8.el7
samba-common-tools.x86_64 0:4.6.2-8.el7

作为依赖被升级:
krb5-libs.x86_64 0:1.15.1-8.el7 libldb.x86_64 0:1.1.29-1.el7
libsmbclient.x86_64 0:4.6.2-8.el7 libtalloc.x86_64 0:2.1.9-1.e
libtdb.x86_64 0:1.3.12-2.el7 libtevent.x86_64 0:0.9.31-1.
libwbclient.x86_64 0:4.6.2-8.el7 pytalloc.x86_64 0:2.1.9-1.el
samba-common.noarch 0:4.6.2-8.el7 samba-libs.x86_64 0:4.6.2-8.

完毕!

1.2 关闭SELinux

[root@Server ~]# vim /etc/selinux/config 
[root@Server ~]# cat /etc/selinux/config | grep -v "#" | grep -v "^$"
SELINUX=disabled 
SELINUXTYPE=targeted 
[root@Server ~]# getenforce 
Disabled
[root@Server ~]# 

修改配置文件关闭SELinux是永久关闭,也可以使用以下命令进行关闭
setenforce0:临时生效,下次重启后,会重新打开SELinux
getenforce:查看SELinux的状态

1.3 防火墙放行Samba服务

[root@Server ~]# firewall-cmd --permanent --add-service="samba"
success
[root@Server ~]# firewall-cmd --reload 
success
[root@Server ~]# firewall-cmd --list-all
public (default, active)interfaces: eno16777736sources: services: dhcp dhcpv6-client samba sshports: masquerade: noforward-ports: icmp-blocks: rich rules: [root@Server ~]#

1.4 配置开机自启动Samba服务

[root@Server ~]# systemctl enable smb nmb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'
[root@Server ~]# systemctl restart smb nmb

Samba的服务名是依赖于smb和nmb的,所以在启动时,需要启动这两项服务

1.5 修改Samba配置文件

创建相关的文件夹,并创建用户和组

[root@Server ~]# mkdir /Public
[root@Server ~]# mkdir /Sale
[root@Server ~]# mkdir /Technology
[root@Server ~]# groupadd Sale
[root@Server ~]# groupadd Technology
[root@Server ~]# useradd -g Sale Sale1
[root@Server ~]# useradd -g Technology Technology1
[root@Server ~]# useradd Boss

修改Samba的配置文件

[root@Server ~]# vim /etc/samba/smb.conf
[root@Server ~]# cat !$ | grep -v "#" | grep -v "^$"
cat /etc/samba/smb.conf | grep -v "#" | grep -v "^$"
[global]workgroup = SAMBAsecurity = user            //登录的安全模式,user表示需要输入用户名和密码passdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw
[Public]path = /Public                         //共享文件夹的目录writable = yes                         //是否可写write list = Boss,Sale1,Technology1      //可写用户列表,如果是用户组,前面需要有"+"create mask = 0664                     //创建文件的默认权限directory mask = 0775
[Sale]path = /Salewritable = yeswrite list = Sale1,Bosscreate mask = 0664directory mask = 0775
[Technology]path = /Technology write list = Boss,Technology1create mask = 0664directory mask = 0775
[root@Server ~]# 

向Samba服务中添加用户,并重新启动Samba服务

[root@Server ~]# pdbedit -au Boss   //在Samba服务中添加用户Boss
new password:123                    //为用户设置密码,不显示
retype new password:123                //再次输入密码,不显示
Unix username:        Boss
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-252106335-936056488-221418339-1000
Primary Group SID:    S-1-5-21-252106335-936056488-221418339-513
Full Name:            
Home Directory:       \\server\boss
HomeDir Drive:        
Logon Script:         
Profile Path:         \\server\boss\profile
Domain:               SERVER
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    五, 10 12月 2021 17:02:47 CST
Password can change:  五, 10 12月 2021 17:02:47 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@Server ~]# pdbedit -au Sale1        //同样的将另外两个用户加入到Samba用户列表中
[root@Server ~]# pdbedit -au Technology1
[root@Server ~]# pdbedit -L   //列出Samba服务的用户列表
Boss:1003: 
Technology1:1002:
Sale1:1001:
[root@Server ~]# systemctl restart smb nmb   //重新启动Samba服务
[root@Server ~]#

为不同的文件夹设置特殊权限

[root@Server ~]# chmod o+x /Public/         //修改共享文件夹的权限
[root@Server ~]# chmod o+x /Sale/
[root@Server ~]# chmod o+x /Technology/
[root@Server ~]# setfacl -m u:Sale1:rwx /Public/             //设置特殊权限,使Sale1可以对共享文件夹进行读写操作
[root@Server ~]# setfacl -m u:Technology1:rwx /Public/
[root@Server ~]# setfacl -m u:Boss:rwx /Public/
[root@Server ~]# setfacl -m u:Boss:rwx /Sale/
[root@Server ~]# setfacl -m u:Boss:rwx /Technology/
[root@Server ~]# setfacl -m g:Sale:rwx /Sale/         //使Sale用户组的用户都可以对Sale文件夹进行读写操作
[root@Server ~]# setfacl -m g:Technology:rwx /Technology/

二、客户端配置

2.1 Linux客户端安装Samba客户端

[root@Client ~]# yum -y install samba-client
已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba-client.x86_64.0.4.6.2-8.el7 将被 安装...已安装:samba-client.x86_64 0:4.6.2-8.el7                                             作为依赖被安装:samba-common-libs.x86_64 0:4.6.2-8.el7                                        完毕!
[root@Client ~]# 

2.2 Linux客户端进行测试

[root@Client ~]# smbclient -L //192.168.43.128 -U Boss
Enter SAMBA\Boss's password: 
Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename       Type      Comment---------       ----      -------Public          Disk      Sale            Disk      Technology      Disk      IPC$            IPC       IPC Service (Samba 4.6.2)
Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]Server               Comment---------            -------Workgroup            Master---------            -------SAMBA                SERVERWORKGROUP            HASEE-BAD
[root@Client ~]# 

以上可以看到可以正常访问Samba服务器

2.3 Linux客户端将Samba服务器的共享目录进行本地挂载

将Samba服务器的共享目录进行本地多用户挂载
将Public目录以Boss身份登入,挂载到/Samba/Public目录下
将Sale目录以Sale1身份登入,挂载到/Samba/Sale_Sale1目录下
将Sale目录以Technology1身份登入,挂载到/Samba/Sale_Technology1目录下
将Technology目录以Technology1身份登入,挂载到/Samba/Technology目录下
[root@Client ~]# vim /etc/fstab 
[root@Client ~]# cat /etc/fstab | grep -v "#" | grep -v "^$"
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=303f3e9b-272c-45d4-b73d-54daff254def /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/cdrom /mnt iso9660 defaults 0 0# 共享目录              挂载点                     username表示以哪个用户进行登录挂载
//192.168.43.128/Public /Samba/Public cifs multiuser,username=Boss,password=123,sec=ntlmssp 0 0
//192.168.43.128/Sale /Samba/Sale_Sale1 cifs multiuser,username=Sale1,password=123,sec=ntlmssp 0 0
//192.168.43.128/Sale /Samba/Sale_Technology1 cifs multiuser,username=Technology1,password=123,sec=ntlmssp 0 0
//192.168.43.128/Technology /Samba/Technology cifs multiuser,username=Technology1,password=123,sec=ntlmssp 0 0[root@Client ~]# mkdir -p /Samba/Public
[root@Client ~]# mkdir /Samba/Sale_Sale1
[root@Client ~]# mkdir /Samba/Sale_Technology1
[root@Client ~]# mkdir /Samba/Technology
[root@Client ~]# mount -a
[root@Client ~]#

进行权限测试

[root@Client ~]# cd /Samba/
[root@Client Samba]# ls
Public  Sale_Sale1  Sale_Technology1  Technology
[root@Client Samba]# cd Public/
[root@Client Public]# touch file1
[root@Client Public]# ll
总用量 0
-rw-r--r-- 1 1003 1003 0 12月 11 04:55 file1
[root@Client Public]# cd ..
[root@Client Samba]# cd Sale_Sale1/
[root@Client Sale_Sale1]# touch file1
[root@Client Sale_Sale1]# ll
总用量 0
-rw-r--r-- 1 1001 1001 0 12月 11 04:56 file1
[root@Client Sale_Sale1]# cd ..
[root@Client Samba]# cd Sale_Technology1/
[root@Client Sale_Technology1]# touch file1
touch: 无法创建"file1": 权限不够
[root@Client Sale_Technology1]# cd ..
[root@Client Samba]# cd Technology/
[root@Client Technology]# touch file1
[root@Client Technology]# ll
总用量 0
-rw-r--r-- 1 1002 1002 0 12月 11 04:58 file1
[root@Client Technology]# 

如上,在不同的目录中进行了文件权限测试
Public目录中,是以Boss身份登入挂载的,所以可以进行读写操作,创建文件的用户UID为1003,可以在服务端看到即为Boss账户的UID
Sale_Sale1目录中,是将Sale共享目录以Sale1身份登入挂载的,所以可以进行读写操作,文件的所有者UID为1001,即为Sale1账户的UID
Sale_Technology1目录中,是将Sale共享目录以Technology1身份登入挂载的,所以没有权限进行读写操作
Technology目录中,是将Technology共享目录以Technology1身份登入挂载的,所以可以进行读写操作,文件的所有者UID为1002,即为Technology1账户的UID

服务器端检查是否创建相应文件以及文件所有者信息

root@Server ~]# cd /Sale/
[root@Server Sale]# ll
总用量 0
-rw-r--r-- 1 Sale1 Sale 0 12月 11 2021 file1
[root@Server Sale]# cd /Technology/
[root@Server Technology]# ll
总用量 0
-rw-r--r-- 1 Technology1 Technology 0 12月 11 2021 file1
[root@Server Technology]# cd /Public/
[root@Server Public]# ll
总用量 0
-rw-r--r-- 1 Boss Boss 0 12月 11 2021 file1
[root@Server Public]# 

三、Windows客户端进行测试

在Windows客户端进行访问测试 在此电脑中输入\192.168.43.128,进行访问测试 或Win +
R输入\192.168.43.128,进行访问测试 以不同的身份登入到Samba服务器,分别在不同的文件夹中创建文件,查看是否具有权限
创建完成后,可以在服务端,查看相应的目录下是否存在该文件,以及该文件的所有者信息
在Windows客户端访问后,需要切换账户登录,则需要退出登录 在CMD中执行net use * /del /y命令,以清除所有远程

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...