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
| ← назад | Оглавление | вперед → |

