本地用户组是samba多部门隔离最稳定、符合linux权限模型的基础手段;通过groupadd建组、usermod加组、smb.conf中用@引用组名授权,并配合chown/chmod与acl实现精准权限控制。

本地用户组是实现Samba多部门隔离最稳定、最符合Linux权限模型的基础手段。它不依赖图形界面封装,能与smb.conf精准联动,确保“谁该看、谁该写、谁不能碰”在系统层就卡死。
创建专用部门用户组并绑定系统账户
先用
groupadd建立独立组,例如:sudo groupadd finance_groupsudo groupadd hr_groupsudo groupadd tech_group将各部门人员添加进对应组,同时保留在其个人主组中:
sudo usermod -aG finance_group fin01 fin02 fin_adminsudo usermod -aG hr_group hr01 hr02 hr_admin确保这些用户已在系统中存在(
id 用户名可验证),再统一用smbpasswd -a注册为Samba用户
在 smb.conf 中按组授权,而非逐个列用户
每个部门共享段直接引用组名,避免后期增员时反复修改配置:
[finance]path = /srv/share/financevalid users = @finance_groupwrite list = @finance_groupread only = no同理配置 HR 和 Tech 段,组名前加
@是 Samba 识别用户组的关键语法
配合文件系统权限,堵住越权漏洞
共享目录属主设为 root,属组设为对应部门组,权限收紧:
sudo chown root:finance_group /srv/share/financesudo chmod 2775 /srv/share/finance
(2表示设置 SGID,确保新文件自动继承组)对管理员需额外写权限的场景,可用 ACL 细化:
sudo setfacl -m u:fin_admin:rwx /srv/share/finance
隐藏跨部门可见性,防止误访问
所有部门共享段统一加
browseable = no,这样用户执行smbclient -L //server时,只能看到自己有权访问的共享名若需统一入口,可设一个“门户共享”,里面仅放指向各自部门的快捷方式或说明文档,不存放实际数据
组机制不是锦上添花,而是把权限控制从“人盯人”变成“规则管人”。改组即生效,审计留痕清晰,也天然适配等保和分级保护要求。











