Удаление пользователя samba: pbdedit против smbpasswd, в чем разница?

12

В чем разница между

$ pdbedit -x

и

$ smbpasswd -x

удалить пользователей самбы?

nieg
источник
Теперь есть также samba-tool user delete, кто-нибудь знает, в чем разница между samba-toolэтими и другими инструментами ( smbpasswdи pdbedit)?
Антонио Виниций Менезес Медей

Ответы:

8

Оба smbpasswdи pdbeditмогут быть использованы для управления пользователями Samba.

Отвечая на вопрос: по состоянию на Samba 4 нет никакой разницы между этими двумя командами. Обе команды будут работать с одним файлом - будь то в формате smbpasswd или tdbsam - и выполнять свою работу.

Расширяя ответ:

smbpasswdстаршая Он использовался для управления учетными данными Samba, хранящимися в одноименном формате файла - smbpasswd . Путь по умолчанию для файла в дистрибутивах на основе RedHat был /etc/samba/smbpasswd(для устранения неоднозначности: сама программа, формат файла и файл по умолчанию того формата, над которым smbpasswdработает программа, все называются smbpasswd ).

pdbeditпоявился во время цикла разработки Samba 3 в качестве замены smbpasswd. С точки зрения пользователя root pdbeditмогут выполнять все операции, которые smbpasswdмогут выполнять, а также их расширенный набор (управление безопасностью учетной записи и параметрами политики). «Нативный» формат для хранения учетных данных Samba pdbedit- это tdbsam - тривиальная база данных для хранения паролей в БД. На дистрибутивах на основе RedHat путь к файлу по умолчанию /var/lib/samba/private/passdb.tdb.

Проблема в pdbeditтом, что он может использоваться только пользователем root, в то время smbpasswdкак обычные пользователи могут использовать его для изменения своих паролей Samba способом, аналогичным тому, что passwdкоманда делает для системных учетных записей Linux. Таким образом, я понимаю, что начиная с Samba 4 работа по управлению пользователями передается pdbeditи smbpasswdостается там, чтобы пользователи без smbpasswdполномочий root могли изменять свои пароли (хотя root по-прежнему может использоваться для управления хранилищем учетных данных Samba ограниченным образом).

голем
источник
4

Со страницы руководства pbdedit :

выдержка

Инструмент pdbedit использует модульный интерфейс passdb и не зависит от типа используемой базы данных пользователей (в настоящее время существуют smbpasswd, ldap, nis + и tdb и многое другое может быть добавлено без изменения инструмента).

Пока страница справочника smbpasswd :

выдержка

По умолчанию (при запуске без аргументов) он пытается изменить пароль SMB текущего пользователя на локальном компьютере. Это похоже на работу программы passwd (1). Тем не менее, smbpasswd отличается от того, как работает программа passwd, тем, что она не является суперпользователем root, а работает в режиме клиент-сервер и взаимодействует с локально запущенным smbd (8). Вследствие этого для успешного выполнения демон smbd должен быть запущен на локальном компьютере. На UNIX-машине зашифрованные пароли SMB обычно хранятся в файле smbpasswd (5).

Таким образом, pbdeditможно управлять различными бэкэндами паролей Samba, в то время как smbpasswdможно управлять только этим типом бэкэнда.

SLM
источник
В текущей версии Samba, которую я установил (4.1.1) на CentOS 7, мои тесты показывают, что обе команды могут манипулировать форматами файлов smbpasswd и tdbsam (возможно, smbpasswdвызовы pdbeditниже при работе с форматом файлов tdbsam ).
Голем
@golem - Да, я написал их, используя Samba 3.x. Этот Q слишком расплывчат в своей текущей форме, поскольку он не выделяет какую-либо конкретную версию Samba. 3.x не может, как указано на man-страницах.
СЛМ