Samba 文件服务器显示已删除的用户作为目录所有者/winbind 名称解析

Samba 文件服务器显示已删除的用户作为目录所有者/winbind 名称解析

我有Samba 文件服务器(openSUSE Leap 15),一个带有子目录的目录,其中包含一些不应再有主人。用户名解析由 winbind 执行。我想删除所有没有所有者的目录。

问题是,这ls -la表明一些子目录仍然有一个不再存在的用户作为所有者在 AD 中。wbinfo -u不显示已删除的用户,而且在 AD 中该用户肯定也不再存在。此外,getent passwd 不显示 ls -la 显示为所有者的用户。

我已经做的事情:

  • 重启
  • 网络缓存刷新
  • 手动删除winbindd_cache.tdbwinbindd_idmap.tdb

很奇怪,还有其他缓存不会被 net cache flush 清除吗?

PS:nscd 守护进程也在 Samba 文件服务器上运行

这是 winbind 配置的 smb.conf

[global]
    workgroup = domain
    realm = domain.DOMAIN
    netbios name = name
    security = ADS
    interfaces = 1.2.3.4 127.0.0.1/8
    bind interfaces only = yes

    log level = 1

    template shell = /bin/false

    vfs objects = acl_xattr
    map acl inherit = yes
    store dos attributes = yes

    registry shares = yes

    hide unreadable = yes
    #hide dot files = yes
    hide files = /$*/desktop.ini/RECYCLER/Thumbs.db/

    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

    winbind enum users = yes
    winbind enum groups = yes
    winbind expand groups = 4
    username map = /etc/samba/samba_usermapping

    idmap config * : range = 2000 - 999999

    idmap config domain:backend = rid
    idmap config domain:range = 1000000 - 1999999

答案1

文件所有权存储在文件系统中。简单地从 /etc/passwd 或其他远程用户管理中删除用户并不能删除文件系统中的所有权。您只是再也看不到 UID 和 GID 的名称。

如果用户或组名称仍然显示盖特恩你正在跑步神经胶质细胞缓存密码团体地图(选中/etc/nscd.conf),那么您应该刷新这些地图的缓存:

nscd --invalidate=passwd
nscd --invalidate=group

需要注意的是:

我建议不是如果您的远程用户管理有可能无法访问,即使只有很小的可能性,也可以自动删除使用find -nouser或找到的文件。find -nogroup

相关内容