IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    麒麟服务器操作系统安装 Samba 文件共享服务

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    Samba 是在 Linux 和 Unix 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。Samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 Windows。该文讲解如何在麒麟服务器操作系统上安装 Samba 文件共享服务。

    什么是 SMB

    SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

    SMB 协议是 C/S 型协议,客户机通过该协议可访问服务器上的共享文件系统、打印机及其它资源。

    监听端口

    TCP 端口相对应的服务是 smbd 服务,其作用是提供对服务器中文件、打印资源的共享访问;UDP 端口相对应的服务是 nmbd 服务,其作用是提供基于 NetBIOS 主机名称的解析:

    TCPUDP
    139137
    445138

    Samba 的安装

    1
    yum -y install samba

    注意:麒麟操作系统官方源中包含 Samba 的安装文件,直接使用上面命令安装即可。

    默认配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    [global]
    workgroup = SAMBA
    security = user

    passdb backend = tdbsam

    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw

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

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

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

    注意:/etc/samba/smb.conf 是服务端的配置文件,刚安装的就自带/etc/samba/smb.conf 文件,直接启动就可使用。

    服务启动

    1
    2
    systemctl start smb.services
    systemctl enable smb.services

    注意:上面的是启动命令,下面的是设置开机自动启动。

    创建用户

    1
    smbpasswd -a USERNAME

    注意:用户可以直接用 Linux 用户,但密码也需要设置,使用上面命令可为指定用户设置 Samba 的密码。

    Samba 的配置文件

    主配置文件/etc/samba/smb.conf:

    三大组成作用
    global全局配置,此处的设置项对整个 Samba 服务器都有效
    homes宿主目录共享设置,此处用来设置 Linux 用户的默认共享,对应用户宿主目录。用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录
    printers打印机的共享设置

    常用配置文件参数

    主配置文件中常用参数:

    参数作用
    workgroup表示设置工作组的名称
    security表示设置安全级别,其值可设置 user/server/domain
    passdb backend表示设置共享帐户文件类型,其值可设置 tdbsam/ldapsam/smbpasswd
    comment表示设置对应共享目录注释,说明信息,即文件共享名
    browseable表示设置共享是否可见
    writable表示设置目录是否可写
    path表示共享目录路径
    guest ok表示设置是否所有人可访问共享目录
    public表示设置是否允许匿名用户访问
    write list表示设置允许写的用户和组,组用符号@来表示,如 write list = @root
    valid users设置可访问的用户和组,如 valid users = root,@root
    hosts deny设置拒绝哪台主机访问,如 hosts deny = 192.168.1.1
    hosts allow设置允许哪台主机访问,如 hosts allow = 192.168.1.1
    printable表示设置是否为打印机

    Samba 的安全级别

    Samba 服务器的安全级别有三个,分别是 user/server/domain:

    安全级别作用
    user基于本地验证
    server由另一台指定服务器对用户身份进行认证
    domain域控进行身份验证

    搭建匿名用户共享

    以前的 Samba 版本支持的安全级别有四个,分别是 share/user/server/domain。share 用来设置匿名访问的,但现在的版本已经不支持 share ,但还是可以实现匿名访问的只是配置方式变了。首先我们创建共享目录:

    1
    2
    mkdir /opt/dusays
    chmod 777 /opt/dusays/

    将上面目录加入到 Samba 配置文件中:

    1
    2
    3
    4
    5
    6
    7
    [dusays]
    comment = dusays
    path = /opt/dusays
    browseable = yes
    guest ok = yes
    writable = yes
    public = yes

    测试配置文件是否有误:

    1
    testparm

    重启服务:

    1
    systemctl restart smb.services

    Windows 下访问共享文件

    在 Windows 资源管理器地址上输入\\IP 即可登陆 Samba 服务,如我的 Samba 服务器 IP 地址是 192.168.1.1,则输入\\192.168.1.1。

    输入的刚才新增的 Samba 用户及密码就行,如果不想每次输入,可以勾选记住密码。

    Linux 下共享文件

    首先客户端需要安装支持文件共享服务的软件包 cifs-utils:

    1
    yum -y install cifs-utils

    然后使用以下命令即可实现挂载:

    1
    mount -t cifs -o username=USERNAME,password=PASSWORD //192.168.1.1/dusays /mnt/


沪ICP备19023445号-2号
友情链接