Данная заметка посвящена базе данных паролей 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 ]"
Связанные статьи:
- Как сделать общую сетевую папку в Linux (настройка SMB в Linux) (83.4%)
- Как смонтировать сетевую папку Windows/Samba в Linux (83.4%)
- Как подключиться к сетевой папке в командной строке Linux (83.4%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Решение проблемы «bash: ifconfig: команда не найдена» (50%)
- Как настроить приоритет Wi-Fi соединений в Linux (RANDOM - 50%)