PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : shellscript useradden



Braese
17-10-2003, 20:19
hallo, ich wurde hier auf dieses forum verwiesen, vielleicht könnt ihr mir helfen.
ich bräuchte ein script für useradden und zwar mit abfrage ob shell oder webuser, erweitern denk ich ist kein problem

sollte also beinhalten:

name eingeben
passwort eingeben
passwort eventuell bestätigen
abfrage ob user ein webaccount bekommen soll
bei ja:
/home/username/www/ anlegen und chown username, chgrp ftpgruppe
den user auf /etc/noshell setzen
dann eventuell noch, abfrage ob der user ne mysql db braucht, falls mit y bestätigt, nach mysql einloggen falls möglich , also per mysql -u root -p und dann ein
GRANT ALL ON db_username.* TO 'username'@'localhost' IDENTIFIED BY 'passwort';
ausführen, anschliessend einen quitbefehl abschicken und cp /usr/local/src/sqladmin/ nach /home/username/www/sqladmin kopieren

falls kein webuser, den user auf /bin/bash setzen oder so, vielleicht hat so einer auch was fertiges, hab schon gesucht aber nix gefunden, da ich nicht viel ahnung habe von shell scripts, wäre es superklasse wenn einer helfen kann, danke

peschmae
17-10-2003, 20:45
also scripts für jemanden schreiben die meisten hier nicht ;)

Eher Hilfe zur Selbsthilfe oder bei konkreten Fragen...

Ich würde mal den Advanced Scripting Guide anschauen. Zusammen mit dem Programm "dialog" dürfte sich das schon was machen lassen.
Ist gar nicht so schwer. Eigentlich nur n paar Programmaufrufbefehle zusammenhängen...

MfG Peschmä

buffer_7
19-10-2003, 10:37
Mahlzeit,

dachtest Du da an ein Kommandozeilendingens, oder tatsächlich was mit dialog und so?
Wenn Graphik, unter X oder Kommandozeile? Solls nur bei Dir laufen, oder andere Rechner auch?
Wenn Du schreibst, daß erweitern kein Problem sein dürfte, wo hängt dann das selberschreiben ?

Ihr und Euer

buffer_7

Braese
19-10-2003, 23:55
kommandozeile jap, würde nur auf meinem laufen
naja erweitern, ich verstehe code ja, werde mir auch das beispiel ankucken, ich verstehe ihn halt wenn ich es als funkitonierendes beispiel habe ;)

danke schonmal für die antworten

Warlord
20-01-2004, 14:38
Hallo allerseits,

versuche mich auch ab heute in Shell oder Bash.
Und ich will auch useradd machen.

Nur mit dem Passwort das scheint nicht zu funktionieren.

Soweit bin ich schon:

###
##
#
cd /home/torsten/temp/
mkdir $1
mkdir $1/cgi-bin
mkdir $1/statistik

useradd -d /home/torsten/temp/$1 -s /bin/false -p $2 F$1
chown F$1:users $1
chown F$1:users $1/cgi-bin


Verzeichnisse werden angelegt und Rechte werden vergeben. In der passwd
steht auch alles richtig drin. Nur per FTP kann ich mich trotzdem nicht einloggen.

Gebe dann folgendes ein:
./anlegen domain passwort

Ich befürchte das ich nicht einfach das Passwort da als Parameter übergeben kann.
Ist das so?


MfG Torsten

xstevex22
25-01-2004, 12:57
Hi!
> Ich befürchte das ich nicht einfach das Passwort da als Parameter übergeben kann.
> Ist das so?

Yep, ist so. Du mußt direkt ein verschlüsseltes Passwort übergeben:

useradd -p `perl -e 'print crypt("meinpasswort","A4")."\n"'` meinuser

Den Salt (hier A4) kann man frei wählen bzw. kann aus zwei Zufallszeichen bestehen.

Warlord
26-01-2004, 09:00
Guten Morgen,

und vielen Dank für den Tip.

>useradd -p `perl -e 'print crypt("meinpasswort","A4")."\n"'` meinuser


Habe es bereits so ähnlich gelöst.

dialog --clear --title "Neuen Account anlegen" \
--inputbox "Benutzername:" 5 50 \
2>/tmp/tmp1.$$

dialog --clear --title "Neuen Account anlegen" \
--inputbox "Passwort:" 5 50 \
2>/tmp/tmp2.$$

dialog --clear --title "Neuen Account anlegen" \
--inputbox "Domain:" 5 50 \
2>/tmp/tmp3.$$

user=`cat /tmp/tmp1.$$`
pass=`cat /tmp/tmp2.$$`
cpass=`./crypt $pass $$`
domain=`cat /tmp/tmp3.$$`

rm /tmp/tmp1.$$
rm /tmp/tmp2.$$
rm /tmp/tmp3.$$


dialog --msgbox \
"Erzeuge DocumentRoot" 6 52

cd /var/www/
mkdir $user
mkdir $user/cgi-bin
mkdir $user/statistik


dialog --msgbox \
"Erzeuge FTP Zugang" 6 52

useradd -d /var/www/$user -s /bin/false -p $cpass F$user

und dann gehts weiter.

Sag mal bitte Deine Meinung dazu.

MfG Torsten