如何在 CentOS 8 上安装 Samba 服务器如何在 CentOS 8 上安装 Samba 服务器如何在 CentOS 8 上安装 Samba 服务器如何在 CentOS 8 上安装 Samba 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 CentOS 8 上安装 Samba 服务器

本教程适用于这些操作系统版本

  • CentOS 8
  • CentOS 5.6

在此页

  1. 先决条件
  2. 安装 Samba 服务器
  3. 使用 Samba 创建公共共享
    1. 创建公共共享目录
    2. 配置Samba
    3. 配置 SELinux 和防火墙

    1. 创建用户和组
    2. 创建私人共享目录
    3. 配置Samba
    4. 从 Ubuntu 命令行访问 Samba 共享

    Samba 是一种免费的开源软件,可用于在 Linux 和 Windows 系统之间共享文件、文件夹和打印机。它还用于身份验证和授权、名称解析和服务公告。它可以在不同的操作系统上运行,包括 Linux、Unix、OpenVMS 等等。

    在本教程中,我们将学习如何在 CentOS 8 上安装 Samba 并将其配置为独立的共享服务器。

    先决条件

    • 一台运行 CentOS 8 的服务器。
    • 在您的服务器上配置了根密码。

    安装 Samba 服务器

    默认情况下,Samba 软件包在 CentOS 默认存储库中可用。您可以使用以下命令安装它:

    dnf install samba samba-common samba-client -y

    安装 Samba 后,启动 SMB 服务并使用以下命令使其在系统重启后启动:

    systemctl start smb
    systemctl enable smb

    您现在可以使用以下命令验证 Samba 服务:

    systemctl status smb

    您应该得到以下输出:

    ? smb.service - Samba SMB Daemon
       Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
       Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
         Docs: man:smbd(8)
               man:samba(7)
               man:smb.conf(5)
     Main PID: 2072 (smbd)
       Status: "smbd: ready to serve connections..."
        Tasks: 4 (limit: 25028)
       Memory: 33.8M
       CGroup: /system.slice/smb.service
               ??2072 /usr/sbin/smbd --foreground --no-process-group
               ??2074 /usr/sbin/smbd --foreground --no-process-group
               ??2075 /usr/sbin/smbd --foreground --no-process-group
               ??2076 /usr/sbin/smbd --foreground --no-process-group
    

    使用 Samba 创建公共共享

    在本节中,我们将使用 Samba 创建一个公共共享,这样每个人都可以在没有密码的情况下访问公共共享目录。

    创建公共共享目录

    首先,创建一个名为 public 的共享文件夹,并在 public 目录中创建两个文件:

    mkdir -p /samba/share/public
    touch /samba/share/public/file1.txt
    touch /samba/share/public/file2.txt

    接下来,使用以下命令分配必要的权限和所有权:

    chmod -R 0755 /samba/share/
    chmod -R 0755 /samba/share/public
    chown -R nobody:nobody /samba/share
    chown -R nobody:nobody /samba/share/public

    配置桑巴

    接下来,您需要配置 Samba 以共享一个公共目录。

    首先,使用以下命令创建 /etc/samba/smb.conf 文件的备份副本:

    mv /etc/samba/smb.conf /etc/samba/smb.bak

    接下来,创建一个新的 Samba 配置文件:

    nano /etc/samba/smb.conf

    添加以下行:

    [global]
    workgroup = WORKGROUP
    server string = Samba Server %v
    netbios name = samba-server
    security = user
    map to guest = bad user
    dns proxy = no
    
    [Public]
    path = /samba/share/public
    browsable =yes
    writable = yes
    guest ok = yes
    read only = no
    

    保存并关闭文件。然后,重新启动 Samba 服务以应用更改:

    systemctl restart smb

    接下来,使用以下命令测试 Samba 配置:

    testparm

    您应该看到以下输出:

    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]
    	dns proxy = No
    	map to guest = Bad User
    	netbios name = SAMBA-SERVER
    	security = USER
    	server string = Samba Server %v
    	idmap config * : backend = tdb
    
    
    [Public]
    	guest ok = Yes
    	path = /samba/share/public
    	read only = No
    

    配置 SELinux 和防火墙

    接下来,使用以下命令在共享目录上设置正确的 SELinux 布尔值和安全上下文值:

    setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
    semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
    restorecon /samba/share/public

    接下来,使用以下命令通过 firewalld 所有 Samba 服务:

    firewall-cmd --add-service=samba --zone=public --permanent
    firewall-cmd --reload

    从 Ubuntu Gnome 访问 Samba 共享

    要访问 Samba 共享,请转到远程计算机,打开 Gnome 文件管理器并单击“连接到服务器”,如下所示:

    提供您的 Samba 服务器 IP 地址,然后单击“连接”按钮。成功连接后,您应该会在以下屏幕中看到 Samba 共享:

    现在,单击公共目录,您应该会在以下屏幕中看到您的文件:

    从 Ubuntu 命令行访问 Samba 共享

    您还可以从命令行访问 Samba 共享。

    首先,使用以下命令列出所有可用的 Samba 共享:

    smbclient -L //45.58.38.51

    您应该看到以下输出:

    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	Public          Disk      
    	IPC$            IPC       IPC Service (Samba Server 4.10.4)
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
    
    	Server               Comment
    	---------            -------
    
    	Workgroup            Master
    	---------            -------
    

    您还可以使用 cifs 协议挂载 Samba 共享。为此,请使用以下命令安装 cifs-utils 包:

    apt-get install cifs-utils -y

    接下来,使用以下命令将 Samba 共享挂载到 /mnt 目录:

    mount -t cifs //45.58.38.51/public /mnt/

    系统将要求您提供密码,如下所示:

    Password for //45.58.38.51/public: 
    

    只需按 Enter 键而不输入任何密码即可挂载 Samba 共享:

    您现在可以访问 /mnt 目录中的 Samba 共享:

    ls /mnt/

    您应该看到以下输出:

    file1.txt  file2.txt
    

    使用 Samba 创建私有共享

    在本节中,我们将使用 Samba 创建私有共享,因此只有经过身份验证的用户才能访问私有共享目录。

    创建用户和组

    首先,使用以下命令创建一个名为 private 的组:

    groupadd private

    接下来,创建一个名为 privateuser 的新用户并将其添加到私有组中:

    useradd -g private privateuser

    接下来,使用以下命令为用户设置密码:

    smbpasswd -a privateuser

    输出:

    New SMB password:
    Retype new SMB password:
    Added user privateuser.
    

    创建私人共享目录

    接下来,创建一个名为 private 的共享文件夹,并在 private 目录中创建两个文件:

    mkdir -p /samba/share/private
    touch /samba/share/private/private1.txt
    touch /samba/share/private/private2.txt

    接下来,使用以下命令分配适当的权限和所有权:

    chmod -R 0770 /samba/share/private
    chown -R root:private /samba/share/private

    接下来,使用以下命令为私有目录配置 SELinux 上下文:

    semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
    restorecon /samba/share/private

    配置桑巴

    接下来,打开 Samba 配置文件并定义私有共享:

    nano /etc/samba/smb.conf

    在文件末尾添加以下行:

    [Private]
    path = /samba/share/private
    valid users = @private     
    guest ok = no
    writable = yes
    browsable = yes
    

    保存并关闭文件,然后重新启动 Samba 服务以应用更改:

    systemctl restart smb

    接下来,使用以下命令检查 Samba 配置:

    testparm

    您应该看到以下输出:

    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]
    	dns proxy = No
    	map to guest = Bad User
    	netbios name = SAMBA-SERVER
    	security = USER
    	server string = Samba Server %v
    	idmap config * : backend = tdb
    
    
    [Public]
    	guest ok = Yes
    	path = /samba/share/public
    	read only = No
    
    
    [Private]
    	path = /samba/share/private
    	read only = No
    	valid users = @private
    

    从 Ubuntu 命令行访问 Samba 共享

    首先,使用以下命令访问可用共享:

    smbclient -L //45.58.38.51

    您应该看到以下输出:

    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	Public          Disk      
    	Private         Disk      
    	IPC$            IPC       IPC Service (Samba Server 4.10.4)
    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
    
    	Server               Comment
    	---------            -------
    
    	Workgroup            Master
    	---------            -------
    

    接下来,连接到 Samba 服务器并使用以下命令列出可用的共享:

    smbclient //45.58.38.51/private -U privateuser

    系统将要求您提供密码,如下所示:

    Enter privateuser's password: 
    

    输入您的密码并按 Enter 键以访问 Samba shell,如下所示:

    Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
    smb: \>
    

    现在,使用以下命令列出可用共享:

    smb: \> ls

    您应该看到以下输出:

      
    .                                   D        0  Tue Mar  3 10:03:22 2020
      ..                                  D        0  Tue Mar  3 10:01:56 2020
      private1.txt                        N        0  Tue Mar  3 10:03:17 2020
      private2.txt                        N        0  Tue Mar  3 10:03:22 2020
    
    		51194 blocks of size 2097152. 49358 blocks available
    

    现在,使用以下命令退出 Samba shell:

    smb: \>exit

    您还可以将 Samba 共享挂载到 /opt 目录:

    mount -t cifs -o user=privateuser //45.58.38.51/private /opt

    系统将要求您提供密码,如下所示:

    Password for //45.58.38.51/private:  *********
    

    提供您的密码并按 Enter 以安装 Samba 共享。

    您现在可以在 /opt 目录中检查您的 Samba 共享,如下所示:

    ls /opt/

    输出:

    private1.txt  private2.txt
    

    从 Ubuntu Gnome 访问 Samba 共享

    要访问 Samba 共享,请转到远程计算机,打开 Gnome 文件管理器并单击“连接到服务器”,如下所示:

    提供您的 Samba 服务器 IP 地址,然后单击“连接”按钮。成功连接后,您应该会在以下屏幕中看到 Samba 共享:

    现在,单击私人目录,提供您的用户名和密码,然后单击连接按钮。您应该在以下屏幕中看到您的文件:

    恭喜!您已经在 CentOS 8 上成功安装并配置了 Samba 服务器。

©2015-2025 艾丽卡 support@alaica.com