LINUX.ORG.RU
ФорумAdmin

Ввести 1000 ползователей из текстового файла продолжение


0

0

Вобщем фармулирую вопрос Ввести 1000 пользователей из текстового файла с одинаковым паролем чтобы они могли получать и отправлять почту.

cat user.txt | xargs -n1 adduser этот скрипт сработал, юзеров добавил, но без пароля почту нельзя забрать. Потом запускаю следующий скрипт

где ххх это пароль для всех

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

^M - т.е через ввод

anonymous

изменить на:

for i in `cat user.txt`; do echo xxx | echo passwd --stdin $i; done

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

P.S. Этот вариант вопроса лучше первоначального. По крайней мере, что-то можно понять.

anonymous
()
Ответ на: комментарий от anonymous

for i in `cat user.txt`; do echo xxx | echo passwd --stdin $i; done

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

P.S. Этот вариант вопроса лучше первоначального. По крайней мере, что-то можно понять.

Даю ответ не помогло вывело строчку passwd --stdin cat user.txt И все изменений ни каких

anonymous
()

в строчке

for i in `cat user.txt`; do echo xxx | echo passwd --stdin $i; done

вокруг cat должны стоять обратные кавычки. А такой вывод как ты пишешь будет при такой строчке

for i in 'cat user.txt'; do echo xxx | echo passwd --stdin $i; done

т.Е. где кавычки прямые

Проверь кавычки - это самая вероятная ошибка

anonymous
()

P.S. на "не помогло" - и не должно было помочь. Это чисто диагностическая команда. Для реального изменения пароля надо будет потом повторно дать команду

for i in `cat user.txt`; do echo xxx | passwd --stdin $i; done

...когда с ошибкой разберешься

anonymous
()
Ответ на: комментарий от anonymous

for i in `cat user.txt`; do echo xxx | passwd --stdin $i; done Болшое спасибо в кавычках было дело и вот в чем В текстовом файле нужно было убрать скрытый символ ^M и все заработало

anonymous
()

Приятно слышать, что ты, наконец, решил свою проблему. Два дружеских совета на будущее:
1) старайся объяснять проблему как можно подробнее. Учти - не все те, кто задает здесь вопросы реально нуждаются в помощи. Некоторые просто прикалываются от скуки
2) В плюс тебе можно записать то, что ты не обращаешь внимания на посты с оскорблениями. Это производит хорошее впечатление на тех, кто реально готов помочь. Ну, и лишний раз доказывает, что ты не прикалываешься

anonymous
()

Все всем спасибо тема закрыта вот правильный скрипт 1)cat user.txt | xargs -n1 adduser

2)for i in `cat user.txt`; do echo xxx |passwd --stdin $i; done

anonymous
()

мда, неделю проблему решали, три или четыре ветки завели... :)

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