Я на Файловый сервер Samba (openSUSE Leap 15), каталог с подкаталогами, в которых некоторые не должно больше иметь владельца. Разрешение имени пользователя выполняется winbind. Я хочу удалить все директории без владельца.
Проблема в том, что ls -la
показывает мне, что некоторые подкаталоги все еще есть пользователь в качестве владельца, которого больше не существует в AD. wbinfo -u
не показывает мне удаленного пользователя, и в AD этот пользователь определенно больше не существует. Также getent passwd не показывает пользователей, которых ls -la показывает как владельца.
Что я уже сделал:
winbindd_cache.tdb
и winbindd_idmap.tdb
Очень странно, есть ли другой кеш, который не очищался бы очисткой чистого кеша?
PS: демон nscd тоже работает на файловом сервере Samba
Здесь smb.conf для конфигурации winbind
[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
Право собственности на файл хранится в файловой системе. Простое удаление пользователя из / etc / passwd или другого удаленного управления пользователями не отменяет владение файловой системой. Вы просто больше не можете видеть названия для UID и GID.
Если имя пользователя или группы все еще отображается с getent и ты бежишь NSCD кеширование пароль и группа карты (проверьте /etc/nscd.conf
), то вам следует очистить его кеши для этих карт:
nscd --invalidate=passwd
nscd --invalidate=group
Предупреждение:
Я бы рекомендовал не удалить файлы, найденные с помощью find -nouser
или find -nogroup
автоматически, если есть хотя бы небольшая вероятность, что ваше удаленное управление пользователями может быть недоступно.