Smbldap-tools. Руководство пользователя.
← назад | Оглавление | вперед → |
6. Часто задаваемые вопросы
6.1 Могу ли я использовать старые версии uidNumber
и gidNumber
?
Есть два пути для решения этого вопроса:
Вариант 1. Измените строку cn=NextFreeUnixId,dc=idealx,dc=org
и измените значение uidNumber
и/или gidNumber
. Это должно быть сделано вручную. Например, если вы хотите использовать все значения uidNumber
и gidNumber
, номер которых выше, чем 1500, вы должны написать:
dn: cn=NextFreeUnixId,dc=idealx,dc=org changetype: modify uidNumber: 1500 gidNumber: 1500
А затем выполнить команду:
ldapmodify -x -D "cn=Manager,dc=idealx,dc=org" -w secret -f update-NextFreeUnixId.ldif
Вариант 2. Используйте ключи –u
или –g
скрипта smbldap-populate
.
6.2 Я получаю ошибку «Can’t locate IO/Socket/SSL.pm»
Это происходит, когда вы хотите использовать сертификат. В этом случае вам следует установить IOSocket-SSL Perl module.
6.3 Я не могу создать начальную структуру каталога при помощи smbldap-populate
Когда я запускаю этот скрипт, я получаю такое сообщение об ошибке:
# smbldap-populate.pl
Using builtin directory structure adding new entry: dc=IDEALX,dc=COM Can’t call method "code" without a package or object reference at /usr/local/sbin/smbldap-populate.pl line 270, <GEN1> line 2.
Проверьте конфигурацию TLS:
— если вы не хотите иметь поддержку TLS, установите в файле /etc/smbldap-tools/smbldap.conf
следующий параметр на значение «0»
ldapTLS="0"
— если вы хотите иметь поддержку TLS, установите в файле /etc/smbldap-tools/smbldap.conf
этот параметр на значение «1»
ldapTLS="1"
и проверьте, что сервер LDAP каталога сконфигурирован с поддержкой TLS соединений.
6.4 Я не могу присоединить компьютер к домену с аккаунтом суперпользователя
— проверьте, что root-аккаунт имеет класс объекта (objectClass) sambaSAMaccount
— проверьте, что команда add machine script
есть и правильно описана.
6.5 Класс объекта sambaSamAccount
есть, но я не могу авторизоваться
Проверьте, что значение атрибута не равно нулю.
6.6 Я хочу создать учетную запись компьютера при вводе компьютера в домен, но это не работает, сначала приходится заводить учетную запись на сервере
— команда add machine script
не должна добавлять учетной записи компьютера класс объекта sambaSamAccount
, эта команда должна лишь добавить Posix аккаунт компьютера. Samba добавит класс объекта sambaSamAccount
при вводе компьютера в домен.
— проверьте, что строка add machine script
есть в файле smb.conf
.
6.7 Я не могу управлять базой данных Oracle
Если вы видите примерно такую ошибку:
Function Not Implemented at /usr/local/sbin/smbldap_tools.pm line 187. Function Not Implemented at /usr/local/sbin/smbldap_tools.pm line 627.
в базе данных Oracle проверьте, все ли атрибуты, по которым будут выполнятся запросы, индексированы. Добавьте новый индекс для Samba и удостоверьтесь, что следующие атрибуты также индексированы:
uidNumber, gidNumber, memberUid, homedirectory, description, userPassword ...
6.8 Программа установки пароля /usr/local/sbin/smbldap-passwd -u %u
не работает, или я получаю сообщение об ошибке, когда меняю пароль из под Windows.
Установите значение:
unix password sync = Yes
Примечание: также вы должны записать строку:
passwd sync = Yes
— эта команда лишь обновит атрибут userPassword
. Это из-за ключа –u
. Пароли samba будут обновлены самой Samba.
— команда passwd chat
должна выполняться согласованно с командой smbldap-passwd
6.9 Новой учетной записи компьютера нет в хранилище cn=Computers
Это известный баг Samba. Смотрите здесь.
6.10 Я подключился к домену, но я не могу авторизоваться
См. п. 6.9
6.11 Я не могу создать пользователя, используя команду smbldap-useradd
, я получаю следующую ошибку:
/usr/local/sbin/smbldap-useradd.pl: unknown group SID not set for unix group 513
проверьте:
— корректно ли настроен nss ldap?
— присоединена ли группа пользователя, в которую он входит по умолчанию, к группе NT "Domain Users"? Для этого вы можете использовать такую команду:
net groupmap add rid=513 unixgroup="Domain Users" ntgroup="Domain Users"
6.12 Я не могу создать пользователя, используя команду smbldap-useradd
, я получаю следующую ошибку:
Can’t call method ”get value” on an undefined value at /usr/local/sbin/smbldap-useradd line 154
— существует ли группа, в которую по умолчанию помещается новый пользователь (defaultUserGid=”513”
)?
— присоединена ли группа NT "Domain Users" к группе unix, имеющей rid 513? (для установки rid см. ключ –r
для команд smbldap-groupadd
и smbldap-groupmod
)
6.13 Типичные ошибки, возникающие при создании нового пользователя или группы:
— я получаю следующую ошибку:
Could not find base dn, to get next uidNumber at /usr/local/sbin/smbldap_tools.pm
Причина:
— вы не можете создать объект, так как невозможно определить следующий по порядку uidNumber
или gidNumber
.
Решение:
— для версии 0.8.7: единственное, что вы можете сделать, это запустить скрипт smbldap-populate
и обновить значения sambaDomain
, в которых хранится эта информация.
— для версии ранее 0.8.7: вы должны обновить свой пакет smbldap-tools
, затем создайте LDIF-файл примерно такого содержания:
dn: cn=NextFreeUnixId,dc=idealx,dc=org objectClass: inetOrgPerson objectClass: sambaUnixIdPool uidNumber: 1000 gidNumber: 1000 cn: NextFreeUnixId sn: NextFreeUnixId
И внесите эти сведения в LDAP каталог:
ldapadd -x -D "cn=Manager,dc=idealx,dc=org" -w secret -f add.ldif
Где 1000, это первое доступное значение uidNumber
и gidNumber
(разумеется, если это значение уже используется каким-либо пользователем или группой, используйте следующий за ним номер uid
или gid
).
— я получаю следующую ошибку:
Use of uninitialized value in string at /usr/local/sbin//smbldap\_tools.pm line 914. Error: No DN specified at /usr/local/sbin//smbldap\_tools.pm line 919
Решение:
Конфигурационный файл с описанными объектами и с доступными номерами uidNumber
и gidNumber
следует исправить. В нашем примере вы должны добавить следующую строку в файл /etc/smbldap-tools/smbldap.conf
:
# Where to store next uidNumber and gidNumber available sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
Кстати, теперь также доступна новая опция: домен для добавления пользователей. Вы можете добавить в конфигурационный файл следующие строки:
# Domain appended to the users "mail"-attribute # when smbldap-useradd -M is used mailDomain="idealx.com"
— я получаю следующую ошибку:
Use of uninitialized value in concatenation (.) or string at /usr/local/sbin/smbldap-useradd Use of uninitialized value in substitution (s///) at /usr/local/sbin/smbldap-useradd line Use of uninitialized value in string at /usr/local/sbin/smbldap-useradd line 264. failed to add entry: homedirectory: value #0 invalid per syntax at /usr/local/sbin/smbldap-userHomeDirectory=User "jto" already member of the group "513". failed to add entry: No such object at /usr/local/sbin/smbldap-useradd line 382.
Решение:
вы должны изменить имя переменной userHomePrefix
на userHome
в файле /etc/smbldaptools/smbldap.conf
— я получаю следующую ошибку:
failed to add entry: referral missing at /usr/local/sbin/smbldap-useradd line 279
Решение:
Вы должны исправить конфигурационный файл, в котором определяются dn
пользователей, групп и компьютеров. Эти параметры не должны соответствовать параметру suffix
. Типичная конфигурация показана ниже:
usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}"
— я получаю следующую ошибку:
erreur LDAP: Can’t contact master ldap server (IO::Socket::INET: Bad protocol ’tcp’) at /usr/local/sbin//smbldap_tools.pm line 153.
Решение:
Удалите запись ldap
из файла /etc/nsswitch.conf
, то есть у вас должна быть запись:
services files
, а не
services: ldap [NOTFOUND=return] files
← назад | Оглавление | вперед → |