PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable mit text aus Datei befüllen



Tommy_20
25-09-2002, 12:09
Also ich möchte mir ein kleines script schreiben zum anlegen neuer user.

mit "makepasswd" lasse ich ein random-password generieren, welches ich dann per variable gleich für useradd verwenden möchte. genau da ist mein problem, da ich nicht weiss, wie ich die ausgabe von makepasswd als parameter für useradd bekomme :-(

so sieht das script derzeit aus:



#!/bin/sh


mkdir /home/$1
mkdir /home/$1/public_html
mkdir /home/$1/public_html/htdocs
mkdir /home/$1/public_html/cgi-bin
makepasswd > /text.txt
/text.txt = $2

useradd -d /home/$1 -s /bin/false -g xxxxx -p "$2" "$1"

chown -R $1:xxxxx /home/$1

tkortkamp
25-09-2002, 12:16
#!/bin/sh

mkdir /home/$1
mkdir /home/$1/public_html
mkdir /home/$1/public_html/htdocs
mkdir /home/$1/public_html/cgi-bin
PASS=`makepasswd`

useradd -d /home/$1 -s /bin/false -g xxxxx -p "$PASS" "$1"

chown -R $1:xxxxx /home/$1

Tommy_20
25-09-2002, 13:09
danke für die schnelle hilfe.

ein problem hab ich damit allerdings noch - das passwort steht nämlich unverschlüsselt in der shadow-datei :-(

direkt verschlüsselt erstellen soll er es mir nicht, denn sonst kann sich der user nur schwer anmelden ;)

fork
25-09-2002, 16:39
War die letzte Zeit öfters da:

http://www.mrunix.de/forums/showthread.php?s=&threadid=29803

Tommy_20
26-09-2002, 09:46
hab aufgrund der anderen posts nun schon ein fast fertiges script, nur bei sql hab ich ein problem mit der übernahme der variablen :-(



#!/bin/sh


mkdir /home/$1
mkdir /home/$1/public_html
mkdir /home/$1/public_html/htdocs
mkdir /home/$1/public_html/cgi-bin
mkdir /home/$1/public_html/htdocs/stats
mkdir /home/$1/public_html/htdocs/forum

PASS=`makepasswd`
echo "$PASS"
PASS2=`crypt "$PASS" 2x`
echo "$PASS2"
useradd -d /home/$1 -s /bin/false -g xxxxx -p "$PASS2" "$1"

chown -R $1:xxxxx /home/$1

mysqladmin -u root -p create $1

mysql -u root -p -e 'GRANT USAGE,SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON $1.* TO "$1"@"localhost" IDENTIFIED BY $PASS;'



Die Datenbank wird richtig erstellt, aber die Datenbank-Rechte sind dann für den User $1 :-(