You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server下Samba多用户共享配置求助:仅限制写入但未限制浏览/读取,需实现用户专属文件夹隔离访问

Ubuntu Server下Samba多用户共享配置求助:仅限制写入但未限制浏览/读取,需实现用户专属文件夹隔离访问

嘿兄弟,看你这配置思路是对的,但大概率是漏了几个关键细节,我之前在Ubuntu Server上搭多用户Samba共享时也踩过几乎一模一样的坑,给你一步步捋清楚要补的操作:

一、先改Samba配置文件的核心错误

你现在的smb.conf里有个很容易忽略的格式错误:参数和值之间要用等号=,不是冒号:,你写的valid users: User1会被Samba当成无效配置,这可能是隔离失效的核心原因!

另外,要加几个参数强化用户隔离:

  • 每个共享段里加上browseable = no:这样其他用户浏览Samba服务器时,根本看不到不属于自己的共享文件夹(默认是yes,所以所有人能看到所有共享)
  • 加上create mask = 0700和directory mask = 0700:确保用户在文件夹里新建的文件/目录,只有自己能访问
  • 保留valid users = 对应用户名,搭配read only = no(如果需要用户能读写的话)

改完后的单个共享段示例:

[share1]
path = /media/files/User1
valid users = User1
browseable = no
read only = no
create mask = 0700
directory mask = 0700

把三个共享段都按这个格式修正。

二、补全系统文件权限

你只设置了文件夹的所有者chown,但还要把目录权限改成700(只有所有者能读、写、进入目录),不然系统层面其他用户还能浏览目录内容:

chmod 700 /media/files/User1
chmod 700 /media/files/User2
chmod 700 /media/files/User3

默认的目录权限可能是755,这会让其他用户有读和进入的权限,哪怕Samba配置了隔离,系统权限也会“兜底”让他们能访问。

三、确保创建了对应Samba用户

系统用户和Samba用户是分开的,你需要给每个系统用户创建对应的Samba账号,设置访问密码:

smbpasswd -a User1
smbpasswd -a User2
smbpasswd -a User3

输入的密码要记好,用户访问Samba时需要用这个密码验证。

四、验证配置+重启服务

先检查配置文件语法有没有错误,这一步能帮你提前发现问题:

testparm

如果输出里没有报错,再重启Samba服务:

systemctl restart smbd nmbd

顺便重启nmbd,避免共享列表的缓存残留问题。

最后测试

用User2的账号从另一台设备访问Samba服务器,试试能不能看到不属于自己的共享,或者能不能进入其他用户的文件夹。如果还是有问题,去看/var/log/samba/smbd.log日志,里面会有详细的权限拒绝记录,能精准定位哪里出问题。

备注:内容来源于stack exchange,提问作者Tobias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:43:00