Подробный гайд: Смена пароля в РЕД ОС: smbpasswd, samba-tool и kpasswd в домене AD и на сервере

Гайд по смене пароля в РЕД ОС: разбор smbpasswd, samba-tool и kpasswd. Настройка контроллера Active Directory, клиента домена и локального сервера Samba.

2026.07.13                  


Подробный гайд: Смена пароля в РЕД ОС: smbpasswd, samba-tool и kpasswd в домене AD и на сервереПодробный гайд: Смена пароля в РЕД ОС: smbpasswd, samba-tool и kpasswd в домене AD и на сервере

Сценарий 1. РЕД ОС — Контроллер домена Active Directory (Samba AD DC)

Если ваш сервер является контроллером домена Samba 4, база данных пользователей хранится в формате AD (LDAP/Kerberos). Утилита smbpasswd здесь устарела и не рекомендуется.

Правильный способ смены пароля доменного пользователя:

Используется утилита samba-tool.

1. Откройте терминал и получите права root (или используйте sudo):
   su -
   # или
   sudo -i
2. Смените пароль пользователю домена (например, ivanov):
   samba-tool user setpassword ivanov
3. Система попросит ввести новый пароль и подтвердить его.
4. Опционально: Если нужно сбросить пароль и заставить пользователя сменить его при следующем входе:
   samba-tool user setpassword ivanov --must-change-at-next-login

Сценарий 2. РЕД ОС — Рядовой член домена Active Directory (Member Server)

Если сервер введен в домен AD (через realmd, sssd или winbind), пароли доменных пользователей хранятся на контроллерах AD. Локально через smbpasswd их сменить нельзя.


Как сменить пароль доменного пользователя с клиента РЕД ОС:

Вам нужно изменить пароль непосредственно в AD. Сделать это с Linux-машины можно через Kerberos.

1. Убедитесь, что у вас установлен пакет krb5-workstation:
   sudo dnf install krb5-workstation
2. Смените пароль, используя утилиту kpasswd (указывайте пользователя в формате UPNимя@ДОМЕН):
   kpasswd ivanov@DOMAIN.LOCAL
3. Введите старый пароль, затем дважды новый.

Примечание:

Если вам нужно, чтобы доменный пользователь мог заходить на локальные SMB-шары этого РЕД ОС, и у вас настроен winbind, то пароль Samba синхронизируется с паролем AD автоматически. Ручное добавление через smbpasswd в этом случае не требуется.


Сценарий 3. Классический smbpasswd (Локальные пользователи Samba / Standalone)

Если ваш РЕД ОС работает как автономный файловый сервер, и вам нужно создать/сменить пароль для локального пользователя Samba (который не является доменным, либо вы используете устаревшую схему NT-домена), используйте smbpasswd.


Шаг 1. Проверка наличия пользователя в ОС

Пользователь должен сначала существовать в локальной базе Linux.

id smbuser

Если пользователя нет, создайте его:

sudo useradd -M -s /sbin/nologin smbuser

Шаг 2. Добавление пользователя в базу Samba и установка пароля

Используйте флаг -a (add), чтобы добавить пользователя в базу passdb.tdb и сразу задать пароль:

sudo smbpasswd -a smbuser

Введите новый пароль Samba и подтвердите его. (Пароль Samba может отличаться от пароля Linux).


Шаг 3. Смена пароля для уже существующего пользователя Samba

Если пользователь уже был добавлен ранее, и вы просто хотите обновить ему пароль:

sudo smbpasswd smbuser

Шаг 4. Активация/Деактивация пользователя

Если при создании пользователь был отключен, его нужно включить:

sudo smbpasswd -e smbuser   # Включить (enable)
sudo smbpasswd -d smbuser   # Отключить (disable)

Шаг 5. Перезапуск служб Samba

Чтобы изменения вступили в силу (хотя обычно база подхватывается на лету, перезапуск не помешает):

sudo systemctl restart smb nmb

(В РЕД ОС службы обычно называются smb и nmb. Если у вас старая версия, могут быть smbd и nmbd).


Полезные команды и диагностика в РЕД ОС

1. Просмотр всех пользователей в локальной базе Samba:
sudo pdbedit -L -v

(Эта команда покажет подробную информацию о всех пользователях, добавленных через smbpasswd).


2. Проверка конфигурации Samba:

Прежде чем перезапускать службы, убедитесь, что в /etc/samba/smb.conf нет синтаксических ошибок:

testparm

3. Решение проблем с SELinux (Специфика РЕД ОС):

РЕД ОС по умолчанию использует SELinux. Если вы меняете пароли, но пользователи не могут авторизоваться, проверьте контексты SELinux.

Посмотрите статус:
sestatus

Если есть проблемы с доступом Samba к домашним директориям, разрешите это:
sudo setsebool -P samba_enable_home_dirs on

4. Просмотр логов Samba:
Если смена пароля не помогает и авторизация не проходит, смотрите логи:
sudo tail -f /var/log/samba/log.smbd
# или
sudo journalctl -u smb -f

Важно:

  1. Если у вас Samba AD DC -> используйте samba-tool user setpassword.
  2. Если у вас клиент в AD -> используйте kpasswd.
  3. Если у вас простой файловый сервер с локальными юзерами -> используйте sudo smbpasswd -a <user>.

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Денис Аверко @Nymexis г. Омск

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта