Есть машина с Debian (как я понял 7.0), хотелось бы мне чтобы из файлика создалось много много пользователей,
Файлик примерно такой:
Код: Выделить всё
user1;pass;Ivanov I.I.
user2:pass;Petrov A.A.
Модератор: weec
Код: Выделить всё
user1;pass;Ivanov I.I.
user2:pass;Petrov A.A.
Гугл, shell сценарии.ice-study писал(а):Есть машина с Debian (как я понял 7.0), хотелось бы мне чтобы из файлика создалось много много пользователей,
Файлик примерно такой:
Где почитать про то как это сделатьКод: Выделить всё
user1;pass;Ivanov I.I. user2:pass;Petrov A.A.
Код: Выделить всё
#!/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
Эмм, Вы имеете ввиду опцию -p ?ice-study писал(а):Пароли передаются шифрованные через crypt, который даже вызвать из командной строки нельзя, я правильно понял?
Код: Выделить всё
#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login $i
done
Код: Выделить всё
#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser --disabled-login -c $i $i
done
А что, в этом Вашем фрибиисди постыдно вести разговоры о добавлении пользователей?BlitzKrieg писал(а):А почему человек вопросы про дебиан задает в ветке про FreeBSD?
Чего-чего? Какой запрос на ввод вручную? Если ты логин указал, то ничего adduser не запрашивает.ice-study писал(а):Все равно запрос на ввод вручную. Походу придется разбираться в настройках adduser и делать useradd с нужными параметрами, что мне не хотелось быКод: Выделить всё
#!/bin/sh for i in `more userlist.txt ` do echo $i adduser --disabled-login -c $i $i done
Код: Выделить всё
man pw
Благодарю за модерацию. Простите что ошибся разделом. pw у меня нет.Alex Keda писал(а):и тема уезжает в соответствующий разделКод: Выделить всё
man pw
добавил echo:FiL писал(а):Чего-чего? Какой запрос на ввод вручную? Если ты логин указал, то ничего adduser не запрашивает.ice-study писал(а):Все равно запрос на ввод вручную. Походу придется разбираться в настройках adduser и делать useradd с нужными параметрами, что мне не хотелось быКод: Выделить всё
#!/bin/sh for i in `more userlist.txt ` do echo $i adduser --disabled-login -c $i $i done
Ты замени в скрипте adduser.... на echo adduser... чтоб видеть что там исполняется. Ну и нам покажи, если сам не поймешь что не так.
P.S. adduser и useradd - это одна утилита.
Код: Выделить всё
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. Завершение работы.
у меня не работает. значит нужно пароль сразу шифровать. а как это делать я еще не понял, мб сталкивался кто?passwd --stdin
Код: Выделить всё
#!/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
Код: Выделить всё
#!/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
Код: Выделить всё
#!/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
Скорее всего из-за наличия пробелов в комментариях.ice-study писал(а):Не работает, я так и не понял почему. Я пробовал похожее решение. useradd не принимает почему - то.