如何使用samba为Linux设置一个局域网共享盘

第一步:在 Linux 上安装与准备 Samba

首先,需要在你的 Linux 系统上安装 Samba 软件包,并准备好要共享的文件夹。

  • 安装 Samba

    根据你的 Linux 发行版,在终端中执行对应的命令。

    bash

    复制代码
    # CentOS / RHEL / Fedora
    sudo yum install samba samba-client -y
    
    # Ubuntu / Debian
    sudo apt update
    sudo apt install samba samba-client -y

离线安装方法

bash 复制代码
  https://gitcode.com/Premium-Resources/516ac/?utm_source=article_gitcode_universal&index=top&type=card&&uuid_tt_dd=10_37221362340-1776921709108-701495&isLogin=1&from_id=147649188&from_link=61b7bf7b2863a1a300dc83fea1a0834b

安装完成后,可以运行 samba --version 来确认是否成功。

  • 准备共享目录

    创建一个专门用于共享的目录(例如 /srv/samba/share),并设置好权限,让其他人可以读写。

    bash

    复制代码
    # 创建共享目录,-p 参数会自动创建父目录
    sudo mkdir -p /srv/samba/share
    
    # 为所有用户开放读写权限(请根据实际安全需求调整)
    sudo chmod 777 /srv/samba/share

第二步:配置 Samba 共享

Samba 的核心配置文件是 /etc/samba/smb.conf。我们需要编辑它,来告诉 Samba 要共享哪个文件夹。

  1. 编辑配置文件

    用你喜欢的文本编辑器(如 vim, nano)以 root 权限打开 /etc/samba/smb.conf
    sudo vim /etc/samba/smb.conf

  2. 添加共享规则

    在配置文件的最末尾,添加上你自己的共享设置。你可以参考下面的模板,把 path 替换成你刚才创建的目录。

    ini

    复制代码
    [myshare]                    # 这个是共享名,Windows 上会看到这个名字
        comment = My shared folder        # 共享描述,可以随便写
        path = /srv/samba/share          # 要共享的目录路径,必须和第一步创建的一致
        browseable = yes                  # 是否允许在网络邻居里被看到
        read only = no                   # 是否只读,no 表示允许写入
        guest ok = no                    # 是否允许匿名访问,no 表示需要验证用户
        create mask = 0755               # 新建文件的权限
        directory mask = 0755            # 新建目录的权限
        valid users = your_linux_username # 允许访问的 Linux 系统用户名 

    需要注意,valid users 这一项建议填写你当前的 Linux 登录用户名。注意配置时删除注释!!!安全起见,不建议在配置里直接写 yes 来允许匿名访问,不能用root用户名!!!。

    如需新建用户

    创建一个普通用户

    bash

    复制代码
    # 1. 创建一个普通用户
    sudo useradd sambauser
    
    # 2. 设置 Samba 密码
    sudo smbpasswd -a sambauser
    
    # 3. 修改 Samba 配置文件
    vim /etc/samba/smb.conf

    把配置改成:

    ini

    复制代码
    [sharedata]                  
        comment = Shared floder to process        
        path = /mnt/sharedata         
        browseable = yes            
        read only = no           
        guest ok = no                
        create mask = 0755        
        directory mask = 0755
        valid users = sambauser     # 改成普通用户,不要用 root

    bash

    复制代码
    # 4. 设置文件夹权限,让 sambauser 可以访问
    sudo chown -R sambauser:sambauser /mnt/sharedata
    sudo chmod -R 755 /mnt/sharedata
    
    # 5. 重启 Samba
    sudo systemctl restart smb
  3. 创建 Samba 用户

    Samba 有自己独立的用户密码系统。你需要为刚才在配置里填写的 your_linux_username 这个用户设置一个 Samba 访问密码。

    bash

    复制代码
    # 假设你的用户名是 myuser
    sudo smbpasswd -a myuser

    系统会提示你输入并确认一个密码,这个密码就是稍后从 Windows 访问时需要输入的。

  4. 重启 Samba 服务

    所有配置完成后,重启 Samba 服务让配置生效。

    bash

    复制代码
    sudo systemctl restart smb

第三步:在 Windows 上映射网络驱动器

现在,你可以切换到 Windows 电脑上进行操作了。

  1. 获取 Linux 的 IP 地址
    在 Linux 终端里输入 ip addrhostname -I,记下它在你局域网内的 IP 地址,比如 192.168.1.100
  2. 映射网络驱动器
    • 打开 Windows 的 文件资源管理器(也就是"此电脑")。
    • 在左侧导航栏找到 "网络" ,右键点击它,选择 "映射网络驱动器"
    • 选择一个你喜欢的驱动器盘符(比如 Z:)。
    • "文件夹" 这一栏,按照 \\你的Linux_IP地址\你的共享名 的格式填入。
      • 例如:\\192.168.1.100\myshare
    • 勾选 "登录时重新连接",这样以后重启电脑也会自动连接。
    • 点击 "完成"
  3. 输入验证信息
    接下来,Windows 会弹出一个窗口让你输入网络凭据。
    • 用户名 :就是你刚刚设置 Samba 密码的那个 Linux 用户名(例如 myuser)。
    • 密码 :就是你用 smbpasswd 命令设置的那个密码。
相关推荐
晴夏。2 小时前
UE5 motion warping 运动扭曲的用途
运维·ue5
霞姐聊IT2 小时前
三大并发技术—进程、线程和协程
linux·运维·网络·操作系统
ydyd202604212 小时前
设备管理智能化:易点易动如何搭建运维数据可视化闭环体系
运维·信息可视化
南境十里·墨染春水2 小时前
linux学习进展 网络编程——HTTPS (补充)
linux·网络·学习
t5y222 小时前
【Linux】学习小计
linux
老四啊laosi2 小时前
【Linux系统】18. 基础IO(文件管理部分)
linux·文件操作·重定向
mounter6252 小时前
深度解析 dmabuf/devmem:从图形渲染到 AI 与高性能网络的演进之路
linux·网络·人工智能·内存管理·kernel
北山有鸟3 小时前
RK3588利用NPU加速Lens Shading Correction参数生成
linux