必须配置samba服务:安装samba组件、启动并启用smbd/nmbd服务、创建带sgid权限的专用共享目录、正确编辑smb.conf(含valid users=%s)、用smbpasswd添加独立用户密码,最后重启服务才能实现跨平台局域网访问。

要在统信UOS中让Windows、Mac或另一台Linux设备通过局域网直接访问你指定的文件夹,必须配置Samba共享服务——它不是简单勾选“共享”就完事,而是要确保smbd守护进程运行、共享路径权限正确、用户凭证独立注册、防火墙放行端口,且配置语法无误,否则Windows会提示“找不到网络路径”或“拒绝访问”。
确认Samba已安装并启用服务
统信UOS桌面版1050+可能预装Samba,但服务器版或精简安装环境默认未安装,必须手动补全组件并启动服务,否则所有后续配置无效。
打开终端,执行:sudo apt update && sudo apt install samba samba-common-bin cifs-utils -y
安装完成后检查服务状态:sudo systemctl status smbd。若显示inactive (dead)或failed,说明服务未运行,需立即启动:sudo systemctl start smbd nmbd。
设置开机自启,避免重启后共享失效:sudo systemctl enable smbd nmbd。
创建专用共享目录并设置权限
不要直接共享/home/用户名或/等系统路径,这会导致权限冲突或安全风险;必须新建一个隔离目录,并赋予Samba服务可读写权限。
执行:sudo mkdir -p /srv/samba/shared
将目录归属设为当前用户和sambashare组:sudo chown -R $USER:sambashare /srv/samba/shared
【关键:必须启用SGID位】执行:sudo chmod -R 2775 /srv/samba/shared。该权限中开头的2表示SGID,能确保Windows用户在共享目录里新建的文件自动归属sambashare组,否则UOS本机用户将无法修改这些文件。
将当前用户加入sambashare组:sudo usermod -aG sambashare $USER,然后重新登录系统或执行newgrp sambashare使组生效。
编辑smb.conf定义共享行为
配置文件语法错误会导致Samba服务启动失败,务必先备份再修改。
第一步:备份原配置:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
第二步:用nano打开编辑:sudo nano /etc/samba/smb.conf
第三步:滚动到底部,在空白处新增以下段落(注意缩进对齐,每行顶格写):
[shared]comment = UOS to Windows File Sharepath = /srv/samba/sharedbrowseable = yesread only = nocreate mask = 0644directory mask = 0755valid users = %S
保存退出(Ctrl+O → Enter → Ctrl+X)。【切勿遗漏valid users = %S】,否则即使设置了密码,Windows也会因用户校验失败而拒绝连接。
添加Samba用户并设置独立密码
Samba不复用系统登录密码,必须通过smbpasswd命令为其数据库单独注册用户,且密码存储加密,与系统密码完全隔离。
方法一:为当前登录用户添加Samba凭证:sudo smbpasswd -a $USER,按提示两次输入非系统登录密码的Samba专用密码(例如share2026)。
方法二:启用该账户:sudo smbpasswd -e $USER。若返回Enabled user即成功。
验证是否注册成功:sudo pdbedit -L,输出中应包含你的用户名。
如果后续Windows访问时提示“登录失败”,请立刻检查smb.conf中valid users值是否匹配该用户名,以及smbpasswd -e是否执行。
重启服务并验证基础连通性
配置修改后必须重启服务才能加载新参数,仅重载(reload)不足以生效。
执行:sudo systemctl restart smbd nmbd
检查服务是否处于活跃状态:sudo systemctl status smbd | grep "active (running)"。若仍为failed,运行sudo tail -n 20 /var/log/samba/log.smbd查看报错详情。
在Windows资源管理器地址栏输入:\UOS本机IPv4地址(如\192.168.1.20),回车。若弹出凭据窗口,输入UOS用户名及刚才设置的Samba密码,即可进入shared目录。











