LINUX.ORG.RU

Re: Ввести 1000 ползователей из текстового файла

Непонятен вопрос: каков формат текстового файла?
Если такм ТОЛЬКО имена пользователей, которых надо добавить, то достаточно простейшей командной строки:
cat file | xargs -n1 adduser
то же с циклом:
for i in `cat file`; do adduser $1; done
(первый вариант лучше)
если имя пользователя это первое поле в файле с пробелами в качестве разделителя:
cat file | cut -f1 -d' '|xargs -n1 adduser
и так далее...

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

а какой же, интересно, там пароль после adduser?

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

елки-палки! когда же люди научатся правильно формулировать вопросы??? Мне что, надо клещами информацию тянуть: "подскажите, пожалуйста, чем ещё я могу помочь"?? "Если я Вас не совсем задолбал"???

Простейший вариант, всем пользователям устанавливается единый пароль "ххх".

for i in `cat file`; do echo xxx | passwd --stdin $i; done

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

2) file состоит из пар "user password". каждая на отдельной строчке.

for i in `cat file|сut -f1 -d' '`; do echo `grep ^$i$ file | cut -f2 -d' '`| passwd --stdin $i; done

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

поправка, в предудущем варианте ошибочка for i in `cat file|сut -f1 -d' '`; do echo `grep "^$i " file | cut -f2 -d' '`| passwd --stdin $i; done

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

Всё. я сдаюсь. я не понимаю, чего человеку нужно и "не работает" для меня слишком неопределенное понятие. Я сильно подозреваю, что человек просто прикалывается и помогать в этом ему больше не намерен.

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

Можно вот так Желательно бы еще группу, но если не надо, то выкинуть GROUP #!/bin/bash NEW_USERS="users.txt" HOME_BASE="/home/" cat ${NEW_USERS} | \ while read USER PASSWORD GROUP do useradd -g ${GROUP} -p ${PASSWORD} -m -d ${HOME_BASE}${USER} ${USER} done

hbb ()

Re: Ввести 1000 ползователей из текстового файла

#!/bin/bash NEW_USERS="users.txt" HOME_BASE="/home/" cat ${NEW_USERS} | \ while read USER PASSWORD GROUP do useradd -g ${GROUP} -p ${PASSWORD} -m -d ${HOME_BASE}${USER} ${USER} done Этот скрипт не работает

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

А это не твой тред пятью выше (про пользователей без пароля)? Предлагаю такой вариант на perl:

#!/usr/bin/perl -w

while(<>){`adduser -p "" $_`;}

Имя текстового файла со списком пользователей указать в командной строке при вызове скрипта.

josephson ★★ ()

Re: Re: Ввести 1000 ползователей из текстового файла

И ни кто не прикалывается for i in `cat user.txt`; do echo xxx | passwd --stdin $i; done Этот скрипт не работает Выдает passwd: Only one user name may be specified Пример файла в текстовом режиме user.txt user1^M user2^M ..... vasya ....

anonymous ()

Re: Ввести 1000 ползователей из текстового файла

дебил дурака включает....

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.