Гайд: Команда smbpasswd -e в Linux/Unix для включения учётной записи в базе данных Samba

Команда smbpasswd -e разблокирует пользователя Samba в Linux. Снимает флаг Disabled, восстанавливая доступ к сетевым папкам без смены пароля.

2026.07.09                  


Гайд: Команда smbpasswd -e в Linux/Unix для включения учётной записи в базе данных SambaГайд: Команда smbpasswd -e в Linux/Unix для включения учётной записи в базе данных Samba Команда smbpasswd -e в операционных системах Linux/Unix используется для включения (разблокировки) ранее отключенной учетной записи пользователя в базе данных Samba.

Ниже представлен подробный гайд по её использованию, от базового синтаксиса до решения частых ошибок.


1. Что именно делает команда?

Когда вы отключаете пользователя Samba (командой smbpasswd -d), его учетная запись не удаляется, а помечается специальным флагом «Disabled» (Отключен). Такой пользователь не может подключаться к SMB/CIFS шарам, но его данные и настройки остаются в системе. Команда smbpasswd -e снимает этот флаг, возвращая пользователю возможность авторизоваться.


Важное примечание:

Команда smbpasswd -e НЕ запрашивает и НЕ меняет пароль. Она только меняет статус учетной записи. Если пользователю нужно задать новый пароль, используйте просто sudo smbpasswd <имя_пользователя>.


2. Базовый синтаксис

sudo smbpasswd -e <имя_пользователя>

Примечание:

Для выполнения этой команды требуются права суперпользователя (root) или использование sudo.


3. Пошаговая инструкция

Шаг 1: Проверка текущего статуса пользователя

Прежде чем включать пользователя, полезно убедиться, что он действительно отключен и существует в базе Samba.

Для этого используется утилита pdbedit:

sudo pdbedit -L -v | grep -A 5 "username"

Обратите внимание на строку Account flags:

  • Если вы видите [DU ] или [D ] — буква D означает, что пользователь Disabled (отключен).
  • Если вы видите [U ] — буква U означает, что пользователь Up (включен/активен).

Шаг 2: Включение пользователя

Выполните команду для включения:

sudo smbpasswd -e denis

(Замените denis на нужное имя пользователя).

Если команда выполнена успешно, она ничего не выведет в консоль (молчаливое выполнение — признак успеха в Unix-утилитах).


Шаг 3: Проверка результата

Снова проверьте статус через pdbedit, чтобы убедиться, что флаг D исчез:

sudo pdbedit -L -v | grep -A 5 "denis"

Теперь в строке Account flags должна быть только буква U (или пробелы, но без D).


4. Частые ошибки и их решения

Ошибка 1: Failed to find entry for user <username>

Причина:

Пользователь существует в системе Linux (/etc/passwd), но не был добавлен в базу данных Samba (passdb.tdb). Команда -e не может включить того, кого нет в базе.

Решение:

Сначала добавьте пользователя в Samba (это также задаст ему пароль):

sudo smbpasswd -a <имя_пользователя>

А затем, если он вдруг оказался отключен, включите его:

sudo smbpasswd -e <имя_пользователя>

Ошибка 2: Permission denied или Could not open passdb

Причина:

Недостаточно прав для изменения базы данных Samba.

Решение:

Убедитесь, что вы используете sudo или работаете под учетной записью root.


Ошибка 3: Пользователь включен, но все равно не может подключиться

Причина:

Проблема не в статусе Samba, а в правах доступа на уровне файловой системы Linux или в настройках самого smb.conf.

Решение:

  1. Проверьте, совпадает ли имя пользователя в Samba и в Linux (регистр имеет значение).
  2. Убедитесь, что у пользователя Linux есть права на чтение/запись в директорию, которую вы расшариваете.
  3. Проверьте параметр valid users в smb.conf (если он указан, пользователь должен быть в этом списке).

5. Шпаргалка: Управление пользователями Samba

Держите под рукой базовые команды управления пользователями в Samba:

Команда Описание
sudo smbpasswd -a <user> Добавить пользователя в Samba и задать пароль.
sudo smbpasswd -e <user> Включить (разблокировать) отключенного пользователя.
sudo smbpasswd -d <user> Отключить (заблокировать) пользователя без удаления.
sudo smbpasswd -x <user> Полностью удалить пользователя из базы Samba.
sudo smbpasswd -n <user> Установить пустой пароль (если разрешено в smb.conf).
sudo smbpasswd <user> Сменить пароль существующему пользователю Samba.

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


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

Комментарии

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