Longobard
написал 7 января 2005 года в 15:42 (1696 просмотров)
Ведет себя
как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.
как задать юзеру пасс из bash скрипта? А то не нашел опции такой для passwd чтобы он брал пасс из аргумента командной строки.
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark
24/7 SRE & DevOps service to cover all your Kubernetes needs.

эт ж явное нарушение =/
агась, но что делать ;)
можно как-то через STDIN, но у меня что-то не выходит.. ;(
бля.
А через useradd -p ак сделать? В мане написано надо бы его сразу закодить в хэш, а уже хэш сувать в качестве арга. какой командой хыш то сделать?
хех интересная проблема
http://aa11.cjb.net/sun_managers/1998/11/msg00430.html
Короче вот мой скрыптик:
#!/bin/bash ## скрипт для добавления пользователя на хостинг ## 1) создаем хоумдиру и $home/cgi-bin и $home/htdocs ## 2) открываем ему либо шелл либо виртуальный фтп-доступ ## 3) создаем базу и юзера ## 4) копируем в $home/htdocs диру phpmyadmin. ## 5) закрываем ее .haccess-ом и прописываем пассы и люгин ## 6) дописываем vhost в конфиг апача ## арги: имя, пасс, имя базы, имя хоста http_home="/home/http/" if [ $# != "6" ] then echo "Usage: add-host-user.sh " exit 1 fi username="$1" userpass="$2" dbname="$3" hostname="$4" shellstat="$5" charset="$6" user_rootdir="$http_home/$hostname" rootsqlpass="*****" phpmyadmindir="/home/http/tmp/phpmyadmin" apache_vhost_conf_path="/etc/apache2/conf/vhosts/vhosts.conf" ## 1) создаем хоумдиру и $home/cgi-bin и $home/htdocs echo "Creating user homedir in $user_rootdir" mkdir $user_rootdir mkdir $user_rootdir/cgi-bin mkdir $user_rootdir/htdocs chown -R apache $user_rootdir chmod -R 777 $user_rootdir ## 2) открываем ему либо шелл либо виртуальный фтп-доступ if [ $shellstat = "shellon" ] then echo "Creating shell for user $username" useradd $username -d $user_rootdir hash=`/sbin/my_crypt $userpass AA` echo "hash = $hash" query="s/$username"':!'"/$username:$hash/" echo "query= $query" sed -e $query /etc/shadow > /tmp/shadow_t cat /tmp/shadow_t > /etc/shadow rm /tmp/shadow_t else echo "Creating only virtual ftp account for user $username" echo -e "$userpass\n$userpass" | pure-pw useradd $username -u $RANDOM -g $RANDOM -d $user_rootdir pure-pw mkdb /etc/pureftpd.pdb fi ## 3) создаем базу и юзера if [ $dbname != "null" ] then echo "Creating db $dbname" mysqladmin --password=$rootsqlpass create $dbname echo "Creating db user $username" query_string="GRANT ALL PRIVILEGES ON $dbname.* TO $username@localhost IDENTIFIED BY '$userpass' WITH GRANT OPTION;" echo $query_string | mysql --password=$rootsqlpass fi ## 4) копируем в $home/htdocs диру phpmyadmin и прописываем там пасс и логин echo "Installing phpmyadmin to $user_rootdir/htdocs" cp -R $phpmyadmindir $user_rootdir/htdocs cd $user_rootdir/htdocs/phpmyadmin sed -e "s/here_user/$username/" -e "s/here_password/$userpass/" config.inc.php > /tmp/add.tmp cat /tmp/add.tmp > config.inc.php rm -f /tmp/add.tmp ## 5) закрываем ее .haccess-ом и прописываем пассы и люгин echo 'Securing phpmyadmin dir by .htaccess' htpasswd2 -bc $user_rootdir/.htpasswd $username $userpass echo -e "AuthType Basic\nAuthName "X-Files"\nAuthUserFile $user_rootdir/.htpasswd\nRequire user $username" > $user_rootdir/htdocs/phpmyadmin/.htaccess ## 6) дописываем vhost в конфиг апача echo "Editing $apache_vhost_conf_path" echo -e " \n ServerName $hostname.local \n ServerPath $user_rootdir \n ScriptAlias /cgi-bin / \n DocumentRoot $user_rootdir/htdocs \n AddDefaultCharset $charset\n </VirtualHost>" >> $apache_vhost_conf_path chown -R apache $user_rootdir chmod -R 777 $user_rootdirА то я заипался это все руками делать :) На хостинге уже 7 сайтов.
грустно нах :(
есть 2 варианта:
1) патчить passwd и делать как хочу
2) генерить отдельной прогой хэш
Я думаю лучше 2 вариант
ыххх пля, тупо…. Ладно, буду делать… Секурити, итить ее налево :(
Дмитриус, спасибо за линк!!!
По поводу хеша. По-умолчанию его делает crypt, который есть ссылка на то, что используется в системе на самом деле.
echo password > passwd user
и всё, в сигвине пашет