ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

bilibili_Linux网络基础7_Samba服务

2021-02-22 11:31:07  阅读:229  来源: 互联网

标签:samba Windows share 用户 bilibili Samba Linux


第七章 Samba服务

第一节 samba简介

数据共享的方法

Windows中最常用的是“网上邻居”。网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享
Linux中最常用的是NFS服务

Samba的由来

  • 在 1991 年Andrew Tridgell为了实现Unix和Windows之间文件共享,开发了SMB( Server Message Block,服务消息块)文件系统
  • 由于SMB无法注册,就取名为Samba,热情的桑巴舞

Samba与NetBIOS协议

  • IBM开发的NetBIOS协议是为了局域网内少数计算机进行通信的协议
  • Samba基于NetBIOS协议开发,所以可以和Windows通信,但是只能在局域网通信
  • 相当于在Linux上搭建Windows的网上邻居,减少病毒传播

Samba主要应用

  • 文件共享
  • 打印服务器
  • Samba登陆时身份验证
  • 可以进行 Windows 的主机名解析

常见文件服务器的比较

服务名称使用范围服务器端客户端局限性
FTP内网和公网Windows、LinuxWindows、Linux无法直接在服务器端修改数据无法直接在服务器端修改数据
Samba内网Windows、LinuxWindows、Linux只能在内网使用
NFS内网和公网LinuxLinux只能Linux之间使用

第二节 Samba安装与端口

安装

  • samba: 主服务包
  • samba-client: 客户端
  • samba-common: 通用工具
  • samba4-libs: 库
  • samba-winbind: Windows域映射
  • samba-winbind-clients: 域映射客户端

samba的守护进程

  • smbd:提供对服务器中文件、打印资源的共享访问 139 445
  • nmbd:提供基于NetBIOS主机名称的解析 137 138

启动samba服务

  • service smb start
  • service nmb start

第三节 Samba相关文件

常用文件

  • /etc/samba/smb.conf #配置文件
  • /etc/samba/lmhosts #对应NetBOIS名与主机的IP的文件,一般samba会自动搜索(只对本机生效) IP 与 主机名对应
  • etc/samba/smbpasswd #samba密码保存文件,默认不存在
  • /etc/samba/smbusers #用户别名,用于适用不同操作系统中用户名习惯。需要配置文件中“username map”选项支持

常用命令

testparm 检测配置文件是否正确

第四节 Samba配置文件详解

配置文件结构 smb .conf

Global Settings

  • [global]: 全局设置

Share Definitions

  • [homes]: 用户目录共享设置
  • [printers]: 打印机共享设置
  • [myshare]:自定义名称的共享目录设置

Global Settings

  • workgroup:所在工作组名称(Windows)我的电脑里面有
  • server string:服务器描述信息
  • log file:日志文件位置
  • max log size:日志文件的最大容量
  • security:安全级别,可用值如下:
    • share: 不需要密码可以访问
    • user: 使用系统用户,samba密码登陆
    • server: 由其他服务器提供认证
    • domain: 由域控制器提供认证

Share Definitions

  • comment: 描述信息
  • path: 共享的路径
  • guest ok:允许所有人访问,等同于public
  • read only: 所有人只读
  • writable: 所有人可写
  • write list: 拥有写权限的用户列表
  • browseable: 是否浏览可见
  • valid users: 指定可以访问的用户

常见的变量

  • %v: samba的版本号
  • %S: 任意用户可以登陆
  • %m: client端的NetBIOS主机名
  • %L: 服务器端的NetBIOS主机名
  • %u: 当前登陆的用户名
  • %g: 当前登陆的用户组名

第五节 基本使用

第一讲 share权限访问

配置文件修改

[global]

  • workgroup = MYGROUP
  • server string = Samba Server Lamp
  • log file = /var/log/samba/log.%m
  • max log size = 50
  • security = share
  • passdb backend = tdbsam
    这里需要注意:samba4较之前的SAMBA 3有一个重大的变化是:security不再支持share,参数需要做调整
    原来:
    security=share
    现在:
    security=user
    map to guest =Bad User

Share Definitions

  • [movie]
    • comment = study material
    • path = /study
    • browseable = yes
    • writable = yes
    • guest ok = yes

建立共享目录

  • mkdir /study #建立共享目录
  • chown nobody /study/ #赋予用户访问权限
    映射为Linux中的nobody用户

测试配置文件命令

testparm

重启Samba服务

  • service smb restart
  • service nmb restart

第二讲 客户端的使用

Windows客户端访问

  • 网上邻居访问
    \192.168.44.4
  • Linux客户端访问
    • smbclient -L 192.168.44.4 #查看主机的共享资源
    • smbclient //192.168.44.4/movie #访问共享目录
    • 如果有密码:
      smbclient //192.168.44.4/movie -U 用户名
      即可访问

第三讲 user级别访问

配置文件修改
[global]

  • workgroup = MYGROUP
  • server string = Samba Server Lamp
  • log file = /var/log/samba/log.%m
  • max log size = 50
  • security = user
  • passdb backend = tdbsam

Share Definitions

  • [homes]
    • comment = Home Directories
    • browseable = no
    • writable = yes
  • [pub]
    • path = /public
    • browseable = no
    • writable = yes
    • write list = sc
    • valid users = sc 控制访问目录权限

建立共享目录与测试配置文件

  • mkdir /public
  • testparm
  • 重启Samba服务
    service smb restart
    service nmb restart
  • 添加Samba用户
    smbpasswd -a 系统用户名#注意,要给用户添加samba密码,该用户必须已经是系统用户

区别:

  • FTP:使用系统用户,系统密码登陆
  • Samba:使用系统用户,samba登陆
    权限设定

    如果要想访问与上传:
    • Linux系统权限需要允许
    • Samba服务权限也需要允许

第四讲 添加、删除、查看用户

添加samba用户

注意用户必须已经是系统用户,才能添加为samba用户

  • pdbedit -a -u 系统用户
  • 或 smbpasswd -a 系统用户名

删除samba用户

  • pdbedit -x -u 系统用户名
  • 或smbpasswd -x 系统用户

查看samba用户

  • pebedit -L

第六节 Samba访问实验

Samba共享目录权限

  • 系统权限要对共享目录生效
  • Samba服务器权限也会对共享目录生效
  • 在实际的工作中,可能的共享目录众多, 用户众多,权限交叉。建议使用系统权限控制共享目录权限,而不是使用samba权限

例子:
在这里插入图片描述
Samba共享目录

  • [教学]
    • path = /share/jiaoxue
    • browseable = yes
    • writable = yes
  • [教务]
    • path = /share/jiaowu
    • browseable = yes
    • writable = yes

Linux系统控制权限

  • chmod 700 /jiaoxue /jiaowu
    教学的权限
  • setfacl –m u:jx:rwx /share/jiaoxue
  • setfacl –m u:jw:rx /share/jiaoxue
  • setfacl –m u:xz:rx /share/jiaoxue
  • setfacl –m u:wl:rx /share/jiaoxue
    教务的权限
  • setfacl –m u:jw:rwx /share/jiaowu
  • setfacl –m u:jx:rwx /share/jiaowu
  • setfacl –m u:xz:rx /share/jiaowu
  • setfacl –m u:tg:rx /share/jiaowu

第七节 Samba其他使用

客户端挂载到本地使用

mount -t cifs -o username=用户 原路径 目标路径
例如:
mount -t cifs -o username=user1 //192.168.44.3/pub /test

开机自动挂载

vi /etc/fstab //192.168.44.3/pub /test cifs defaults,username=user1,password=456 1 2

Samba别名

Linux的用户如root、nobody在Windows中可能对应的用户是administrator、guest用户Samba是跨平台的,所以用别名让他们可以通用

别名文件

vi /etc/samba/smbusers
原名 = 别名 (多个别名 空格隔开) user1 = lamp1

配置文件中开启别名

vi /etc/samba/smb.conf
加入 username map = /etc/samba/smbusers
重启,就可以使用别名访问samba了

总结
Vsftp:

  • 内网 外网服务器: Windows Linux
  • 客户端: Windows Linux
  • 用户: 系统用户,系统密码
  • 缺点:不能直接在服务器上修改文件

Samba

  • 内网使用服务器: Windows Linux
  • 客户端: Windows Linux
  • 用户: 系统用户,samba密码
  • 缺点: 只能在内网使用

标签:samba,Windows,share,用户,bilibili,Samba,Linux
来源: https://blog.csdn.net/aiqq136/article/details/113835440

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有