Samba退出域环境后权限混乱问题的解决

前一阶段我把公司的samba服务器加入到域环境,但由于兼容性的问题导致相关设置无法生成(主要是权限方面),所以又将samba退出域环境。但随之而来的就是所有的文件夹权限全部出问题,本来没有权限的用户可以随意访问之前禁止其访问的文件夹。但也不是全部的都不生效,有部分文件夹权限是正确的。

我查看了/etc/samba/smb.conf,也没有发现问题出现在什么地方。将配置文件恢复到入域之前,也无法解决问题。
而且我也不打算重新安装samba, 那样的话,工作量太大了,而且会影响线上服务。

二、解决方案

无奈之下,我查看了一下/var/lib/samba发现了许多以tdb结尾的文件。熟悉samba的人一看就知道,这些是数据库文件。是不是这些文件中的记录在入域之后增加了某些记录而导致的权限混乱呢?
为了验证我的想法,首先,我将/var/lib/samba这个文件夹进行了备份。然后在虚拟机里安装相同版本的samba。然后将其中的/var/lib/samba根目录中的以tdb结尾的文件复制到出现问题的生产环境的服务器的相应目录中。重启samba:

service smb restart

再次进行测试,一切OK!问题顺利解决!

三、问题分析 (一)出现该问题我分析如下:

因为一开始我配置samba服务的时候并没有直接针对域环境进行配置,用户的认证是由该服务器自身来完成的。因此在线上使用了一段时间后,在/var/lib/samba中的相应数据库中缓存了相应的用户权限和其他一些针对服务器自认证的记录。这样导致了服务器加入域环境之后也出现了权限的混乱;

在退出域环境后,相关的数据库中又缓存了在域环境的一些用户权限,所以导致该服务器,无法像加入域之前那样正常的完成自认证。

(二)结论

在配置samba之前一定要做好架构方面的规划。在开始配置之初就针对相应的环境或者架构进行配置;

如果确实需要进行认证方式变更,一定要使用新安装的samba /var/lib/samba中的数据文件,替换 生成环境中/var/lib/samba中相应的数据文件,以免缓存记录造成权限混乱。

更多Samba相关教程见以下内容

CentOS 7.2 安装配置Samba服务器 

VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍

Ubuntu 15.04安装Samba服务

samba安装使用图解 

CentOS7.2下源码搭建Samba文件服务器[原创]

CentOS 7.2 安装配置Samba服务器

CentOS部署Samba企业文件共享服务

Samba共享服务器的搭建优化 

如何在Ubuntu 16.04上安装和配置Samba服务器以进行文件共享 

CentOS 7下Samba服务安装与配置详解

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/80b71aa9172976f99270396f00206e00.html