- Где Samba хранит пароли. Как извлечь имена пользователей и паролей Samba (РЕШЕНО)
- В каком файле Samba хранит пароли?
- В каком формате файл паролей Samba passdb.tdb?
- Можно ли просмотреть или извлечь пароли из базы данных Samba?
- Как просмотреть имена пользователей Samba?
- Как удалить одного пользователя из базы данных Samba?
- Как стереть базу данных с паролями Samba?
- Как управлять аккаунтами Samba?
- Связанные статьи:
- List samba shares and current users
- 9 Answers 9
Где Samba хранит пароли. Как извлечь имена пользователей и паролей Samba (РЕШЕНО)
Данная заметка посвящена базе данных паролей Samba. В ней даны ответы на популярные вопросы о том, где хранятся пароли Samba и как выполнить популярные действия с базой данных паролей Samba.
Для установки пароля Samba используется команда:
sudo smbpasswd -a ПОЛЬЗОВАТЕЛЬ
Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.
В каком файле 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, иначе у неё не хватит прав даже для просмотра этого файла:
Затем выполните команду open указав путь до файла, который вы хотите открыть:
open /var/lib/samba/private/passdb.tdb
Если во время открытия не произошло ошибок (например из-за того, что указан неправильный путь), то ничего не будет выведено.
Для вывода справки введите
Популярные команды, которые могут вам пригодиться:
распечатать хеш-таблицу базы данных и список свободных мест
показать содержимое базы данных в качестве строк
вывести список ключей базы данных в качестве строк
вывести сводную информацию о базе данных
Можно ли просмотреть или извлечь пароли из базы данных Samba?
Нет, невозможно посмотреть или извлечь пароли из файла passdb.tdb. Более того, в файле passdb.tdb не хранятся пароли в виде простого текста, база данных Samba содержит только хеши паролей.
Алгоритм используемого хеша — NTLM. Онлайн генератор хешей: LM/NTLM: https://suip.biz/ru/?act=ntlm-hash-generator
Вы можете экспортировать хеши в виде шестнадцатеричной строки следующей командой:
Следующая команда экспортирует все данные, включая хеши:
sudo pdbedit -e smbpasswd:/root/samba-users.backup
Как просмотреть имена пользователей Samba?
Имена пользователей вы можете посмотреть следующими командами:
sudo pdbedit -L sudo pdbedit -L -v
Как удалить одного пользователя из базы данных Samba?
Для удаления используйте опцию -x (—delete). Также необходимо указать имя пользователя с опцией -u, например:
Как стереть базу данных с паролями 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 ]»
Связанные статьи:
List samba shares and current users
Looking for a simple way to do this from the command line. List samba shares and the users who can access each of them. List samba shares and the users currently connected to them. List samba shares and every connection (log, including user) that has been established to each of them. Any ideas? Anything you use that’s currently available that will give me the bits I need to put this together? Cheers!
We can list shares from command line using smbtree. We can parse: /etc/samba/smb.conf /var/lib/samba/usershares/*.conf
9 Answers 9
Try smbclient -L ip_of_net_interface -U your_user_name . This option allows you to look at what services are available on a server. You use it as smbclient -L host and a list should appear.
Try to use smbstatus , it seems to be what you need.
smbstatus only lists the current connections. What about listing all shares and users who can access them (even if not connected at the time)?
Will retrieve what’s being shared and which machine (if any) is connected to what.
Perfect! But it only shows if im browsing the share, but not if I just have it mapped to Windows. Where NFS shows constantly, but I guess thats because NFS is constantly «mounted», Windows is just mapped, and not mounted till accessed.
Try net usershare info —long .
/usr/bin/net -> /etc/alternatives/net /etc/alternatives/net -> /usr/bin/net.samba3
$ man net net - Tool for administration of Samba and remote CIFS servers.
Best answer — it’s been a very long time since I worked with samba and didn’t know about the net command
Also, on most systems, typing testparm will give you info about the samba shares of the machine you’re currently using. After you press enter at the prompt it’ll also show you every uncommented line of smb.conf which can be useful.
No, testparm only checks for correctness of the configuration file, it shows nothing about what you are currently using.
Where -L is to list users & -v is to be verbose.
Getting the users
Getting the shares per user
Less verbose than smbclient -L is net rpc share list -U $USERNAME
You’ll need both because the list of visible shares differs per user.
While smbstatus —shares list active connections in your computer, you may want to know which folders are selected as samba shared, even when no current connection is active.
Go into this directory and you will get the name of such folders:
I am sharing the list of command that everyone need if you are using smb, I hope this will help you all. if need any help for the same, please comment, I will try to help you to have solution for your problems.
you can write sudo smbstatus command to see the logs shared folder and status of that as well
Samba version 4.7.6-Ubuntu PID Username Group Machine Protocol Version Encryption Signing ----------------------------------------------------------------------------------------------------------------------------------------
you can write the command sudo smbtree to get the tree of root folder and subfolders
WORKGROUP \\SSHEEL-HP ssheel-HP server (Samba, Ubuntu) \\SSHEEL-HP\Screenshots \\SSHEEL-HP\Movie \\SSHEEL-HP\IPC$ IPC Service (ssheel-HP server (Samba, Ubuntu)) \\SSHEEL-HP\sambashare Network Shared Folder by Samba Server on Ubuntu \\SSHEEL-HP\print$ Printer Drivers
you can also type sudo smbcontrol command to get all list of controls that you can use with suffix of that command
if you are getting problem to login so you can also set password for smb to get access of shared folders sudo smbpasswd -a ssheel
ssheel@ssheel-HP:~/Videos$ sudo smbpasswd -a ssheel New SMB password: Retype new SMB password: Added user ssheel.