Доступ к общим папкам по доменным учётным записям не работает
Доступ по доменным учётным записям требует отдельной службы сопоставления. Файловая служба при её отсутствии продолжает работать и обслуживать локальные учётные записи, поэтому проблема выглядит избирательной и запутанной.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Служба сопоставления учётных записей не работает
Без неё доменные учётные записи не преобразуются в локальные идентификаторы, и доступ отклоняется.
-
Порядок запуска служб неверен
Файловая служба может стартовать раньше службы сопоставления и не найти её при первых обращениях.
-
Источники учётных записей не включают доменный
Список источников разрешения учётных записей должен включать доменный источник. Без него сопоставление не используется.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Проверка доверительных отношений с доменом.
sudo wbinfo -t 2>&1Состояние всех служб файлового доступа.
systemctl is-active smbd nmbd winbind 2>/dev/nullОтказы при обращениях клиентов.
journalctl -u smbd -n 30 --no-pager | grep -iE "auth|denied"Решение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Без неё доменные учётные записи не преобразуются в локальные идентификаторы, и доступ отклоняется.
- Как проверить
-
Посмотрите состояние служб и проверку сопоставления.
systemctl is-active smbd winbind 2>/dev/null sudo wbinfo -t 2>&1 | head -3
- Как исправить
- Запустите и включите службу сопоставления. Проверка доверия домену — самый быстрый способ убедиться, что она работает.
- Почему происходит
- Файловая служба может стартовать раньше службы сопоставления и не найти её при первых обращениях.
- Как проверить
-
Посмотрите порядок запуска.
systemctl show smbd -p After -p Wants 2>/dev/null journalctl -b --no-pager | grep -iE "smbd|winbind" | head -10
- Как исправить
-
Добавьте зависимость файловой службы от службы сопоставления. При загрузке порядок иначе не гарантирован.
[Unit] After=winbind.service Wants=winbind.service
- Почему происходит
- Список источников разрешения учётных записей должен включать доменный источник. Без него сопоставление не используется.
- Как проверить
-
Посмотрите список источников.
grep -E "^(passwd|group):" /etc/nsswitch.conf getent passwd "ДОМЕН\\пользователь" 2>/dev/null | head -2
- Как исправить
- Добавьте доменный источник в список разрешения учётных записей. Проверяется получением записи о доменном пользователе.
Пример вывода
Служба сопоставления не запущена. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
$ systemctl is-active smbd winbind
active
inactive
smbd[12800]: [2026/09/15 19:58:02] check_ntlm_password: Authentication for user [DOMAIN\ivan] FAILED with error NT_STATUS_NO_SUCH_USER
smbd[12800]: authentication for user [ivan] FAILED with error NT_STATUS_LOGON_FAILURE
Связанные ошибки
- Samba: клиент не может записать в общий ресурс Ресурс доступен для чтения, а запись отклоняется: права на файловой системе, параметры ресурса, отображение пользователей.
- Вход по доменной учётной записи не проходит: служба в автономном режиме Доменные пользователи не могут войти: служба не видит каталог и перешла в автономный режим.
- Имена разрешаются не через ту подсистему Служба не находит узел, который виден другим средствам: порядок источников разрешения имён задан иначе.
- Connection refused в журнале службы Соединение отклонено: служба не может подключиться к базе, кешу или другому сервису. Порядок запуска, адрес, брандмауэр.
- Dependency failed for … и результат 'dependency' Сообщение Dependency failed for: служба не запускалась, потому что упала её зависимость. Как найти настоящего виновника.
- Docker: демон не запускается без containerd docker.service падает, потому что не работает containerd.service. Разбор зависимости и сокета containerd.
- Found ordering cycle: циклическая зависимость при загрузке systemd нашёл цикл в порядке запуска и разорвал его, отбросив одну зависимость. Как найти цикл и правильно расставить After и Requires.
- Operation refused, unit may be requested by dependency only systemd отказывается запускать unit вручную из-за RefuseManualStart=yes. Что это значит и как запустить службу правильно.
Где встречается чаще всего
Источники
- Документация Samba: интеграция с доменом
-
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено остановкой службы сопоставления учётных записей.