The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"qmail + быстрое создание пользователей"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"qmail + быстрое создание пользователей"
Сообщение от ajiko emailИскать по авторуВ закладки on 03-Май-03, 10:10  (MSK)
есть файл со списком новых пользователей и паролей
есть ли возможность быстро создать пользователей через скрипт или другой механизм
сервер qmail ось freebsd
дайте какую нибудь идею!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "qmail + быстрое создание пользователей"
Сообщение от amber46 emailИскать по авторуВ закладки on 03-Май-03, 13:26  (MSK)
>есть файл со списком новых пользователей и паролей
>есть ли возможность быстро создать пользователей через скрипт или другой механизм
>сервер qmail ось freebsd
>дайте какую нибудь идею!


виртуальные или системные юзера?

если виртуальные то совсем просто:
~vpopmail/bin/vadduser user@domain.com password
~vpopmail/bin/vadduser user2@domain.com password
~vpopmail/bin/vadduser user3@domain1.com password

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "виртуальные или системные юзера?"
Сообщение от ajiko emailИскать по авторуВ закладки on 03-Май-03, 16:52  (MSK)
виртуальные
тока есть файл типа

name              password
someone01         password_of_someone_01  
someone02         password_of_someone_02
someone03         password_of_someone_03
someone04         password_of_someone_04

etc. и того 5000 записей

как вот создать зтих всех пользователей?
какого содержания будет примерный скрипт, может кому не лень подкинуть идею?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "виртуальные или системные юзера?"
Сообщение от amber46 emailИскать по авторуВ закладки on 03-Май-03, 17:22  (MSK)
>виртуальные
>тока есть файл типа
>
>name            
>  password
>someone01         password_of_someone_01
>someone02         password_of_someone_02
>someone03         password_of_someone_03
>someone04         password_of_someone_04
>
>etc. и того 5000 записей
>
>как вот создать зтих всех пользователей?
>какого содержания будет примерный скрипт, может кому не лень подкинуть идею?
:))
Ок. Идея такая:
-------------------- Script -------------
#!/определяем чем исполяется данный скрипт

пока (читаем файл со спиcком пока не кончится) # исполняем все что далее
{
username = берем первое слово от начала строки;
email = добавляем к username имя домена;
password = берем второе слово из строки;
исполняем(~vpopmail/bin/vadduser $email $password);
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "amber'у"
Сообщение от ajiko emailИскать по авторуВ закладки on 03-Май-03, 18:49  (MSK)
спасибо! я попробую наверное где-то в понедельник, возможно понадобится твоя помощь.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "виртуальные или системные юзера?"
Сообщение от nevi emailИскать по авторуВ закладки on 04-Май-03, 18:06  (MSK)
>Ок. Идея такая:
>-------------------- Script -------------
>#!/определяем чем исполяется данный скрипт
>
>пока (читаем файл со спиcком пока не кончится) # исполняем все что
>далее
>{
>username = берем первое слово от начала строки;
>email = добавляем к username имя домена;
>password = берем второе слово из строки;
>исполняем(~vpopmail/bin/vadduser $email $password);
>}

;]
Ок. Реализация идеи:
>-------------------- Script -------------

#!/usr/bin/perl -w

while(<>){
  chomp;
  ($email,$password)=split;
  system("~vpopmail/bin/vadduser $email $password")==0 || die "\nERR: $?\n";
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "виртуальные или системные юзера?"
Сообщение от amber46 emailИскать по авторуВ закладки on 04-Май-03, 18:10  (MSK)
>>Ок. Идея такая:
>>-------------------- Script -------------
>>#!/определяем чем исполяется данный скрипт
>>
>>пока (читаем файл со спиcком пока не кончится) # исполняем все что
>>далее
>>{
>>username = берем первое слово от начала строки;
>>email = добавляем к username имя домена;
>>password = берем второе слово из строки;
>>исполняем(~vpopmail/bin/vadduser $email $password);
>>}
>
>;]
>Ок. Реализация идеи:
>>-------------------- Script -------------
>
>#!/usr/bin/perl -w
>
>while(<>){
>  chomp;
>  ($email,$password)=split;
>  system("~vpopmail/bin/vadduser $email $password")==0 || die "\nERR: $?\n";
>}

Отлично! только вот при работе с vadduser ОБЯЗАТЕЛЬНО указывать имя домена. Соответственно  если в списке нет доменов, а есть только имена юзеров то надо добавить их в скрипте.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "поступил таким образом..."
Сообщение от ajiko emailИскать по авторуВ закладки on 06-Май-03, 12:26  (MSK)
createmailusers.pl
//---------script start----

#!/usr/bin/perl -w
open (FILE, "userslist.txt") or die ("Cannot open filename: $!");
while(<FILE>)
{
  chomp;
  ($email,$password,$realname) = split '\t';
   $emailfull = (substr($email,9,0) = "@myhost.com");
  system("~vpopmail/bin/vadduser -c $realname $emailfull $password")==0 || die "\nERR: $?\n";
}
//---------script end ----

userslist.txt
// --- listing start ---
001001001    pass1     Name1 Surname1
002002002    pass2     Name2 Surname2
003003003    pass3     Name3 Surname3
// --- listing end ---

структура userslist.txt такая
1. имя пользователя(состоит из 9 символов)
2. табуляция
3. пароль(5 символов)
4. табуляция
5. Имя Фамилия

теперь из консоли
perl createmailusers.pl

все время выдает такую ошибку
Error! Username exists
Err: 65024

возможно в скрипте есть какая ошибка?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "поступил таким образом..."
Сообщение от DogEater Искать по авторуВ закладки on 06-Май-03, 12:44  (MSK)
>createmailusers.pl
>//---------script start----
>
>#!/usr/bin/perl -w
>open (FILE, "userslist.txt") or die ("Cannot open filename: $!");
>while(<FILE>)
>{
>  chomp;
>  ($email,$password,$realname) = split '\t';
>   $emailfull = (substr($email,9,0) = "@myhost.com");
>  system("~vpopmail/bin/vadduser -c $realname $emailfull $password")==0 || die "\nERR: $?\n";
>}
>//---------script end ----
>
>userslist.txt
>// --- listing start ---
>001001001    pass1     Name1 Surname1
>002002002    pass2     Name2 Surname2
>003003003    pass3     Name3 Surname3
>// --- listing end ---
>
>структура userslist.txt такая
>1. имя пользователя(состоит из 9 символов)
>2. табуляция
>3. пароль(5 символов)
>4. табуляция
>5. Имя Фамилия
>
>теперь из консоли
>perl createmailusers.pl
>
>все время выдает такую ошибку
>Error! Username exists
>Err: 65024
>
>возможно в скрипте есть какая ошибка?

А если ручками команду запусить - она повторится?
Параметры в командную строку передаются верно?
Может и правда уже есть такие пользователи?
Тогда vdeluser  твой лучший друг :-)!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "поступил таким образом..."
Сообщение от ajiko emailИскать по авторуВ закладки on 06-Май-03, 15:28  (MSK)
да дело в том что ошибка происходит в этом месте я думаю,

($email,$password,$realname) = split '\t';
$emailfull = (substr($email,9,0) = "@myhost.com");

но если добавить такую строку

echo $email;

ошибка такая:
Name "main:realname" used only once: possible typo at createmailusers.pl line 6.
Name "main:password" used only once: possible typo at createmailusers.pl line 6.
Name "main:emailfull" used only once: possible typo at createmailusers.pl line 6.

can't locate object method "echo" via package "001001001@myhost.com" at createmailusers.pl line8, <FILE> chunk 1.

понять бы на что ругается?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "поступил таким образом..."
Сообщение от ajiko emailИскать по авторуВ закладки on 06-Май-03, 18:23  (MSK)
все вроде разобрался...

#!/usr/bin/perl -w
open (FILE, "userslist.txt") or die ("Cannot open filename: $!");
while(<FILE>)
{
  chomp;
  ($email,$password,$realname) = split '\t';
   $emailfull = $email.'@myhost.com';
  system("~vpopmail/bin/vadduser -c $realname -q 3 $emailfull $password")==0 || die "\nERR: $?\n";

но вот беда ->

так вот переменная $realname следующего вида "Name1 Surname1"
(т.е содержит пробел), если без пробела то все нормально проходит.

а как можно чтоб в строке
system("~vpopmail/bin/vadduser -c $realname -q 3 $emailfull $password")
можно передать значение с пробелом в содержимом?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "поступил таким образом..."
Сообщение от DogEater Искать по авторуВ закладки on 08-Май-03, 10:36  (MSK)
>все вроде разобрался...
>
>#!/usr/bin/perl -w
>open (FILE, "userslist.txt") or die ("Cannot open filename: $!");
>while(<FILE>)
>{
>  chomp;
>  ($email,$password,$realname) = split '\t';
>   $emailfull = $email.'@myhost.com';
>  system("~vpopmail/bin/vadduser -c $realname -q 3 $emailfull $password")==0 || die "\nERR:
>$?\n";
>
>но вот беда ->
>
>так вот переменная $realname следующего вида "Name1 Surname1"
>(т.е содержит пробел), если без пробела то все нормально проходит.
>
>а как можно чтоб в строке
>system("~vpopmail/bin/vadduser -c $realname -q 3 $emailfull $password")
>можно передать значение с пробелом в содержимом?

попробуй так:
system("~vpopmail/bin/vadduser -c $realname -q 3 \"$emailfull\" \"$password\"")

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "всем спасибо за участие"
Сообщение от ajiko emailИскать по авторуВ закладки on 08-Май-03, 11:12  (MSK)
да я как раз перед сном и догадался что нужно было просто этот символ экранировать Ж)
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру