Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 13:36:21
есть вот такой скрипт вопрос почему он выводит 6 паролей ???
hammer68
-
Хостинг HostFood.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/
-
Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-11-19 15:15:14
прям такой?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 15:23:41
ну такой просто если и переменную сделать типа
то все равно 6 паролей выводит как я понимаю за 1 цикл он почемуто 6 раз дает пароль почему не пойму
hammer68
-
Alex Keda
- стреляли...
- Сообщения: 35439
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-11-19 15:28:17
Код: Выделить всё
lissyara$ cat test.1.sh
#!/bin/sh
for i in 1
do
echo apg
done
lissyara$
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 15:36:46
lissyara писал(а):Код: Выделить всё
lissyara$ cat test.1.sh
#!/bin/sh
for i in 1
do
echo apg
done
lissyara$
а что это вывод *apg* на экран
а мне надо чтобы генерировались пароли и выводились на экран типа этого
Код: Выделить всё
#!/bin/sh
for i in `cat users.txt`
do
#echo "$i"
#echo "/home/$i"
useradd $i
j=`apg`
$j>>passwd.txt
done
но проблема вся в том что почемуто пароли генерируется некоторое заданное в users.txt количество раз партиями по 6 штук почему я не понимаю
а мне тупо надо чтобы для каждого нового пользователя был сгенерен пароль (1 пароль)
hammer68
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-11-19 17:10:37
Код: Выделить всё
# apg -h
apg Automated Password Generator
Copyright (c) Adel I. Mirzazhanov
apg [-a algorithm] [-r file]
[-M mode] [-E char_string] [-n num_of_pass] [-m min_pass_len]
[-x max_pass_len] [-c cl_seed] [-d] [-s] [-h] [-y] [-q]
-M mode new style password modes
-E char_string exclude characters from password generation process
-r file apply dictionary check against file
-b filter_file apply bloom filter check against filter_file
(filter_file should be created with apgbfm(1) utility)
-p substr_len paranoid modifier for bloom filter check
-k apply cracklib ckeck
-a algorithm choose algorithm
1 - random password generation according to
password modes
0 - pronounceable password generation
-n num_of_pass generate num_of_pass passwords
-m min_pass_len minimum password length
-x max_pass_len maximum password length
-s ask user for a random seed for password
generation
-c cl_seed use cl_seed as a random seed for password
-d do NOT use any delimiters between generated passwords
-l spell generated password
-t print pronunciation for generated pronounceable password
-y print crypted passwords
-q quiet mode (do not print warnings)
-h print this help screen
-v print version information
eugene .ssh # apg -n 1
noucGarpav
eugene .ssh # apg -n 2
mefMuvWu
Shetfophy
eugene .ssh # apg -n 6
glukdedvi
BochevLu
kloHedwa
libUshab
NeOvKodli
Kelmyiem
думаю ясно

ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 17:13:51
пнятно мля надо маны читать

hammer68
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 18:03:40
собственно надо было вот что
Код: Выделить всё
#!/bin/sh
rm -rf passwd.txt
rm -rf newuser.txt
for i in `cat useradd.txt`
do
#echo "$i"
#echo "/home/$i"
useradd $i
j=`apg -n 1`
echo $j
echo $j # >>passwd.txt
echo $i
passwd $i --stdin<$j
echo $i>>newuser.txt
echo $j>>newuser.txt
done
тока опять чето не работает грит вот что
Код: Выделить всё
useradd: user 54321 exists
tofnifDo
tofnifDo
54321
useradd.sh: line 13: tofnifDo: No such file or directory
пароль чето он не присваивает может че с переменными намудрил не знаю
hammer68
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-11-19 18:08:41
проверяю sh -x script.sh
а че низзя просто
вместо
?
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-11-19 18:09:52
а , не, так не пойдет. перевод строки нуно
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-11-19 18:15:35
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-19 19:15:39
конечно мало что там понял но мне вот че интересно почему ж мой скрипт не пашет веть если самому из консоли делать то нормально пароли присваивает а скриптом не хочет
hammer68
-
hammer68
- мл. сержант
- Сообщения: 107
- Зарегистрирован: 2007-10-25 16:52:17
- Откуда: tambov это в России
-
Контактная информация:
Непрочитанное сообщение
hammer68 » 2007-11-22 14:27:26
вот наконецто сделал
выкладываю рабочий вариант скрипта
Код: Выделить всё
#!/bin/sh
#rm -rf passwd.txt
rm -rf newuser.txt
a=0
for i in `cat useradd.txt`
do
#echo "$i"
#echo "/home/$i"
useradd $i
j=`apg -n 1`
echo $j
echo $j # >>passwd.txt
a=$(expr $a + 1)
echo $j>>tmp$a.txt
passwd $i --stdin <tmp$a.txt
rm -rf tmp$a.txt
echo $i>>newuser.txt
echo $j>>newuser.txt
done
cd /var/yp/
make
cd /root/
hammer68