Автор Тема: Возможно ли массовое создание пользователей домена в Школьном Сервере?  (Прочитано 7820 раз)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Добрый день!
Подскажите, как можно создать пользователей в Школьном Сервере массово, из текстового файла?
« Последнее редактирование: 12.05.2011 12:36:59 от rotkart »
Научить нельзя, научиться можно.

Оффлайн palex

  • Участник
  • *
  • Сообщений: 125
Добрый день!
Подскажите, как можно создать пользователей в Школьном Сервере массово, из текстового файла?
Может как-то так -
#!/bin/sh
UPD_FILE='/home/userlist.txt'
if [ -s $UPD_FILE ] ; then
while read LINE
    adduser $LINE
   done <$UPD_FILE
fi
читаем построчно из файла имена пользователей и отдаем команде adduser.
Если будете использовать, то сначала проверьте с echo, а не с adduser - вырезал из скрипта с аналогичной задачей, мог и ошибиться.

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Извиняюсь, я неправильно задал вопрос :-(
Меня интересуют не локальные пользователи, а пользователи домена, которых можно создавать из веб-админки.

Может как-то так

Поправил тему.
Научить нельзя, научиться можно.

Оффлайн palex

  • Участник
  • *
  • Сообщений: 125
Извиняюсь, я неправильно задал вопрос :-(
Меня интересуют не локальные пользователи, а пользователи домена, которых можно создавать из веб-админки.
Поправил тему.
Как из веб - лучше у разработчиков спросить, похоже что никак. А у консольного скрипта, наверное, можно заменить adduser на smbldap-useradd или ldap-useradd , ну и, разумеется, посмотреть с какими ключами эти команды применять. Это если у вас домен на связке ldap+smb.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 168
    • Домашняя страница
Штатной утилитой /usr/sbin/ldap_useradd
Однако для её работы отдельно от Alterator нужно немного модернизировать:
добавьте на 5 строке строке
base_rootdn_rootpwИ запускайте с правильным DN_CONF
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 168
    • Домашняя страница
Как из веб - лучше у разработчиков спросить, похоже что никак.
В последней версии alterator-ldap-users можно импортировать схему из ldif.
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Штатной утилитой /usr/sbin/ldap_useradd
Однако для её работы отдельно от Alterator нужно немного модернизировать:
добавьте на 5 строке строке
base_rootdn_rootpwИ запускайте с правильным DN_CONF

5-я строка файла /usr/sbin/ldap-useradd содержит:
[ -n "$DN_CONF" ] || fatal "DN_CONF not set"Мне ее заменять на то, что Вы написали?
Научить нельзя, научиться можно.

Оффлайн palex

  • Участник
  • *
  • Сообщений: 125
Как из веб - лучше у разработчиков спросить, похоже что никак.
В последней версии alterator-ldap-users можно импортировать схему из ldif.
Это если есть такой файл и там правильно все сформировано. С нуля, да с непривычки такие вещи проблематично создавать :-)
А действительно, почему в тот же альтератор не прикрутить помимо ldiff еще и импорт из простого текстового файла с именами? Думаю, с ним проще работать, чем с ldiff. Конечно, не будет дополнительных данных, но просто пользователей завести можно.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 168
    • Домашняя страница
5-я строка файла /usr/sbin/ldap-useradd содержит:
[ -n "$DN_CONF" ] || fatal "DN_CONF not set"Мне ее заменять на то, что Вы написали?
Нет, добавьте перед ней или после неё.
DN_CONF является именем файла с используемым base dn из /etc/openldap/
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
DN_CONF является именем файла с используемым base dn из /etc/openldap/

Ага, направление понятно, спасибо!
[root@tender ~]# cp /usr/sbin/ldap-useradd /usr/sbin/ldap-mass-useradd
[root@tender ~]# vi /usr/sbin/ldap-mass-useradd - здесь добавить base_rootdn_rootpw на 6-ю строчку.
[root@tender ~]# DN_CONF=/etc/openldap/slapd-school499.local.conf /usr/sbin/ldap-mass-useradd
ldap-mass-useradd: more arguments required
Пойду разбираться с аргументами 8)
Научить нельзя, научиться можно.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 168
    • Домашняя страница
Как-то не по-юниксовому. Нужно поправить ldap-useradd (у него один параметр — Unix-имя пользователя).
Сделай файл с именами в каждой строчке, затем:
export DN_CONF=/etc/openldap/slapd-school499.local.conf
for i in `cat users.txt`;do /usr/sbin/ldap-useradd "$i";done
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Как-то не по-юниксовому. Нужно поправить ldap-useradd (у него один параметр — Unix-имя пользователя).
Сделай файл с именами в каждой строчке, затем:
export DN_CONF=/etc/openldap/slapd-school499.local.conf
for i in `cat users.txt`;do /usr/sbin/ldap-useradd "$i";done

Не по юниксовому что? Сделать копию исполняемого файла?
Я, в первую очередь, опасался за целостность системы (rpm --verify ldap-user-tools) и работоспособность веб-интерфейса альтератора.
Может стоило сделать копию в /usr/local/bin?

Да и в этом месте:
dn: uid=$user,ou=People,$base
uid: $user
cn: $user
sn: $user
хочется немножко типа cn: $фамилия sn: $имя, как альтератор и делает.
Ну и pwgen с ldap-passwd приплести потом :-)
Научить нельзя, научиться можно.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 168
    • Домашняя страница
Не по юниксовому что?
Меня смутило изменение названия. Думал, что будете массовое добавление делать не через конвейер, а в самом скрипте.
Цитировать
Я, в первую очередь, опасался за целостность системы (rpm --verify ldap-user-tools)
apt-get install --reinstall ldap-user-tools
Цитировать
и работоспособность веб-интерфейса альтератора.
Если добавить только эту строку, то не повредит. :)
Цитировать
хочется немножко типа cn: $фамилия sn: $имя, как альтератор и делает.
Ну и pwgen с ldap-passwd приплести потом :-)
Используйте ldap-usermod по той же самой схеме.

К сожалению, руки поправить эти скрипты не доходят, но о проблеме я знаю.
Андрей Черепанов (cas@)

Оффлайн rotkart

  • Участник
  • *
  • Сообщений: 661
Научить нельзя, научиться можно.

Оффлайн maestro

  • Участник
  • *
  • Сообщений: 270
Дайте пример 1-й записи ldif для домена mbsh.sc27
Для пользователя нужны только логин и пароль.

В какой кодировке должен быть создан файл?

А файл должен иметь расширение ldif ? Поясните, никогда с этим не сталкивался.
« Последнее редактирование: 17.09.2012 09:31:45 от maestro »