跳转到内容

创建 samba 共享文件夹

时光2025/8/290 0 m

建议

本教程将指导您如何在配置 Samba 的系统上配置文件共享服务。

配置步骤

1. 设置共享参数

逐行复制运行以下命令并按照提示输入共享信息:

bash
read -rp "请输入要共享的目录路径: " share_dir
read -rp "请输入共享名称: " share_name
read -rp "请输入访问用户名: " samba_user

2. 创建共享目录并设置权限

bash
sudo mkdir -p "$share_dir"
sudo chmod 777 "$share_dir"

3. 配置 Samba 共享

将以下配置添加到 Samba 的主配置文件 /etc/samba/smb.conf 中:

bash
sudo tee -a /etc/samba/smb.conf <<EOF
[$share_name]
   path = $share_dir
   browseable = yes
   writable = yes
   guest ok=yes
   create mask = 0777
   directory mask=0777
EOF

4. 设置 Samba 用户密码

为指定的用户设置 Samba 访问密码:

bash
sudo smbpasswd -a "$samba_user"

系统会提示您输入并确认该用户的 Samba 密码。

5. 重启 Samba 服务

应用配置更改:

bash
sudo systemctl restart smbd nmbd

完整的一键配置脚本

如果您想一次性执行所有步骤,可以使用以下脚本:

bash
#!/bin/bash

# 设置共享参数
read -rp "请输入要共享的目录路径: " share_dir
read -rp "请输入共享名称: " share_name
read -rp "请输入访问用户名: " samba_user

# 创建共享目录并设置权限
sudo mkdir -p "$share_dir"
sudo chmod 777 "$share_dir"

# 添加Samba配置
sudo tee -a /etc/samba/smb.conf <<EOF
[$share_name]
   path = $share_dir
   browseable = yes
   writable = yes
   guest ok=yes
   create mask = 0777
   directory mask=0777
EOF

# 设置Samba用户密码
sudo smbpasswd -a "$samba_user"

# 重启Samba服务
sudo systemctl restart smbd nmbd

echo "Samba共享配置完成!"

验证配置

  1. 检查 Samba 服务状态:

    bash
    sudo systemctl status smbd
  2. 查看共享列表:

    bash
    smbclient -L localhost

从客户端访问共享

Windows 客户端

在文件资源管理器中输入:

\\服务器IP地址\共享名称

Linux 客户端

使用以下命令访问:

bash
smb://服务器IP地址/共享名称 -U 用户名

或挂载到本地目录:

bash
sudo mount -t cifs //服务器IP地址/共享名称 /本地挂载点 -o username=用户名

注意事项

  1. 共享目录权限设置为 777 意味着所有用户都有完全访问权限,请根据实际安全需求调整
  2. 如果系统有防火墙,需要开放 Samba 相关端口(通常为 137-139 和 445)
  3. 确保输入的共享名称在配置文件中是唯一的

故障排除

如果无法访问共享,可以检查:

  • Samba 服务是否正常运行:sudo systemctl status smbd
  • 防火墙设置是否正确
  • Samba 配置文件语法是否正确:testparm

VitePress Algolia Twikoo EdgeOne Copyright