zaLinux.ru

Где Samba хранит пароли. Как извлечь имена пользователей и паролей Samba (РЕШЕНО)


Данная заметка посвящена базе данных паролей Samba. В ней даны ответы на популярные вопросы о том, где хранятся пароли Samba и как выполнить популярные действия с базой данных паролей Samba.

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

sudo smbpasswd -a ПОЛЬЗОВАТЕЛЬ

Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.

Смотрите также: Руководство по SMB и Samba

В каком файле Samba хранит пароли?

Пароли Samba хранятся в файле /var/lib/samba/private/passdb.tdb.

В зависимости от дистрибутива и версии Samba, путь до файла passdb.tdb может быть другим.

В каком формате файл паролей Samba passdb.tdb?

Файл passdb.tdb это бинарный, а не простой текстовый файл.

Файл passdb.tdb можно открыть с помощью утилиты tdbtool, но этот файл не предназначен для редактирования пользователем напрямую, в том числе с помощью утилиты tdbtool. Также с помощью утилиты pdbedit можно экспортировать и импортировать содержимое этого файла.

tdbtool — это инструмент для отображения и изменения содержимого файлов Samba TDB (Trivial DataBase). Каждая из перечисленных ниже команд может быть введена в интерактивном режиме или предоставлена в командной строке.

Чтобы открыть файл passdb.tdb необходимо запустить утилиту tdbtool с правами root, иначе у неё не хватит прав даже для просмотра этого файла:

sudo tdbtool

Затем выполните команду open указав путь до файла, который вы хотите открыть:

open /var/lib/samba/private/passdb.tdb

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

Для вывода справки введите

help

Популярные команды, которые могут вам пригодиться:

list

распечатать хеш-таблицу базы данных и список свободных мест

dump

показать содержимое базы данных в качестве строк

keys

вывести список ключей базы данных в качестве строк

info

вывести сводную информацию о базе данных

erase

очистить базу данных

Можно ли просмотреть или извлечь пароли из базы данных Samba?

Нет, невозможно посмотреть или извлечь пароли из файла passdb.tdb. Более того, в файле passdb.tdb не хранятся пароли в виде простого текста, база данных Samba содержит только хеши паролей.

Алгоритм используемого хеша — NTLM. Онлайн генератор хешей: LM/NTLM: https://suip.biz/ru/?act=ntlm-hash-generator

Вы можете экспортировать хеши в виде шестнадцатеричной строки следующей командой:

sudo pdbedit -L -w

Следующая команда экспортирует все данные, включая хеши:

sudo pdbedit -e smbpasswd:/root/samba-users.backup

Как просмотреть имена пользователей Samba?

Имена пользователей вы можете посмотреть следующими командами:

sudo pdbedit -L
sudo pdbedit -L -v

Как удалить одного пользователя из базы данных Samba?

Для удаления используйте опцию -x (--delete). Также необходимо указать имя пользователя с опцией -u, например:

sudo pdbedit -x -u mial

Как стереть базу данных с паролями Samba?

Следующая команда сотрёт всю базу данных с паролями Samba:

sudo tdbtool /var/lib/samba/private/passdb.tdb erase

Как управлять аккаунтами Samba?

Опцию -c|--account-control ФЛАГ можно использовать с командой pdbedit при добавлении или изменении учётной записи пользователя. Он укажет свойство управления учётными записями пользователей. Возможные флаги перечислены ниже:

  • N: No password required
  • D: Account disabled
  • H: Home directory required
  • T: Temporary duplicate of other account
  • U: Regular user account
  • M: MNS logon user account
  • W: Workstation Trust Account
  • S: Server Trust Account
  • L: Automatic Locking
  • X: Password does not expire
  • I: Domain Trust Account

Пример: -c "[X ]"


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован.