назад Оглавление вперед

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