Поиск по сайту

Температура за бортом

Войти в Гараж



Конвертирование пользователей Samba из smbpasswd в базу данных tdb

Изначально задача была с точностью до "наоборот".
Обновили сервер RHEL4u5  на CentOS 6.3. В комплекте Samba-3.5.10 в кофигурации которой по умолчанию определена схема хранения учетных записей в базе данных:

passdb backend = tdbsam

В smb.conf перед указанным параметром белым по синему написано:

New installations should use either tdbsam or ldapsam. smbpasswd is available for backwards
compatibility.

То есть:  smbpasswd доступен для обратной совместимости.

Правлю /etc/samba/smb.conf :

security = user
encrypt passwords = yes
username map = /etc/samba/smbusers
smb passwd file = /etc/samba/smbpasswd

Проверяю файл конфитгурации утилитой testparm -s , никаких замечаний.
Перезапускаю самбу, проверяю авторизацию пользователя из smbpasswd:

smbclient -L localhost -U smbtets

Samba отвечает что не знает такого юзера.
Так и не понял в чем проблема. Пришлось пользователей smbpasswd залить в базу tdbsam:

Находясь в /etc/samba выполняю:

pdbedit -i smbpasswd:./smbpasswd

Примечание: процесс заливки прерывается всякий раз если попадается строка с закомментрированным пользователем (начинается с символа ";" или "#") или с пользователем, отсутствующим в системе, то есть в /etc/passwd . Поэтому необходимо предварительно откорректировать файл smbpasswd .

Еще один нюанс заключается в том, что сообщение об ошибке выдается в начале лога, а не в конце:

[root@srv samba]# pdbedit -i smbpasswd:./smbpasswd
build_sam_account: smbpasswd database is corrupt!  username ;uvolen with uid 1783 is not in unix passwd database!
Importing account for guest...ok
Importing account for ivanov...ok
...
Importing account for nobody...ok
Importing account for petrov...ok
[root@srv samba]#

Поэтому если пользователей очень много, лучше направлять вывод в лог-файл:
[root@srv samba]# pdbedit -i smbpasswd:./smbpasswd > pdbedit.lst

Если стоит задача экспортировать учетные записи samba из уже существующей базы tdbsam, используем следующую команду:
[root@srv samba]# pdbedit -Lw > smbpasswd
Соответственно из полученного файла экспорта заливаем учетные записи на другой сервер так же как описано выше.
Обновлено 28.10.2013 17:33
 
Rambler's Top100
 
www.garage.zabkray.net , Powered by HardWorm Chita 2010 - 2021