Linux怎么取消Samba共享文件夹的匿名访客写入权限

小瑶小哥_8109

小瑶小哥_8109

2026-09-28

971人浏览

原创

必须同时禁用 guest ok、public 和 map to guest,并设 read only = yes 与 writable = no,再收紧文件权限、selinux 策略及客户端缓存,四者缺一不可。

linux怎么取消samba共享文件夹的匿名访客写入权限

直接关掉 guest ok = yes,再确认 read only = yes 和 writable = no 同时生效——只改一个没用,Windows 客户端仍可能静默获得写权限。

为什么“关掉 guest ok”还不够

很多配置里只删了 guest ok = yes,但忘了 read only = no 或 writable = yes 仍残留。Samba 的权限判定中,read only = no 优先级高于 writable = yes;只要前者存在,即使没开访客,已认证用户也可能意外获得写权。

  • read only = no 是显式放行写入的开关,必须设为 yes 才真正禁写
  • writable = no 是等效写法,但建议和 read only = yes 共存,避免参数冲突
  • 如果共享段里还留着 public = yes,它会隐式启用 guest ok = yes,得一并删掉

检查并清理匿名相关参数

打开 /etc/samba/smb.conf,定位到对应共享段(比如 [shared]),确保以下三行都不存在或明确设为否定:

  • guest ok = no(不能只注释,要显式写)
  • public = no(public = yes 是 guest ok = yes 的别名)
  • map to guest = bad user(这行会让认证失败的请求降权为访客,必须删或注释)

改完后运行 testparm -s | grep -E "(guest|public|map to)",确认输出里没有 yes 或 bad user 字样。

CMIC Skill Scanner (Linux x64)
CMIC Skill Scanner (Linux x64)

使用 auto、native 或 external 引擎审计待安装的 skill 包或归档,并可选启用 LLM 语义分析。

下载

文件系统权限也要同步收紧

Samba 配置关了,但若共享目录本身是 chmod 777 或属组可写,且 Samba 用户属于该组,还是能绕过写入——这是最常被忽略的一环。

  • 查当前共享路径归属:ls -ld /path/to/share
  • 如果属组有写权(比如权限显示 drwxrwxr-x),且 Samba 用户在该组里,就仍可写
  • 安全做法:用 chmod 750 /path/to/share + chown root:sambareadonly /path/to/share,再把合法只读用户加进 sambareadonly 组
  • 别漏掉 SGID 位:chmod g+s /path/to/share 要关掉,否则新建文件自动继承组写权

SELinux 和防火墙不是背锅侠,但得验证

如果改完配置重启 smbd 后 Windows 还能匿名写入,大概率是 SELinux 策略没更新或防火墙透传了旧连接。

  • 临时验证:setenforce 0,再试一次匿名访问。如果这时写入失败了,说明 SELinux 的 samba_export_all_rw 布尔值开着,得关:setsebool -P samba_export_all_rw off
  • 防火墙不用关,但确认 firewall-cmd --list-services 输出里没有 samba-client 或 samba ——它们会放行未认证流量
  • Windows 客户端记得清缓存:net use * /del,否则可能复用旧会话保持写权

真正起效的关键点不在“怎么关”,而在“关得够干净”:Samba 参数、Linux 文件权限、SELinux 策略、客户端状态,四者缺一不可。任意一层漏掉,匿名写入都可能复活。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3710

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3213

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2293

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5490

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5142

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3053

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2565

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2779

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux man-pages 项目
Linux man-pages 项目

共0课时 | 0人学习

Linux系统运维及项目正式上线
Linux系统运维及项目正式上线

共14课时 | 2.8万人学习

Linux负载均衡视频教程
Linux负载均衡视频教程

共7课时 | 1.9万人学习