Массовое создание пользователей в Debian

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-17 8:45:23

Великие гуру, подскажите пожалуйста:
Есть машина с Debian (как я понял 7.0), хотелось бы мне чтобы из файлика создалось много много пользователей,
Файлик примерно такой:

Код: Выделить всё

user1;pass;Ivanov I.I.
user2:pass;Petrov A.A.
Где почитать про то как это сделать

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Гость
проходил мимо

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение Гость » 2013-04-17 11:04:22

ice-study писал(а):Есть машина с Debian (как я понял 7.0), хотелось бы мне чтобы из файлика создалось много много пользователей,
Файлик примерно такой:

Код: Выделить всё

user1;pass;Ivanov I.I.
user2:pass;Petrov A.A.
Где почитать про то как это сделать
Гугл, shell сценарии.

Аватара пользователя
redhat
рядовой
Сообщения: 41
Зарегистрирован: 2010-01-04 9:45:34
Откуда: Киев

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение redhat » 2013-04-17 11:51:52

Очевидно же!

Код: Выделить всё

#!/bin/sh

for i in `cat users.txt`; 
do
useradd `echo $i | cut -f1 -d';'` -p `echo $i | cut -f2 -d';'` -c `echo $i | cut -f2 -d';'`
done

Ну и плюс немного фантазии и чтения man useradd

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение FiL » 2013-04-18 22:54:34

for i in `cat...` будет бить не по строкам, а по словам. Так что не сработает. Надо while read...
но это так, детали.

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-19 10:32:43

Пароли передаются шифрованные через crypt, который даже вызвать из командной строки нельзя, я правильно понял?

Аватара пользователя
redhat
рядовой
Сообщения: 41
Зарегистрирован: 2010-01-04 9:45:34
Откуда: Киев

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение redhat » 2013-04-19 13:47:13

ice-study писал(а):Пароли передаются шифрованные через crypt, который даже вызвать из командной строки нельзя, я правильно понял?
Эмм, Вы имеете ввиду опцию -p ?

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение FiL » 2013-04-20 3:23:33

пароль можно задавать через passwd --stdin

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-22 14:21:41

Спасибо за советы.
Сейчас попробовал через adduser,

Код: Выделить всё

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login $i
done
Но тут засада в том adduser требует ввести данные (фио, номер комнаты и т.д.), и судя по man'у их параметром не задашь.

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение FiL » 2013-04-23 0:21:24

-c и там одним текстовым полем. Через запятую.

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-23 8:07:13

Код: Выделить всё

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login -c $i $i
done
Все равно запрос на ввод вручную. Походу придется разбираться в настройках adduser и делать useradd с нужными параметрами, что мне не хотелось бы :(

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение BlitzKrieg » 2013-04-23 9:03:22

А почему человек вопросы про дебиан задает в ветке про FreeBSD?

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-23 10:02:04

Меня подкупило "для начинающих" подумал что хотя бы тут на мою тупость посмотрят сквозь пальцы :-)

Аватара пользователя
redhat
рядовой
Сообщения: 41
Зарегистрирован: 2010-01-04 9:45:34
Откуда: Киев

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение redhat » 2013-04-23 14:41:06

BlitzKrieg писал(а):А почему человек вопросы про дебиан задает в ветке про FreeBSD?
А что, в этом Вашем фрибиисди постыдно вести разговоры о добавлении пользователей?

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение FiL » 2013-04-23 23:18:15

ice-study писал(а):

Код: Выделить всё

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login -c $i $i
done
Все равно запрос на ввод вручную. Походу придется разбираться в настройках adduser и делать useradd с нужными параметрами, что мне не хотелось бы :(
Чего-чего? Какой запрос на ввод вручную? Если ты логин указал, то ничего adduser не запрашивает.

Ты замени в скрипте adduser.... на echo adduser... чтоб видеть что там исполняется. Ну и нам покажи, если сам не поймешь что не так.

P.S. adduser и useradd - это одна утилита.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35462
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение Alex Keda » 2013-04-23 23:59:21

и тема уезжает в соответствующий раздел
Убей их всех! Бог потом рассортирует...

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение BlitzKrieg » 2013-04-24 8:20:36

Вот вот, я по началу тоже челвоеку даже строку из своего скрипта с pw запостил, пока не увидел слово Дебиан.

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-24 9:33:41

Alex Keda писал(а): и тема уезжает в соответствующий раздел
Благодарю за модерацию. Простите что ошибся разделом. pw у меня нет.
FiL писал(а):
ice-study писал(а):

Код: Выделить всё

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login -c $i $i
done
Все равно запрос на ввод вручную. Походу придется разбираться в настройках adduser и делать useradd с нужными параметрами, что мне не хотелось бы :(
Чего-чего? Какой запрос на ввод вручную? Если ты логин указал, то ничего adduser не запрашивает.

Ты замени в скрипте adduser.... на echo adduser... чтоб видеть что там исполняется. Ну и нам покажи, если сам не поймешь что не так.

P.S. adduser и useradd - это одна утилита.
добавил echo:

Код: Выделить всё

metall:/home/tdy# ./test
fai
adduser --disabled-login -c fai fai
kff
adduser --disabled-login -c kff kff
tedy
adduser --disabled-login -c tedy tedy
Убрал

Код: Выделить всё

metall:/home/tdy# ./test
fai
adduser: «fai» не существует. Используются настройки по умолчанию.
Добавляется пользователь «fai» ...
Добавляется новая группа «fai» (1004) ...
Добавляется новый пользователь «fai» (2076) в группу «fai» ...
Создаётся домашний каталог «/home/fai» ...
Копирование файлов из «/etc/skel» ...
Изменение информации о пользователе fai
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
        Полное имя []: ^Cadduser: «/usr/bin/chfn fai» завершился по сигналу 2. Завершение работы.
Вручную если создаю пользователя:


metall:/home/tdy# adduser test
Добавляется пользователь «test» ...
Добавляется новый пользователь «test» (2077) в группу «users» ...
Создаётся домашний каталог «/home/test» ...
Копирование файлов из «/etc/skel» ...
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
Изменение информации о пользователе test
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
Полное имя []: 1
Номер комнаты []:
Рабочий телефон []: 1
Домашний телефон []:
Другое []:
Данная информация корректна? [Y/n]
metall:/home/tdy# userdel test
metall:/home/tdy#

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-24 11:29:37

Спасибо всем. Как создать пользователя и комментарий добавить я разобрался. Теперь бы с паролем понять.
passwd --stdin
у меня не работает. значит нужно пароль сразу шифровать. а как это делать я еще не понял, мб сталкивался кто?

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-24 16:20:56

Код: Выделить всё

#!/bin/sh
while read users; 
do
useradd `echo $i | cut -f1 -d';'` -p `$(perl -e 'print crypt("echo $i | cut -f2 -d';'", "aa")')` -c `echo $i | cut -f3 -d';'` -m -g 100 -N
done

Вот такой бред родил мой воспаленный мозг. Помогите к правильному виду привести пожалуйста

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-25 11:03:26

Я почему - то немогу редактировать свои посты. В общем в итоге сделал я так:

Код: Выделить всё

#!/bin/sh
cat users | while read line; 
do
useradd `echo $line | cut -f1 -d';'` -m -g 100 -N
uname=`echo $line | cut -f3 -d';'`
chfn `echo $line | cut -f1 -d';'` -f  "$uname"
done
cat userspass | chpasswd
ну правда еще один список придется делать user:password

Аватара пользователя
Graf
сержант
Сообщения: 205
Зарегистрирован: 2008-10-29 18:44:32
Контактная информация:

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение Graf » 2013-04-25 16:35:19

а почему не так?

Код: Выделить всё

#!/bin/sh
cat ./users.txt | while read line;
do
LOGIN=`echo $line | cut -f1 -d';' `
PASSWORD=`echo $line | cut -f2 -d';'`
FNAME=`echo $line | cut -f3 -d';' `

PASS=$(perl -e 'print crypt($ARGV[0], "\$1\$")' $PASSWORD)
useradd -p $PASS -d /home/$LOGIN -m -s /bin/bash -c $FNAME -g users $LOGIN
done
С кем поведешься - так тебе и надо!
http://slackware.su

ice-study
рядовой
Сообщения: 10
Зарегистрирован: 2013-04-17 8:07:51

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение ice-study » 2013-04-26 9:02:04

Не работает, я так и не понял почему. Я пробовал похожее решение. useradd не принимает почему - то.

Аватара пользователя
Graf
сержант
Сообщения: 205
Зарегистрирован: 2008-10-29 18:44:32
Контактная информация:

Re: Массовое создание пользователей в Debian

Непрочитанное сообщение Graf » 2013-04-26 10:47:52

ice-study писал(а):Не работает, я так и не понял почему. Я пробовал похожее решение. useradd не принимает почему - то.
Скорее всего из-за наличия пробелов в комментариях.
Поменяй их на "_" (подчеркивание).
С кем поведешься - так тебе и надо!
http://slackware.su