阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux上Samba服务的搭建和访问

497次阅读
没有评论

共计 3649 个字符,预计需要花费 10 分钟才能阅读完成。

SAMBA 服务的产生

在早期的网络世界中,档案数据在不同主机之间的传输大多是使用 FTP 服务,但是 FTP 服务传输档案有一些小小的问题,那就是我们无法直接修改主机上面的档案数据,也就是说我们如果想要修改某个档案的数据时,就必须将该档案的服务器下载后才能修改,这样就很麻烦了。其实解决这个问题也很简单,NFS 服务就很好的解决档案数据不能直接修改的问题,因为 NFS 服务是直接将共享目录挂载到客户端的机器上,那么共享目录就好像成了自己的目录一样,共享数据的使用自然就很方便,但是,NFS 也有一些小小的问题,它仅能使 Unix Like 的机器相互分享。那么我要是需要 Windows 与 Unix-Like 这两个不同的平台相互分享呢?那该怎么办?也就是说,FTP 服务实现了跨平台分享,却无法修改共享数据;NFS 解决了共享数据的修改问题,却没办法实现跨平台的共享。所以,SAMBA 服务也就随着需要产生了。它综合了 FTP 和 NFS 的有点,既实现了跨平台的传输,还满足了修改数据的功能。

SAMBA 服务的配置文件

samba 的设定流程

  1. 服务器整体设定方面:在 smb.conf 当中设定好工作组、NetBIOS 主机名、密码使用状态(无密码分享或 本机密码)等等;
  2. 规划准备分享的目录参数:在 smb.conf 内设定好预计要分享的目录或装置以及可供使用的账号数据;
  3. 建立所需要的文件系统: 根据步骤 2 的设定,在 linux 文件系统当中建立好分享出去的档案或装置,以及相关的权限参数
  4. 建立可用 samba 的账号:根据步骤 2 的设定,建立所需的 linux 实体账号,再一 pdbedit 建立使用的 samba 的密码
  5. 启动服务:启动 samba 的 smbd,nmbd 服务,开始运转。

samba 服务的配置文件
由上述的设定流程,可以看出 samba 服务的配置文件为服务搭建起到了导向的作用,那么我就先来了解以下 samba 的基础配置。

  • smb.conf 继承了.ini 文件的格式,用 [] 分成了不同的部分
  • 全局设置:[global] 服务器通用或全局设置的部分
  • 特定共享设置:[homes] 用户的家目录共享;[printers] 定义打印机资源和服务;[sharename] 自定义的共享目录配置。
  • 宏定义:
符号 释义 符号 释义
%m 客户端主机的 NetBIOS 名 %M 客户端主机的 FQDN
%H 当前用户家目录路径 %U 当前用户的用户名
%g 当前用户所属组 %h samba 服务器的主机名
%L samba 服务器的 NetBIOS 名 %I 客户端主机的 IP
%T 当前的日期和时间 %S 可登录的用户名

samba 服务器全局配置

  • workgroup 指定工作组名称
  • server string 主机注释信息
  • netbios name 指定 NetBIOS 名
  • interfaces 指定服务侦听接口和 ip
  • hosts allow 可用“,”,空格,或 tab 分隔,默认允许所有主机访问,也可在每个共享独立配置。
  • hosts deny 拒绝指定主机访问
  • config file = /etc/samba/conf.d/%U 用户独立的配置文件
  • Log level = 2 日志级别,默认为 0,不记录日志
  • max log size = 50 日志文件达到 50k,将轮循 rotate,单位 KB
  • passdb backend = tdbsam 密码数据库格式

“samba 服务共享目录配置”

  • 每个共享目录应该有独立的 [] 部分
  • [共享名称] 远程网络看到的共享名称
  • comment 注释信息
  • path 所共享的目录路径
  • public 能否被 guest 访问的共享,默认为 no,和 guest ok 类似
  • browsable 是否允许所有用户浏览此共享,默认为 yes,no 为隐藏
  • writeable = yes 可以被所有用户读写,默认为 no
  • read only = no 和 writeable = yes 等价,如与以上设置发生冲突,放在后面的设置生效,默认只读
  • write list 三种形式:用户,@组名(如 writeable=no,列表中用户或组可读写,不在列表中用户只读)
  • valid users 特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔

SAMBA 服务的搭建

基础的 SAMBA 服务搭建
要求:在现有的 Linux 上搭建一个 samba 服务,共享 /app 下的 smbtest 目录。
在搭建服务之前,我们需要预先安装我们需要的软件

  • samba:这个软件主要提供了 SMB 服务器所需的各项服务程序(smbd 及 nmbd)以及其他与 SAMBA 相关的 logrotate 配置文件及开机默认选项档案等
  • samba-common:这个软件提供的则是服务器与客户端都会使用到的数据,包括 SAMBA 的主要配置文件(smb.conf)、语法检验指令(testparm)等等;

安装完所需的软件之后,我们便可以正式开始搭建 SAMBA 服务了

  1. 在 samba 服务器上安装 samba 包
    yum - y install samba
  2. 创建 samba 用户和组
    groupadd -r team
    useradd -s /sbin/mologin -G team lsy
    smbpasswd -a lsy
    useradd -s /sbin/nologin qjc
    smbpasswd -a qjc

    Linux 上 Samba 服务的搭建和访问

  3. 创建 samba 共享目录,并设置 SElinux
    mkdir ./app/smbtest
    chgrp team /app/smbtest
    setfacl -m g:team:rwx /app/smbtest/
    setfacl -m u:qjc:rwx /app/smbtest/
    chcon -Rt samba_share_t  /app/smbtest
  4. samba 服务器配置
    vim /etc/samba/smb.conf

    Linux 上 Samba 服务的搭建和访问
    启动 samba 服务


windows 客户端访问

我在上面的配置文件中简单的设置了,使得 team 组的用户对共享目录有写权限,而其他用户则只可以浏览共享目录,不能修改共享数据,具体访问如下图:

  1. 客户端登陆
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
  2. 以 team 组成员 lsy 身份进入共享目录,则可以在目录中创建,编辑文件
    Linux 上 Samba 服务的搭建和访问
  3. 再以 qjc 的身份进入共享目录,因为没有写权限,所以只能访问,创建文件会被拒绝
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
    尝试创建新文件时
    Linux 上 Samba 服务的搭建和访问
  4. 同时我们再服务器端共享目录下,可以查看到 lsy 用户创建的文件
    Linux 上 Samba 服务的搭建和访问

SAMBA 服务实现多用户挂载(仅 CentOS7 支持)

我们仍利用上面已经创建好的共享目录 lishuyang 来进行操作(ps::在生产环境中,创建共享目录,建议使用 LVM)。
服务端:
在服务端,我们还需要创建一个普通 samba 用户 smbbase,作为我们在客户端登陆的拥有较小权限的用户(实现多用户的挂载目的就在于对共享目录获取更大的权限),用户 smbbase 只有浏览共享目录的权限

useradd -s /sbin/nologin smbbase
smbpasswd -a smbbase

客户端

  1. 安装客户端需要的软件 cifs-utils(系统一般默认安装)
  2. 编辑文件,将权限较低的 smbbase 用户的账户信息写入
    Linux 上 Samba 服务的搭建和访问
  3. 创建挂载目录并将共享目录挂载到本地挂载目录上
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
  4. 进入 /app/mnt 目录下,可以发现已经进入到了共享目录下,尝试用 smbbase 用户修改文件(smbbase 没有写权限,所以一定被拒绝写入)
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问
  5. 切换到用户 lsy,执行如下操作
    cifscreds add 192.168.100.127

    Linux 上 Samba 服务的搭建和访问

  6. 尝试修改文件(用户 lsy 拥有写权限,若能修改,则多用户挂载实验成功)
    Linux 上 Samba 服务的搭建和访问
    Linux 上 Samba 服务的搭建和访问

ps: 有几个只需要注意的问题:

1,防火墙要关闭,# service iptables stop

2,注意共享目录的权限设置

3,要设置成不需要用户名密码直接访问,需要修改配置文件,将 security 设置成 security = share。

更多 Samba 相关教程见以下内容:

CentOS 7.2 安装配置 Samba 服务器  https://www.linuxidc.com/Linux/2017-03/141390.htm
VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 https://www.linuxidc.com/Linux/2013-06/85445.htm
samba 安装使用图解  https://www.linuxidc.com/Linux/2017-03/141254.htm
CentOS7.2 下源码搭建 Samba 文件服务器 [原创] https://www.linuxidc.com/Linux/2017-06/144557.htm
如何在 Ubuntu 16.04 上安装和配置 Samba 服务器以进行文件共享  https://www.linuxidc.com/Linux/2017-11/148194.htm
CentOS 7 下 Samba 服务安装与配置详解 https://www.linuxidc.com/Linux/2017-11/148354.htm
Red Hat 6.5 下 Samba 服务器搭建 https://www.linuxidc.com/Linux/2017-07/145747.htm
如何在 Ubuntu 17.10 上使用 System-Config-Samba  https://www.linuxidc.com/Linux/2018-01/150493.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3649字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7971497
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...