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

4. Использование скриптов.

4.1 Создание структуры каталога

Вы можете сделать начальную структуру LDAP каталога, используя скрипт smbldap-populate. Чтобы сделать это, проверьте, что учетная запись, описанная в файле /etc/smbldap-tools/smbldap_bind.conf, которая имеет полномочия для связи с master LDAP сервером, так же является административной учетной записью вашего LDAP каталога.

На RedHat такой файл /etc/openldap/slapd.conf и и аккаунт определен:

1 rootdn "cn=Manager,dc=idealx,dc=com"
2 rootpw secret

Файл smbldap_bind.conf должны быть настроен так, чтобы параметры подключения к серверу master LDAP совпадали с предыдущими:

1 masterDN="cn=Manager,dc=idealx,dc=com"
2 masterPw="secret"

Ключи, которые могут быть использованы при запуске скрипта smbldap-populate, представлены в таблице 1.

Таблица 1. Ключи для скрипта smbldap-populate.
Ключ Описание действия ключа Значение по умолчанию
-u uidNumber первый uidNumber, который будет назначен 1000
-g gidNumber первый gidNumber, который будет назначен 1000
-a user Логин администратора Administrator
-b user Логин гостя nobody
-e file Экспорт файла инициализации  
-i file Импорт файла инициализации  

В большинстве случаев, для построения структуры LDAP каталога, достаточно выполнить команду:

[root@etoile root]# smbldap-populate
Using builtin directory structure
adding new entry: dc=idealx,dc=com
adding new entry: ou=Users,dc=idealx,dc=com
adding new entry: ou=Groups,dc=idealx,dc=com
adding new entry: ou=Computers,dc=idealx,dc=com
adding new entry: ou=Idmap,dc=idealx,dc=org
adding new entry: cn=NextFreeUnixId,dc=idealx,dc=org
adding new entry: uid=Administrator,ou=Users,dc=idealx,dc=com
adding new entry: uid=nobody,ou=Users,dc=idealx,dc=com
adding new entry: cn=Domain Admins,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Users,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Guests,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Print Operators,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Backup Operators,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Replicator,ou=Groups,dc=idealx,dc=com
adding new entry: cn=Domain Computers,ou=Groups,dc=idealx,dc=com

После этого шага, если вы больше не хотите использовать учетную запись cn=Manager,dc=idealx,dc=com, вы можете создать специальную учетную запись для Samba и smbldap-tools. Для подробностей обратитесь к главе 8.2

Строка cn=NextFreeUnixId,dc=idealx,dc=org используется только для присвоения номеров uidNumber и gidNumber при создании новых пользователей и групп. По умолчанию нумерация (см. таб. 1) начинается с номера 1000. Для изменения этого числа используются ключи –u и –g. Например, если вы хотите, чтобы нумерация начиналась с числа 1500, при создании структуры каталога используйте такую команду:

smbldap-populate -u 1500 -g 1500

4.2 Управление пользователями

4.2.1 Добавление пользователей

Для добавления пользователей используется скрипт smbldap-useradd. Ключи, которые могут быть использованы при его запуске, представлены в таблице 2.

Пояснение: в четвертой колонке есть строки со значениями, которые начинаются с символа $. Значения таких ключей, если не назначены специально, берутся из файла /etc/smbldap-tools/smbldap.conf (с указанием секции этого файла).

Таблица 2. Ключи для скрипта smbldap-useradd.
Ключ Описание действия ключа Пример Значение по умолчанию
-a Создать учетную запись Windows, без ключа будет создан Posix-аккаунт    
-w Создать учетную запись рабочей станции Windows    
-i Создать учетную запись пользователя домена, с которым установлено доверие, подробности см. в п. 4.4    
-u Назначить uid -u 1003 Первый из доступных uid
-g Назначить gid -g 1003 Первый из доступных gid
-G Добавить новую учетную запись в одну или несколько групп (несколько записываются через запятую) -G 512,550 Без ключа –G все созданные аккаунты попадают в группу 513 (пользователи)
-d Назначить домашнюю директорию -d /var/user $userHomePrefix /user
-s Назначить оболочку (login shell) -s /bin/ksh $userLoginShell
Добавить описание пользовательской учетной записи -c “admin user” $userGecos
-m Создать домашнюю директорию пользователя и скопировать туда информацию из папки /etc/skel/  
-k Назначить «скелетную» директорию (используется без ключа -m) -k /etc/skel2 $skeletonDir
-P По окончании обратится к скрипту smbldap-passwd для установки пароля пользователя    
Установить, имеет ли право пользователь изменять пароль, 0 – нет, 1- да -А 1  
-B Установить, должен ли пользователь изменить свой пароль после первого входа в систему, 0 – нет, 1 — да -B 0  
Назначить домашнюю папку Samba -С \\PDC\homes $userSmbHome
-D Установить букву диска, монтирующегося при входе пользователя в систему -D H: $userHomeDrive
-E Установить скрипт, который будет выполняться при входе пользователя в систему -E common.bat $userScript
-F Задать директорию с профилем пользователя -F \\PDC\profiles\user $userProfile
-H Установить флаг учетной записи Samba, наподобие [NDHTUMWSLKI] -H [X] Например, флаг D означает, что учетная запись отключена, прим.перев.
-N Установить реальное имя пользователя
 
-S Установить фамилию пользователя
 
-M Локальный электронный почтовый ящик (несколько записываются через запятую) -M testuser,aliasuser  
-T Непосредственный электронный почтовый ящик (несколько записываются через запятую) -T testuser@domain.org  

Например, если вы хотите создать пользователя с именем user_admin, который:

  • будет являться пользователем Windows
  • должен входить в группу с gid=512 (группа в Windows «Domain Admins»);
  • иметь домашнюю директорию;
  • не иметь оболочки входа (login shell);
  • домашняя директория которого будет находиться в папке /dev/null;
  • не иметь перемещаемого профиля;
  • и которому при создании мы установим пароль.

то следует ввести команду:

smbldap-useradd -a -G 512 -m -s /bin/false -d /dev/null -F "" -P user_admin

Еще несколько примеров (из Интернет, прим.перев.):

#smbldap-useradd –a –m –M pupkin –c “vasya pupkin” pupkin
#smbldap-useradd -a –c “Serg Alex Lad” -N “Serg Alex” -S “Lad” -s /bin/bash ladserg

4.2.2 Удаление пользователя

Для удаления учетной записи пользователя используется скрипт smbldap-userdel, в таблице 3 представлены доступные ключи запуска.

Таблица 3. Ключи для скрипта smbldap-userdel.
Ключ Описание действия ключа
-r Удалить домашнюю директорию (не спрашивая)
-R Удалить домашнюю директорию в диалоговом режиме

Например, если вы хотите удалить пользователя user1 из LDAP каталога, и если вы также хотите удалить его домашнюю директорию, выполните команду:

#smbldap-userdel -r user1

Примечание: с осторожностью используйте ключ -r, посредством его применения вы можете лишиться ценных незарезервированных данных.

4.2.3 Внесение изменений в учетную запись пользователя

Для внесения изменений в учетную запись пользователя используется скрипт smbldap-usermod. Ключи, используемые с этим скриптом, вынесены в таблицу 4. Наряду с этим, для внесения некоторых изменений в учетные данные, используется скрипт smbldap-userinfo. Ключи, используемые с этим скриптом, вынесены в таблицу 5. Этот скрипт может быть использован самими пользователями для внесения некоторых данных в их учетную запись (ACL должен быть должным образом настроен на сервере каталогов).

Таблица 4. Ключи для скрипта smbldap-usermod.
Ключ Описание действия ключа Пример
Добавить описание пользовательской учетной записи -c “admin user”
-d Назначить домашнюю директорию -d /var/user
-u Назначить uid -u 1003
-g Назначить gid -g 1003
-G Добавить новую учетную запись в одну или несколько групп или удалить пользователя из группы (несколько записываются через запятую)

-G 512,550

-G -512,550

-G +512,550

-s Назначить оболочку (login shell) -s /bin/ksh
-N Установить реальное имя пользователя  
-S Установить фамилию пользователя  
-P По окончании обратится к скрипту smbldap-passwd для установки пароля пользователя  
-a Добавить класс объекта (objectClass) sambaSAMaccount  
-e Установить дату истечения срока действия пароля пользователя (формат ГГГГ-ММ-ДД ЧЧ:ММ:СС)  
Устанавливает, имеет ли право пользователь изменять пароль, 0 – нет, 1- да  
-B Устанавливает, должен ли пользователь изменить свой пароль после первого входа в систему, 0 – нет, 1 — да  
Назначить домашнюю папку Samba

-С \\PDC\homes

-С ””

-D Установить букву диска, монтирующегося при входе пользователя в систему

-D H:

-D ””

-E Установить скрипт, который будет выполняться при входе пользователя в систему

-E common.bat

-E ””

-F Задать директорию с профилем пользователя

-F \\PDC\profiles\user

-F ””

-H Установить флаг учетной записи Samba, наподобие [NDHTUMWSLKI] -H [X]
-I Отключить учетную запись пользователя -I 1
-J Включить учетную запись пользователя -J 1
-M Локальный электронный почтовый ящик (несколько записываются через запятую) -M testuser,aliasuser
-T Непосредственный электронный почтовый ящик (несколько записываются через запятую) -T testuser@domain.org
Таблица 5. Ключи для скрипта smbldap-userinfo.
Ключ Описание действия ключа Пример
-f Задать полное имя пользователя -f MyName
-r Задать номер кабинета -r 99
-w Задать номер рабочего телефона -w 11111111
-h Задать номер домашнего телефона -h 2222222
-o Записать другую информацию (в секцию gecos) -o “second stage”
-s Задать оболочку по умолчанию -s /bin/ksh

4.3 Управление группами

4.3.1 Создание группы

Для добавления новой группы в LDAP каталог используется скрипт smbldap-groupadd. Ключи, которые могут быть использованы при запуске этого скрипта, представлены в таблице 6.

Таблица 6. Ключи для скрипта smbldap-groupadd.
Ключ Описание действия ключа Пример
-a Добавить группу и автоматически установить соответствие (mapping)  
-g gid Установить gidNimber для группы -g 1002
gidNimber не будет уникальным  
-r group-rid Установить rid группы -r 1002
-s group-sid Установить sid группы -s S-1-5-21-3703471949-3718591838-2324585696-1002
-t group-type Установить sambaGroupType -t 2
-p Вывести gidNimber на экран (stdout)  

Например, так вы можете создать группу group1 и поместить в нее ранее созданного пользователя user1:

# smbldap-groupadd –a group1
# smbldap-usermod –G +group1 user1

4.3.2 Удаление группы

Для удаления группы используется скрипт smbldap-userdel, например, для удаления группы group1 следует выполнить команду:

# smbldap-userdel group1

4.4 Добавление пользователя доверенного домена

Для добавления учетной записи доверенного домена на контроллере домена trust-pdc, используйте ключ –i команды smbldap-useradd

# smbldap-useradd -i trust-pdc
New password : *******
Retype new password : *******

Работа скрипта будет окончена после запроса на ввод пароля доверенного пользователя. Учетная запись будет создан в том месте каталога, где хранятся записи обо всех компьютерах (по умолчанию это ou=Computers). Таким образом, у этой учетной записи две особенности, это установка пароля для него, и флаг [I   ].

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