Linux系统之部署Samba服务

news2024/11/25 11:05:27

Linux系统之部署Samba服务

  • 一、Samba服务介绍
    • 1.Samba服务简介
    • 2.NFS和CIFS简介
    • 3.Smaba服务相关包
    • 4.samba监听端口
    • 4.samba相关工具及命令
  • 二、环境规划介绍
    • 1.环境规划
    • 2.本次实践介绍
  • 三、Samba服务端配置
    • 1.检查yum仓库
    • 2.安装smaba相关软件包
    • 3.创建共享目录
    • 4.设置共享目录权限
    • 5.新建samba用户
    • 6.编辑samba主配置文件
    • 7.测试配置文件语法
    • 8.启动samba服务
    • 9.关闭防火墙或者selinux
  • 四、Samba客户端配置
    • 1.安装samba-client相关软件包
    • 2.检查Samba服务端共享目录
    • 3.创建samba认证用户文件smbur
    • 4.挂载共享目录
    • 5.查看客户端的文件系统
  • 五、Samba共享目录的权限测试
    • 1.检查alice用户的权限
    • 2.kitty和jeven用户的访问权限

一、Samba服务介绍

1.Samba服务简介

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

2.NFS和CIFS简介

  • NFS:网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。

  • NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。

  • CIFS:common internet file system,微软基于SMB发布。CIFS 用于在 Windows 操作系统上运行的远程操作,优先支持使用 Windows 操作系统的用户。

3.Smaba服务相关包

1.samba 提供smb服务
2.samba-client 客户端软件
3.samba-common 通用软件
4.cifs-utils smb客户端工具
5.samba-winbind 和AD相关

4.samba监听端口

TCP:139/445
UDP:137/138

4.samba相关工具及命令

主配置文件:/etc/samba/smb.conf
语法检查: testparm [-v] [/etc/samba/smb.conf]
客户端工具:smbclient,pdbedit -L(列出Samba用户列表,读取passdb.tdb数据库文件)

二、环境规划介绍

1.环境规划

本次环境规划如下:

hostnameIP地址操作系统版本角色
jeven192.168.3.166centos7.6客户端
server001192.168.3.157centos7.6服务端

2.本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎使用;
2.Samba用户为三个(kitty,jeven,alice);
3.3个用户都可以浏览共享目录/share/;
4.kitty和jeven可以写入文件共享目录。

三、Samba服务端配置

1.检查yum仓库

检查yum仓库状态,确保epel已经安装,
没有安装的话,使用 yum install epel-release -y安装。

[root@server001 ~]# yum repolist all |grep enable 
!base/7/x86_64                               CentOS-7 - Base     enabled: 10,072
!docker-ce-stable/7/x86_64                   Docker CE Stable -  enabled:    226
!epel/x86_64                                 Extra Packages for  enabled: 13,771
!extras/7/x86_64                             CentOS-7 - Extras   enabled:    515
!mysql-connectors-community/x86_64           MySQL Connectors Co enabled:    220
!mysql-tools-community/x86_64                MySQL Tools Communi enabled:     98
!mysql80-community/x86_64                    MySQL 8.0 Community enabled:    405
!remi-safe                                   Safe Remi's RPM rep enabled:  5,147
!updates/7/x86_64                            CentOS-7 - Updates  enabled:  4,886
!zabbix/x86_64                               Zabbix Official Rep enabled:    114
!zabbix-agent2-plugins/x86_64                Zabbix Official Rep enabled:      4
!zabbix-non-supported/x86_64                 Zabbix Official Rep enabled:      5

2.安装smaba相关软件包

安装 samba 和samba-client软件包

yum -y install samba samba-client

3.创建共享目录

创建samba共享目录/share

 mkdir  /share

4.设置共享目录权限

创建共享文件

[root@server001 ~]# cp /etc/passwd /etc/group /share
[root@server001 ~]# ls /share/
group  passwd

给共享目录设置777权限

 chmod -R 777 /share/

5.新建samba用户

新建三个samba用户,kitty、alice、jeven,其中kitty属于it组。

[root@server001 ~]# groupadd it
[root@server001 ~]# useradd -g it kitty
[root@server001 ~]# useradd alice
[root@server001 ~]# useradd jeven
[root@server001 ~]# smbpasswd -a kitty
New SMB password:
Retype new SMB password:
Added user kitty.
[root@server001 ~]# smbpasswd -a alice
New SMB password:
Retype new SMB password:
Added user alice.
[root@server001 ~]# smbpasswd -a jeven
New SMB password:
Retype new SMB password:
Added user jeven.
[root@server001 ~]# 

查看samba用户列表

[root@server001 ~]# pdbedit -L
kitty:1002:
jeven:1004:
alice:1003:

6.编辑samba主配置文件

先备份/etc/samba/smb.conf文件

 cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

在/etc/samba/smb.conf文件中,新增以下部分:


[share]
      path = /share
      browseable = yes
      write list = @it,jeven
      hosts allow = 192.168.3.0/24

在这里插入图片描述

7.测试配置文件语法

测试配置文件语法,确保配置文件修改正确。

[root@server001 ~]#  testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	printcap name = cups
	security = USER
	workgroup = SAMBA
	idmap config * : backend = tdb
	cups options = raw


[homes]
	browseable = No
	comment = Home Directories
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S


[printers]
	browseable = No
	comment = All Printers
	create mask = 0600
	path = /var/tmp
	printable = Yes


[print$]
	comment = Printer Drivers
	create mask = 0664
	directory mask = 0775
	force group = @printadmin
	path = /var/lib/samba/drivers
	write list = @printadmin root


[share]
	hosts allow = 192.168.3.0/24
	path = /share
	write list = @it jeven

8.启动samba服务

重启samba服务

systemctl enable --now smb
systemctl enable --now nmb

9.关闭防火墙或者selinux

可选择关闭防火墙或者开启防火墙,,放行samba服务

  • 关闭防火墙
systemctl stop firewalld  && systemctl disable  firewalld 
  • 放行samba服务
 firewall-cmd --permanent --add-service=samba
firewall-cmd --reload 
  • 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

四、Samba客户端配置

1.安装samba-client相关软件包

安装samba-client相关软件包

 yum -y install samba-client cifs-utils

2.检查Samba服务端共享目录

查看samba共享目录

smbclient -L //192.168.3.157 -U kitty%redhat
[root@jeven ~]# smbclient  //192.168.3.157/share   -U kitty
Enter SAMBA\kitty's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Apr 21 22:52:23 2023
  ..                                  D        0  Fri Apr 21 22:47:05 2023
  passwd                              N     1296  Fri Apr 21 22:52:23 2023
  group                               N      638  Fri Apr 21 22:52:23 2023

		52403200 blocks of size 1024. 33511324 blocks available
smb: \> 

3.创建samba认证用户文件smbur

创建samba认证用户文件smbur,使用alice作为认证用户。

 echo "username=alice" >> /etc/samba/smbur.txt
 echo "password=redhat" >> /etc/samba/smbur.txt

4.挂载共享目录

创建挂载目录

 mkdir -p /samba/share

在/etc/fstab文件中,永久挂载samba共享目录。

[root@jeven ~]# grep samba /etc/fstab 
//192.168.3.157/share /samba/share cifs defaults,credentials=/etc/samba/smbur.txt,multiuser,sec=ntlmssp 0 0

挂载samba共享目录

mount -a

5.查看客户端的文件系统

查看samba客户端的文件系统,/samba/share目录已经成功挂载。

[root@jeven ~]# mount -a
[root@jeven ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs                   tmpfs     3.9G   16K  3.9G   1% /dev/shm
tmpfs                   tmpfs     3.9G  163M  3.8G   5% /run
tmpfs                   tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs       106G  103G  3.5G  97% /
/dev/sda1               xfs      1014M  278M  737M  28% /boot
/dev/mapper/centos-home xfs      1014M   35M  980M   4% /home
tmpfs                   tmpfs     793M   12K  793M   1% /run/user/42
tmpfs                   tmpfs     793M     0  793M   0% /run/user/0
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/fd50a66714358108e44dc1a14f0d8bdffc94985f13cec5ce7a046ce57295fb1a/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/4dfc8bb698726775c15c6a9a13a83b7e2c40205907d6a8fd6bb8f1a225d3bc0b/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/5416d09ee09287c946db83f95285788c50b99f3a7aa3bbf6f684575bb36df52a/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/60c94259e4d74fffff425764a21380e86361707ff301eb99c9bfa337c6e230da/merged
overlay                 overlay   106G  103G  3.5G  97% /var/lib/docker/overlay2/cf7227761c12d4eeb511542064155b86dc5a359204cc5b221252eb03b5f952ef/merged
//192.168.3.157/share   cifs       50G   19G   32G  37% /samba/share

五、Samba共享目录的权限测试

1.检查alice用户的权限

检查在/samba/share上,以alice用户访问,新建文件的权限是拒绝的。

root@jeven ~]# cd /samba/share/
[root@jeven share]# ls
group  passwd
[root@jeven share]# touch aa.txt
touch: cannot touch ‘aa.txt’: Permission denied
[root@jeven share]# 

2.kitty和jeven用户的访问权限

切换本地admin用户,以kitty和jeven这两个samba用户测试访问权限。
kitty和jeven用户都可以正常访问共享目录,也可以在共享目录中新建文件。

[root@jeven share]# su - admin
Last login: Sun Apr 16 19:06:55 CST 2023 on pts/2
[admin@jeven ~]$ cifscreds add -u kitty  server001
error: Could not resolve address for server001
[admin@jeven ~]$ cifscreds add -u kitty  192.168.3.157
Password: 
[admin@jeven ~]$ cd /samba/share/
[admin@jeven share]$ ls
group  passwd
[admin@jeven share]$ touch kitty.txt
[admin@jeven share]$ ls
group  kitty.txt  passwd
[admin@jeven share]$ cifscreds update  -u jeven  192.168.3.157
Password: 
[admin@jeven share]$ ls
group  kitty.txt  passwd
[admin@jeven share]$ touch jeven.txt
[admin@jeven share]$ ls
group  jeven.txt  kitty.txt  passwd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Adobe认证证书

Adobe认证证书是Adobe公司颁发的一种专业认证证书,用于证明持有人在相关Adobe软件的使用和应用方面具有专业水平。该证书是业内公认的专业认证,具有较高的价值和认可度,可以帮助持有人提高职业竞争力和工作效率。 Adobe公司提供了多种认证考…

CentOS7(三)MySQL8 Redis7 (单机)安装

文章目录 一、MySQL安装1、确认是否有老版本2、在线安装3、本地安装 二、启动MySQL三、MySQL常用配置1、密码修改2、配置远程登录3、开启防火墙 3306 端口4、 报错5、MySQL中Java写入时间少14小时 四、Redis 安装1、安装Redis依赖2、启动redis3、指定配置启动 & 后台运行4、…

手机端H5地图调起开发实战案例解析(百度高德腾讯地图调起、底部弹出层、提示安装地图导航APP)

文章目录 1.导航菜单配置构建导航菜单容器设置取消事件调起菜单样式表 2.地图调起事件导航到这里获取导航坐标百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换 3.地图调起效果 地图调起功能,是地图URI API是为开发者提供直接调起地图产品(手机客户端&a…

nextjs13临时笔记

动态路由 文件夹以中括号命名[id] -pages: --list: ---[id]: ----index.jsx(访问路径/list/1 即这种形式/list/:id) ---index.jsx(访问路径/list)[...params]gpt接口分析 初始化项目 npm install next react react-dom # or yarn add next react react-dom # or pnpm add n…

WPF教程(六)--依赖属性(2)--属性值优先级与继承

一、 依赖属性的优先级 由于WPF 允许我们可以在多个地方设置依赖属性的值,所以我们就必须要用一个标准来保证值的优先级别。比如下面的例子中,我们在三个地方设置了按钮的背景颜色,那么哪一个设置才会是最终的结果呢?是Black、Re…

[oeasy]python0136_接收输入_input函数_字符串_str

输入变量 回忆上次内容 上次研究了 一行赋值多个变量 a b 5a, b 7, 8 还研究了 标识符的惯用法 python使用的是 snake_case蛇形命名法用下划线 分隔开小写字母的 方法这样就可以 更合理地 命名变量了 变量变量 能变的量我可以 手工输入变量的值 吗?&#x1f9…

MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

序言 兴趣使然,突发奇想,想到了就写,就当打发时间了。 一、使用 csv 导入数据的命令方法 csv文件路径问题,绝对路径和相对路径都可以 方法1 type 没有号,也是可以的,空格自动识别 将测试表.csv 文件导…

pikachu靶场-csrf

csrf 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方…

【C++ 六】内存分区、引用

内存分区、引用 文章目录 内存分区、引用前言1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new 操作符 2 引用2.1 引用基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用本质2.6 常量引用 总结 前言 本文包含内存分区、引用基本使用、引用注意事项、…

记一次完整的rc.local中启动python脚本报psutil找不到问题解决

文章目录 1,问题1.1,rc.local1.2,watchdog.py 2,问题排查2.1,手动执行start.sh后功能正常2.2,开机启动后rc.local加载start.sh,然后start.sh启动python脚本报错2.3,怀疑是rc.local加…

SAP S/4HANA不是ERP了?

今天浏览了一下SAP官方帮助(Help)网站,有一个意外的发现,如上图:SAP S/4HANA和SAP ERP是分别显示的,这让我想起了前段时间一个朋友和我说:“S/4HANA现在都不叫ERP了,因为里面包括了超…

【C++初阶】C++入门(一):命名空间C++的输入输出缺省参数函数重载

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录 1.什么是C1.1 C的发…

最新Tuxera NTFS2023最新版Mac读写NTFS磁盘工具 更新详情介绍

Tuxera NTFS for Mac是一款Mac系统NTFS磁盘读写软件。在系统默认状态下,MacOSX只能实现对NTFS的读取功能,Tuxera NTFS可以帮助MacOS 系统的电脑顺利实现对NTFS分区的读/写功能。Tuxera NTFS 2023完美兼容最新版本的MacOS 11 Big Sur,在M1芯片…

Python统计学:如何理解样本统计量?

本期介绍样本统计量是怎么算的,并用Python来模拟随机抽样。用一个在鱼塘捞鱼的简单例子来理解样本均值的概念。 如何理解重复试验? 指能够在完全相同条件下进行多次的试验; 比如我们抛10枚硬币,用来计算正面出现的概率&#xff…

4.7 贝塞尔曲线

学习目标: 学习贝塞尔曲线可以遵循以下步骤: 1.了解基本概念和定义:学习贝塞尔曲线前需要了解贝塞尔曲线的基本概念和定义,如何定义一条贝塞尔曲线、控制点的概念以及贝塞尔曲线的几何性质等。 2.学习贝塞尔曲线的构造方法&…

Django搭建一个简易GPT网站

文章目录 环境安装创建主项目和应用程序在 settings.py 文件中注册应用程序在 views.py 文件中为应用程序创建视图配置应用程序的 URL创建和渲染模板KEY实现发送提示功能注意事项完整源码 环境安装 pip install django openai创建主项目和应用程序 处理完项目的环境后&#x…

第二个机器学习应用:乳腺癌数据集在决策树模型上的挖掘

目录 决策树优化与可视化 1 决策树分类 2 决策树可视化 3 显示树的特征重要性 特征重要性可视化 决策树回归 1 决策树回归 决策树优化与可视化 1 决策树分类 from sklearn.datasets import load_breast_cancer from sklearn.tree import DecisionTreeClassifier from sk…

基于C++开发的医院医学影像PACS 可二次开发,三维重建

医学影像PACS系统源码,集成三维影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大,代码完整。有演示。 本套PACS系统专门针对医院工作流程设计的&am…

分布式ID生成策略总结

1、UUID 2、数据库自增ID 2.1、主键表 2.2、ID自增步长设置 3、号段模式 4、Redis INCR 5、雪花算法 6、美团(Leaf) 7、百度(Uidgenerator) 8、滴滴(TinyID) 总结比较 背景 在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对…

springboot中的日志

作者:~小明学编程 文章专栏:spring框架 格言:热爱编程的,终将被编程所厚爱。 目录 为什么需要日志 如何使用日志功能 日志的打印 获取日志对象 使用日志对象打印日志 日志级别 为什么我们需要把日志分为如此多的种类呢&am…