O Samba File Server mostra usuários já excluídos como resolução do nome do proprietário do diretório / winbind

1

Eu tenho um Servidor de Arquivos Samba (openSUSE Leap 15), um diretório com subdiretórios no qual alguns não devem ter mais dono . Resolução de nome de usuário está indo pelo winbind. Quero excluir todos os diretórios sem proprietário.

O problema é que ls -la mostra que alguns subdiretórios ainda têm um usuário como proprietário que não existe mais no AD. wbinfo -u doesnt me mostra o usuário deletado e no AD o usuário definitivamente não existe mais também. Também getent passwd não mostra os usuários que ls -la mostra como proprietário.

Coisas que já fiz:

  • Reinicializar
  • net cache flush
  • exclua manualmente winbindd_cache.tdb e winbindd_idmap.tdb

Muito estranho, há outro cache que não seja limpo pela limpeza da cache de rede?

PS: o daemon nscd está rodando também no Servidor de Arquivos Samba

Aqui o smb.conf para o winbind config

[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
    
por MHABK 19.07.2018 / 08:09

1 resposta

0

A propriedade de arquivo é armazenada no sistema de arquivos. Simplesmente remover um usuário de / etc / passwd ou outro gerenciamento de usuário remoto não remove a propriedade no sistema de arquivos. Você simplesmente não consegue mais ver o nome do UID e do GID.

Se o nome do usuário ou grupo ainda aparecer com getent e você estiver executando nscd cache passwd e grupo maps (verifique /etc/nscd.conf ), então você deve liberar seus caches para esses mapas:

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

Uma palavra de cautela:

Eu recomendo que não remova arquivos encontrados com find -nouser ou find -nogroup automaticamente se houver uma pequena chance de que seu gerenciamento de usuário remoto esteja inacessível.

    
por 19.07.2018 / 12:34