The OpenNET Project / Index page

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

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

"Надоело мне руками добавлять юзверей в домен и написал я скр..."
Сообщение от Makc2K Искать по авторуВ закладки(??) on 04-Ноя-04, 15:56  (MSK)
Скрипт очень простой (кроме рег. выр.) и расчитан на новичков. Суть работы проста. Делаем текстовый файл, где 1 колонка "имя пользователя/машины", 2 "uid", 3 "gid". У машин не создается кат. пользователя и ни у кого не создается shell. Пароли тоже не определяются. Я его не запускал на исполнение так как сейчас нет машины с самбой. Но все строки команд проверил echo-м.

Это скрипт:
#*********************************
if [ $# -ge 1 ]
    then
cat $1|while read name uid gid; do
        #С помоъю регулярного выр. определяем тип записи
        #пользовательская или машинная
        perem=`expr $name : '.*\$$'`
        if [ $perem -ge 1 ]
then
             echo "Добавляю машинную запись"
pw useradd -n $name -u $uid -d /nonexisten -g $gid -s/sbin/nologin
smbpasswd -a -m -N $name
else
        echo "Добавляю пользовательскую запись"
pw useradd -n $name -u $uid -d /home/$name -g $gid -s/sbin/nologin
smbpasswd -a -N $name
        fi
        smbpasswd -e $name
done
        exit 0
    else
    echo "Для работы нужен параметр имя файла"
    exit 1
fi
#*********************************
Это файл с пользователями:
#*********************************
gnom$ 2001 1010
guest 1004 1008
hrom$ 2002 1010
#*********************************

Будьте внимательны в файле с пользователями не должно быть "лишних" строк и в конце файла должен стоять символ окончания строки иначе эта запись не добавится.
Вот!

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

 Оглавление

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

1. "Надоело мне руками добавлять юзверей в домен и написал я скр..."
Сообщение от Дмитрий Ю. Карпов Искать по авторуВ закладки on 04-Ноя-04, 19:42  (MSK)
1) Для борьбы с лишними строками, пустыми или содержащими только комментарий) нужно вместо `cat $1' использовать 'grep . $1' или 'grep -v "^$" $1' (что по сути одно и то же).

2) Вместо 'if', запускающего процесс, лучше использовать 'case', как это сделано во FreeBSD в файлах "/etc/rc*".

3) 'smbpasswd' умеет сам добавлять юзеров в систему, если ему прописАть параметр "скрипт добавления юзера" (не помню, как это по английски - см.'man smb.conf'); т.е. можно обойтись без 'pw ...' (хотя это спорно).

4) При наличии пароля в файле с пользователями этот пароль должен передаваться в 'smbpasswd' для задания его юзеру; есть вариант, что этот же пароль должен задаваться и в системе (для POP3-почты и т.п.). Для этого есть "скрипт установки пароля".

5) Хорошо бы не задавать каждому юзеру UID и GID, а указать один раз константу или диапазон.

6) 'echo "Для работы нужен параметр имя файла"' неправильно: скрипт должен брать данные из stdin, как это делают cat, grep, sed и прочие программы.

PS: Да не примут это за наезд на автора, но за руководству к действию по улучшению скрипта, ибо нет предела совершенству...

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

2. "Надоело мне руками добавлять юзверей в домен и написал я скр..."
Сообщение от Makc2K Искать по авторуВ закладки(??) on 04-Ноя-04, 21:36  (MSK)
Принято. Кроме того сейчас уже и баги обнаружил. Вместо -N в smbpasswd надо делать -n. Буду пытаться улучшить.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




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

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