Вопрос или проблема
Я выполнил обычные шаги для добавления нового пользователя в Samba:
- создал нового пользователя Linux с помощью
useradd [user]
- установил его пароль с помощью
passwd [user]
- установил его Samba пароль с помощью
smbpasswd -a [user]
Но когда я пытаюсь подключиться к своему серверу с этим пользователем, я всегда получаю какую-то форму “аутентификация не удалась” на клиентах и NT_STATUS_WRONG_PASSWORD
в логах сервера. (Пароль правильный и совпадает как у пользователей Linux, так и у Samba.) Та же проблема возникает у каждого нового пользователя Linux/Samba, которого я пытаюсь создать, и сохраняется после нескольких перезагрузок. Странная часть в том, что я все еще могу войти в общий доступ, используя своего собственного пользователя Linux без каких-либо проблем; просто не с новыми пользователями. Я попробовал практически все, включая отключение всех мер безопасности, например, NTLMv1 (хотя я все еще мог войти с NTLMv2, используя своего собственного пользователя Linux) и установку всех общих доступов в публичный режим. Мог бы кто-нибудь помочь мне разобраться с этим? Я могу предоставить логи по запросу.
(Я на Xubuntu 22.04 с версией Samba 4.15.5-Ubuntu
)
Вывод testparm -s
:
Загрузка конфигурационных файлов smb из /etc/samba/smb.conf
Файл сервиса загружен успешно.
Допускается слабое шифрование
Роль сервера: ROLE_STANDALONE
# Глобальные параметры
[global]
allow insecure wide links = Yes
dns proxy = No
log file = /usr/local/samba/var/log.%m
max log size = 50
server role = standalone server
server string = Samba Server
workgroup = MYGROUP
idmap config * : backend = tdb
[printers]
browseable = No
comment = Все принтеры
path = /usr/spool/samba
printable = Yes
[depo]
comment = depo
path = /pub/
read only = No
wide links = Yes
Ничего из этого не сработало для меня. Я пытался создать пользователя Linux и постоянно пытался получить доступ к Samba, но это никогда не работало. Я также пробовал подключиться по SSH один раз как этот новый пользователь, но это тоже не сработало.
После того как я вручную добавил пользователя Samba и установил ему пароль, это сработало:
sudo smbpasswd -a {user}
Я столкнулся с такой же проблемой. В моем случае я не мог войти с новым пользователем, потому что мой вновь созданный пользователь не имел доступа к директориям, которые я делил через Samba.
Обратите внимание, что не только Samba должна делить директории для пользователя, пользователь сначала должен иметь доступ на уровне Linux к этим директориям. В моем случае я должен был добавить пользователя в группу, к которой принадлежала директория. Это решило проблему.
Ответ или решение
Когда вы сталкиваетесь с проблемой, заключающейся в невозможности войти в Samba share под учетной записью, отличной от вашей собственной, важно проверить несколько ключевых аспектов. Это распространенная ситуация, и существует множество факторов, которые могут влиять на процесс авторизации пользователей. Давайте рассмотрим подробные шаги, которые помогут вам решить эту проблему.
1. Проверка конфигурации Samba
Перед тем, как мы углубимся в общие настройки и разрешения пользователей, необходимо удостовериться, что файл конфигурации Samba настроен правильно. Проверьте следующие основные параметры:
- Убедитесь, что ваша секция
global
разрешает доступ к ресурсам для новых пользователей. Пример:
[depo]
comment = depo
path = /pub/
read only = No
valid users = @yourusergroup
wide links = Yes
Добавление строки valid users = @yourusergroup
обеспечит, что только пользователи из указанной группы могут получить доступ к ресурсу.
2. Доступ на уровне Linux
Сamba использует права доступа на уровне операционной системы. Это означает, что пользователи должны иметь доступ к файловой системе, прежде чем они смогут подключиться к ресурсам Samba:
- Убедитесь, что созданный Linux-пользователь имеет права на директорию, которую вы делаете доступной через Samba. Используйте команду:
ls -ld /pub/
Если пользователи не имеют необходимых прав, добавьте их в соответствующую группу:
sudo usermod -aG yourgroup [user]
Или, если необходимо, измените разрешения для каталога:
sudo chown :yourgroup /pub/
sudo chmod 770 /pub/
3. Настройка Samba-пароля
Вы уже упомянули о создании Samba-пользователя с помощью:
sudo smbpasswd -a [user]
Однако убедитесь, что для всех новых пользователей были установлены правильные пароли и что они совпадают с паролями Linux. Если у вас остались сомнения, повторите шаг:
sudo smbpasswd [user]
4. Проверка логов Samba
Согласно вашим выводам сервера, в логах появляется ошибка NT_STATUS_WRONG_PASSWORD
. Это означает, что с паролем что-то не так. Чтобы получить более детальную информацию о том, что происходит, проверьте логи Samba:
sudo tail -f /var/log/samba/log.smbd
Это предоставит вам дополнительную информацию о том, что может вызывать сбой аутентификации.
5. Убедитесь в отсутствии блокировок
Проверьте, не включены ли механизмы блокировки для новых учетных записей. В некоторых случаях, если адреса пользователей или самих клиентов блокируются, это также может привести к ошибке входа.
Заключение
Существует множество факторов, которые могут повлиять на возможность входа для новых пользователей в Samba-сервер. Важно проверять конфигурацию, управлять правами доступа на уровне файловой системы и следить за логами для устранения возможных ошибок.
Если после выполнения всех указанных шагов проблема по-прежнему не решена, рассмотрите возможность переустановки Samba или рассмотрите поддержку со стороны сообщества или профессионалов для дальнейшей помощи.
Соблюдение этих рекомендаций поможет обеспечить безопасный и стабильный доступ к вашим Samba-ресурсам и позволит избежать потенциальных ошибок аутентификации в будущем.