问题是,如果我更改组成员身份(即从组中删除用户/将用户添加到组;客户端和服务器之间的更改是同步的!)samba不会自动为用户重新加载组成员身份,因此他们仍然可以写入组它们不再是其中的成员.我要么重新连接到共享,要么重新启动samba以应用更改.
有没有办法阻止组缓存和/或在samba中重新加载组成员身份?
我的smb.conf:
[global] interfaces = ethlan bind interfaces only = yes smb ports = 445 workgroup = WORKGROUP security = user passdb backend = tdbsam:/var/lib/mysamba/samba.tdb disable netbios = yes nt acl support = no invalid users = root read only = no case sensitive = yes load printers = no unix extensions = yes log file = /var/log/samba.log log level = 1 syslog = 0 use sendfile = yes [groups] path = /home/groups browseable = yes force create mode = 0770 force directory mode = 2770 hide unreadable = yes
解决方法
The configuration file,and any files that it includes,are automatically reloaded every minute,if they change. You can force a reload by sending a SIGHUP to the server. Reloading the configuration file will not affect connections to any service that is already established. Either the user will have to disconnect from the service,or smbd killed and restarted.
最后两句很重要:当前连接不受此影响.
您如何处理用户的连接可能会有很大差异,具体取决于具体情况.
>如果他们正在积极使用他们的连接,可能更容易告诉他们重新启动计算机以使更改生效;这样,如果他们处于某事的中间,他们就可以在闲暇时做到这一点.
>对于个人用户,您可以终止他们的连接过程(SIGHUP可能有效,但我目前还不确定);但您可能希望让他们保存和/或关闭他们可能在共享上打开的任何内容,因为他们的连接将被切断.当他们再次访问共享时,他们将使用新访问生成新连接.您可以使用smbstatus
查找有关当前连接的信息.>重新启动Samba.这是一种非常激烈的方法,但在某些情况下可能需要.这将终止所有当前连接,强制它们建立新连接.>等一下.如果在特定时间不需要更改,您可以让客户端自行重新建立连接.