The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите создать скрипт создания учётных записей"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Помогите создать скрипт создания учётных записей"  +/
Сообщение от ck80 (ok) on 25-Ноя-11, 06:41 
Имеется связка Postfix+Cyrus. Хотелось бы автоматизировать процесс заведения почтовых учётных записей пользователей, а то приходится ручками тратить много времени.

В postfix заведены  два алиаса:
vsem_sotrudnikam - рассылка почты по всем сотрудника компании
sotrudnikam_v_office - рассылка только по центральному офису

И общая адресная книга squirrelmail:
/var/lib/squirrelmail/data/global_addrbk

Вот это всё хотелось бы собрать в одну команду, но со скриптами с детства не дружу, поэтому даже и не знаю с чего начать :) Но почему-то догадываюсь, что это примитивно.


Как должно выглядеть:
Запускает наш скрипт /etc/postfix/new_user
-----------------------------------------------------------------------
Введите Фамилию и Имя сотрудника: Иванов Иван
Должность: Мастер
Желаемые адрес почты: ivanov
Введите пароль: 123
Проверка пароля: 123
Сотрудник офиса? да/нет
Номер телефона (123)456-78-90

Всё верно? да/нет
---------------------------------


Как должно работать:
После подтверждения введённых данных
1) На сервере заводится новая учетная запись saslpasswd -c ivanov, с указанным паролем.
2) В cyrus создается новая учетная запись
     cm user.ivanov
     cm user.ivanov.INBOX
     cm user.ivanov.Draft
     cm.user.ivanov.Sent
     cm user.ivanov.Trash
3) В конец файла /etc/postfix/vsem_sotrudnikam добавляется запись вида: ivanov@example.com
4) При положительном ответе на вопрос "Сотрудник офиса?" в конец файла /etc/postfix/sotrudnikam_v_office, добавляется строка вида: ivanov@example.com
5) В конец файла адресной книги /var/lib/squirrelmail/data/global_addrbk добавляется строка вида: Иванов|Иван|Мастер|ivanov@example.com|(123)456-78-90

Прошу не счесть за труд, а подтолкнуть в нужную сторону.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от LSTemp (ok) on 26-Ноя-11, 08:56 
Уточни:

откуда скрипт запускаем? из шела или из веб-морды например?

если с шела, то давай 'uname -a', если веб - давай настройки и планы.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от pavlinux (ok) on 27-Ноя-11, 18:09 
> Уточни:
> откуда скрипт запускаем? из шела или из веб-морды например?
> если с шела, то давай 'uname -a', если веб - давай настройки
> и планы.

Цену пиши, цену, а то разбаловали мы их тут :)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от ck80 (ok) on 28-Ноя-11, 12:19 
>> Уточни:
>> откуда скрипт запускаем? из шела или из веб-морды например?
>> если с шела, то давай 'uname -a', если веб - давай настройки
>> и планы.
> Цену пиши, цену, а то разбаловали мы их тут :)

:) Я и не прошу полностью готовый скрипт, тем более понимаю, что сразу готовый не получится. Прошу лишь научить и подтолкнуть в нужную сторону. С чего начать.

Скрипт запускать из шела планирую.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от ck80 (ok) on 28-Ноя-11, 13:26 
>>> Уточни:
>>> откуда скрипт запускаем? из шела или из веб-морды например?
>>> если с шела, то давай 'uname -a', если веб - давай настройки
>>> и планы.
>> Цену пиши, цену, а то разбаловали мы их тут :)
> :) Я и не прошу полностью готовый скрипт, тем более понимаю, что
> сразу готовый не получится. Прошу лишь научить и подтолкнуть в нужную
> сторону. С чего начать.
> Скрипт запускать из шела планирую.

Забыл uname -a:

Linux 2.6.26-1-amd64 #1 SMP Fri Mar 13 17:46:45 UTC 2009 x86_64 GNU/Linux


Debian Linux 5.0

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от pavlinux (ok) on 28-Ноя-11, 13:50 
> С чего начать.

Записываешь в файлик то, что делаешь руками;
Дописываешь на первой строке #!/bin/sh ;
По настроению суёшь переменные $1 $2 $3 ... $99;
повторы превращаешь в константы, типа MAILDOMAIN="@mysqrver.ru" ;
и... вау, скрипт есть... :)  

Пускаешь

./create_mail 'Иванов Иван' Мастер ivanov 123 123 no '(123)456-78-90'


2-ой этап

1. Делашь проверку на не пустоту аргументов

if [ $* -lt 7 ] # как-то так...
   then
        echo "Achтунг, малобукав..."
        exit 119;
fi

2. привязываешь $1 $2 $3 ... к нормальным именам переменных

3-й этап

Вставляешь проверку всех внешних зависимых объектов, утилиты, файлы, процессы, права...

4-й этап

Впиндюриваешь проверку типов данных, чтоб юзер случайно не стал "Иванов 666", а телефон "(001)Паз-ва-ни"  

5-й этап

Впиндюриваешь флаги и парсер .... что быть крутым и уметь пускаться в режиме UNIX-way

./create_mail -u 'Иванов Иван' -p Мастер -l ivanov -w 123 -l no -h '(123)456-78-90'

дописываешь длинные опции

./create_mail --username 'Иванов Иван' --position Мастер --login ivanov  --password 123 --inplace no --phone '(123)456-78-90'


6-й этап (паронаидальный)

  Впнидюриваешь функцию прямой записи в SQL

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Помогите создать скрипт создания учётных записей"  +/
Сообщение от ck80 (ok) on 29-Ноя-11, 13:17 
>> С чего начать.
> 6-й этап (паронаидальный)
>   Впнидюриваешь функцию прямой записи в SQL

Огромное спасибо за подробный ответ. Стало немного яснее. Попробую создать свой первый скрипт :)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

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




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

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