需在统信UOS上安装配置Samba服务端以实现SMB共享:一、安装samba并验证版本≥4.15;二、创建/srv/samba/share目录并设权限755;三、编辑/etc/samba/smb.conf,配置global参数及[share]节;四、添加smbuser系统用户并用smbpasswd设密码;五、启动并启用smbd/nmbd服务;六、放行防火墙139/445/tcp及137/138/udp端口。

如果您希望在统信UOS系统上搭建本地文件共享服务,使Windows或其他Linux设备能通过SMB协议访问UOS中的文件与目录,则需正确安装并配置Samba服务端。以下是完成Samba文件服务器搭建的完整操作步骤:
一、安装Samba服务端软件包
Samba服务端核心组件包含smbd(提供文件/打印共享)和nmbd(提供NetBIOS名称解析与浏览服务),必须完整安装才能实现标准Windows网络邻居兼容性。
1、打开终端,执行更新并安装Samba主程序:
sudo apt update && sudo apt install samba -y
2、验证安装结果,检查smbd与nmbd二进制文件是否存在:
ls /usr/sbin/smbd /usr/sbin/nmbd
3、确认Samba版本符合UOS 1060a及以上要求(建议≥4.15):
smbd --version
二、创建共享目录及权限配置
共享目录需具备明确的属主、读写权限及SELinux或AppArmor兼容性,避免因权限拒绝导致客户端无法写入或列出内容。
1、新建专用共享目录(不推荐使用/home或/root等敏感路径):
sudo mkdir -p /srv/samba/share
2、设置目录权限为755,确保组和其他用户可遍历但不可修改:
sudo chmod 755 /srv/samba/share
3、创建测试文件以验证后续挂载效果:
sudo touch /srv/samba/share/test_uos_samba.txt
4、将当前用户加入sambashare组(若存在),或直接设置目录属主为当前用户:
sudo chown $USER:$USER /srv/samba/share
三、配置Samba主配置文件smb.conf
主配置文件定义共享行为、安全模式、字符集与访问控制策略,错误配置将导致服务启动失败或共享不可见。
1、备份原始配置文件以防误操作:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2、编辑主配置文件:
sudo nano /etc/samba/smb.conf
3、在[global]段末尾添加以下全局参数(禁用加密协商以兼容旧版Windows):
security = user
map to guest = Bad User
passdb backend = tdbsam
unix charset = UTF-8
dos charset = CP936
display charset = UTF-8
4、在文件末尾新增共享定义节:
[share]
comment = UOS Samba File Share
path = /srv/samba/share
browseable = yes
read only = no
guest ok = yes
create mask = 0644
directory mask = 0755
force user = $USER
四、创建Samba用户并设置密码
Samba用户独立于系统用户账户体系,需通过smbpasswd命令显式注册,且密码不继承系统密码策略。
1、创建一个仅用于Samba认证的系统用户(禁止登录shell):
sudo useradd -s /sbin/nologin -d /srv/samba/share smbuser
2、为该用户设置Samba专属密码:
sudo smbpasswd -a smbuser
3、输入两次新密码(密码长度至少5位,不含空格);若提示“Failed to add entry for user”,请确认tdbsam后端已启用且/etc/samba/passdb.tdb存在。
4、将smbuser设为共享目录强制属主,确保所有上传文件归属一致:
sudo chown smbuser:sambashare /srv/samba/share
五、启动并启用Samba服务
Samba依赖smbd与nmbd两个守护进程协同工作,必须同时启动且设置开机自启,否则重启后共享立即失效。
1、重新加载systemd配置以识别新服务单元:
sudo systemctl daemon-reload
2、启动Samba核心服务:
sudo systemctl start smbd nmbd
3、设置开机自动运行:
sudo systemctl enable smbd nmbd
4、检查服务状态是否为active (running),重点关注Active: line:
sudo systemctl status smbd nmbd | grep Active
5、若状态异常,查看日志定位问题:
sudo journalctl -u smbd -n 30 --no-pager
六、开放防火墙端口并验证连通性
UOS默认启用firewalld防火墙,SMB协议必需的TCP 139、445及UDP 137、138端口必须显式放行,否则Windows客户端将显示“找不到网络路径”。
1、查询当前防火墙状态:
sudo firewall-cmd --state
2、若为running状态,依次放行SMB所需端口:
sudo firewall-cmd --permanent --add-port=139/tcp
sudo firewall-cmd --permanent --add-port=445/tcp
sudo firewall-cmd --permanent --add-port=137/udp
sudo firewall-cmd --permanent --add-port=138/udp
3、重载防火墙规则使配置生效:
sudo firewall-cmd --reload
4、从同一局域网内Windows主机执行测试:
Win+R → 输入 \UOS主机IP地址 → 回车 → 若弹出登录框则说明服务可达;输入smbuser及对应密码即可访问share目录

















