URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8557
[ Назад ]

Исходное сообщение
"обработка файла с разделителями"

Отправлено Анатолий , 15-Дек-09 18:47 
Есть файл, в котором n-ое количество строк вида логин:пароль:группа. Нужен скрипт, который б создавал группу пользователей и в нее потом добавлял пользователя с соответствующим паролем. Группа, логин и пароль берутся из файла есесно.

Содержание

Сообщения в этом обсуждении
"обработка файла с разделителями"
Отправлено Michael , 15-Дек-09 18:52 
>Есть файл, в котором n-ое количество строк вида логин:пароль:группа. Нужен скрипт, который
>б создавал группу пользователей и в нее потом добавлял пользователя с
>соответствующим паролем. Группа, логин и пароль берутся из файла есесно.

вам кинуть ссылку на учебник по программированию в shell?


"обработка файла с разделителями"
Отправлено Анатолий , 15-Дек-09 18:53 
>>Есть файл, в котором n-ое количество строк вида логин:пароль:группа. Нужен скрипт, который
>>б создавал группу пользователей и в нее потом добавлял пользователя с
>>соответствующим паролем. Группа, логин и пароль берутся из файла есесно.
>
>вам кинуть ссылку на учебник по программированию в shell?

Если хороший(доступный для начинающего) то да. На данный момент использую http://www.opennet.me/docs/RUS/bash_scripting_guide/index.html


"обработка файла с разделителями"
Отправлено Michael , 15-Дек-09 19:19 

>Если хороший(доступный для начинающего) то да. На данный момент использую http://www.opennet.me/docs/RUS/bash_scripting_guide/index.html

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


"обработка файла с разделителями"
Отправлено Slavaz , 15-Дек-09 19:06 
> Есть файл, в котором n-ое количество строк вида логин:пароль:группа.
> Нужен скрипт, который  б создавал группу пользователей и в нее потом добавлял
> пользователя с соответствующим паролем. Группа, логин и пароль берутся из файла есесно.

IFS=":"; cat /path/to/file | while read lgn psswd grp; do echo $lgn $psswd $grp; done

Дальше сам? (man useradd?)


"обработка файла с разделителями"
Отправлено Michael , 15-Дек-09 19:18 

>Дальше сам? (man useradd?)

лучше man pw


"обработка файла с разделителями"
Отправлено Slavaz , 15-Дек-09 19:23 
>>Дальше сам? (man useradd?)
>лучше man pw

Кстати, да. Операционка не была указана.


"обработка файла с разделителями"
Отправлено Анатолий , 15-Дек-09 20:14 
>> Есть файл, в котором n-ое количество строк вида логин:пароль:группа.
>> Нужен скрипт, который  б создавал группу пользователей и в нее потом добавлял
>> пользователя с соответствующим паролем. Группа, логин и пароль берутся из файла есесно.
>
>IFS=":"; cat /path/to/file | while read lgn psswd grp; do echo $lgn
>$psswd $grp; done
>
>Дальше сам? (man useradd?)

Обрабатывает построчно? То бишь получится или нет вариант:
IFS=":"; cat /path/to/file | while read lgn psswd grp; do userradd -g $grp -p $psswd $lgn; done


"обработка файла с разделителями"
Отправлено jd , 15-Дек-09 22:41 
>Обрабатывает построчно? То бишь получится или нет вариант:
>IFS=":"; cat /path/to/file | while read lgn psswd grp; do userradd -g
>$grp -p $psswd $lgn; done

Зачем задавать такие вопросы? Не легче-ли просто попробовать? Если беспокоитесь, что что-то пойдёт не так, добавьте echo перед useradd (это общий совет на будущее) и выполните не от root'а. А если на любой чих спрашивать "можно так сделать?", ничему не научитесь.


"обработка файла с разделителями"
Отправлено Анатолий , 16-Дек-09 07:30 
>>Обрабатывает построчно? То бишь получится или нет вариант:
>>IFS=":"; cat /path/to/file | while read lgn psswd grp; do userradd -g
>>$grp -p $psswd $lgn; done
>
>Зачем задавать такие вопросы? Не легче-ли просто попробовать? Если беспокоитесь, что что-то
>пойдёт не так, добавьте echo перед useradd (это общий совет на
>будущее) и выполните не от root'а. А если на любой чих
>спрашивать "можно так сделать?", ничему не научитесь.

Если выполнять не от root, то команда useradd не воспринимается


"обработка файла с разделителями"
Отправлено Slavaz , 16-Дек-09 10:10 
>Если выполнять не от root, то команда useradd не воспринимается

В chroot поднять минимальное тестовое окружение. Плюсы:
* можно сделать бэкап исходного состояния (если что-то не так всегда можно "откатиться")
* основная система "чиста" на период отладки


"обработка файла с разделителями"
Отправлено jd , 16-Дек-09 12:49 
>> добавьте echo перед useradd ...
>> и выполните не от root'а.
>
>Если выполнять не от root, то команда useradd не воспринимается

Зато echo выполняется прекрасно, читайте внимательнее.


"обработка файла с разделителями"
Отправлено Анатолий , 16-Дек-09 18:09 
>> Есть файл, в котором n-ое количество строк вида логин:пароль:группа.
>> Нужен скрипт, который  б создавал группу пользователей и в нее потом добавлял
>> пользователя с соответствующим паролем. Группа, логин и пароль берутся из файла есесно.
>
>IFS=":"; cat /path/to/file | while read lgn psswd grp; do echo $lgn
>$psswd $grp; done
>
>Дальше сам? (man useradd?)

Большое спасибо за помощь, все теперь работает как надо :)