创建 samba 共享文件夹
建议
本教程将指导您如何在配置 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共享配置完成!"
验证配置
检查 Samba 服务状态:
bashsudo systemctl status smbd
查看共享列表:
bashsmbclient -L localhost
从客户端访问共享
Windows 客户端
在文件资源管理器中输入:
\\服务器IP地址\共享名称
Linux 客户端
使用以下命令访问:
bash
smb://服务器IP地址/共享名称 -U 用户名
或挂载到本地目录:
bash
sudo mount -t cifs //服务器IP地址/共享名称 /本地挂载点 -o username=用户名
注意事项
- 共享目录权限设置为 777 意味着所有用户都有完全访问权限,请根据实际安全需求调整
- 如果系统有防火墙,需要开放 Samba 相关端口(通常为 137-139 和 445)
- 确保输入的共享名称在配置文件中是唯一的
故障排除
如果无法访问共享,可以检查:
- Samba 服务是否正常运行:
sudo systemctl status smbd
- 防火墙设置是否正确
- Samba 配置文件语法是否正确:
testparm