need help for: mysql adduser smb skell auto

Post Reply
Message
Author
xerbsd

need help for: mysql adduser smb skell auto

#1 Post by xerbsd »

halli hallo...
ich bin grad dabei mir ein script zu erstellen...
welches wie "adduser"
einen (deb)std. linux-account erstellt
dazu einen samba... (wird u.a. nach dem rechner abgefragt..)
incl. mit einer eigenen website für den user..
die auch auf dem server liegt u. mit php, cgi versorgt wird....

ich hab nur probleme
einen mysql datenbank für diesen user automatisch anlegen zu lassen...
u. zwar so, dass der entsprechende user "SEINE DATENBANK" sehen u. bearbeiten kann
und "NUR SEINE"...

wäre nett wenn jemand evtl bereits ein bash scirpt hätte...

mfg

xerbsd

Re: need help for: mysql adduser smb skell auto

#2 Post by xerbsd »

jo-----
ich wieder...
-> hat sich erledigt, mir ist doch noch was eingefallen...




#!/bin/sh
echo -n "Bitte usernamen eingeben: "
read USERNAME
echo -n "Passwort für $USERNAME: "
read -ers MYPASSWD
echo "use mysql; INSERT INTO user VALUES(\"%\",\"$USERNAME\",password(\"$MYPASSWD\"),\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\");" | mysql

echo "use mysql; INSERT INTO db VALUES(\"%\",\"$USERNAME\",\"$USERNAME\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"N\",\"Y\",\"Y\",\"Y\");" | mysql
mkdir /var/lib/mysql/$USERNAME
chmod 770 /var/lib/mysql/$USERNAME
/etc/init.d/mysql reload

arno

Re: need help for: mysql adduser smb skell auto

#3 Post by arno »

hi

wäre nett wenn du das script ganz posten könntest.

danke
mfg
arno

xerbsd

Re: need help for: mysql adduser smb skell auto

#4 Post by xerbsd »

das, was ich oben gepostet habe läuft bereits...
muss nur für jeweiliges system angepasst werden.
mann kann schließlich nicht alle schritte berücksichtigen.
(der root weis was er tut)


ich arbeite gerade an einer kompletten fassung...

hab nur 1Std Täglich Zeit dafür...
leider nicht mehr...

wegen beruflichen gründen...

das script soll einen std unix account anlegen
incl. samba u. evtl mit RECHNER einbindung

mit unter die ganzen daten aus /etc/skel improtieren
und das ganze für den SAMBA als PDC

d.h. wenn sich ein benuter auf einer STD windows machine
am linux-server anmeldet
bekommt der automatisch
einen WEB account, mysql account, sein backup directory,
darf aufs public zugreifen(nur wenn an der domäne angemeldet)
usw...


evtl nächste woche.

arno

Re: need help for: mysql adduser smb skell auto

#5 Post by arno »

hi

habe auch etwas gebastelt.
und dabei ein kleines prob.
wie kann ich im script der shell passwörter übergeben.
so wie es jetzt ist fragt das script beim normalen linuxuser und smbuser nach dem
passwd da ich nicht weiss wie ich die variablen übergebe.

vielleicht hat ja jemand eine idee
danke im vorraus.
mfg
arno

#!/bin/sh
echo -n "Bitte usernamen eingeben: "
read USERNAME
echo -n "Passwort füERNAME: "
read -ers MYPASSWD

echo "linuxuser hinzufuegen"
useradd $USERNAME
passwd $USERNAME

echo -n "Bitte PDC Maschinenkonto eingeben:"
read MASCHINENKONTO
useradd -d /dev/null -g 100 -s /bin/false -M $MASCHINENKONTO

echo "smb user hinzufuegen"
smbpasswd -a $USERNAME

echo "standard netlogon anlegen"
cp /samba/export/netlogon/user.bat /samba/export/netlogon/$USERNAME.bat

echo "use mysql; INSERT INTO user VALUES(\"%\",\"$USERNAME\",password(\"$MYPASSWD\"),\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\");" | mysql

echo "use mysql; INSERT INTO db VALUES(\"%\",\"$USERNAME\",\"$USERNAME\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"N\",\"Y\",\"Y\",\"Y\");" | mysql
mkdir /var/lib/mysql/$USERNAME
chmod 770 /var/lib/mysql/$USERNAME
/etc/init.d/mysqld restart

xerbsd

Re: need help for: mysql adduser smb skell auto

#6 Post by xerbsd »

ich bin mir nicht sicher, aber ich denke mal dass es vom C - programm so nicht bedacht ist
d.h.
es würde ja dann auch gehen dass man passwörter direct in der console bzw am terminal eingeben kann
das password wird ja auch nochmal zur sicherheit abgefragt...

u. ich kann mir nicht vorstellen, dass man dieses dann übergeben kann

wenn du es aber unbedingt brauchst...
versuch mit htpasswd md5(crypt) einen user in eine temp-datei
danach filterste von dem user das verschlüsselte md5 pw aus der temp raus...
überprüfst ob der user in der /etc/shadow ist u. in der samba/smbpasswd
u. ersetzt die eingträge ggf.

ist aber extrem aufwendig u. gibt keine garantie auf siecherheit
ein problem dabei ist z.B.
wenn du einen user "123456" hast...
u. suchst nach einem "123" user , den user "123" gibt es nicht wirklich..
aber der findet mit dieser methode den "123456" u. legt den user "123" nicht an.

es wäre viel einfacher das mit den std. tools zu machen...
in meinem bsp hatte es bei der mysql übergabe sinn, denn an dieser stelle ist es
in der form erforderlich. (sql ist in diesen geschichten etwas flexiebler)

xerbsd

Re: need help for: mysql adduser smb skell auto

#7 Post by xerbsd »

so... ich hab jetz auch etwas rumgebastelt, u. wenn ich darf so stell ich kurz meine lösung vor....
aber vorsicht, wenn's jemand anwendet.. unbeding sicherstellen dass alle pfade, tools usw. i.o. sind.

PS: ich hatte noch keine gelegenheit das zu testen, könnte sein dass beim PDC machinen account, es
mit $MACHINE$ evtl. probleme gibt... ansonsten u.a. auf CHR() ausweichen.
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/sh
echo "Benuter wird angelegt !!!"
echo " - only root can do it -"
echo
echo -n "Benuternamen eingeben: "
read USERNAME
adduser --disabled-password $USERNAME
if [ $? != 0 ]
then
echo
echo "Ein Fehler ist aufgetreten"
echo
else
ASK=1
while [ $ASK != 0 ]
do
passwd $USERNAME
ASK=$?
if [ $ASK != 0 ]
then
echo; echo " --- Fehler ! ---"; echo
else
echo; echo "OK, Unix-account erfolgreich angelegt !"; echo
fi
done

echo -n "In samba aufnehmen ? [y/n]"
read SAMBA
if [ $SAMBA != "y" ]
then
echo
echo "dann nicht..."
echo "aber nicht vergessen... "
echo
else
echo
smbpasswd -a $USERNAME

echo
echo -n "Neuen PDC - ClientRechner erstellen ? [y/n]"
read PDCCLIENT
if [ $PDCCLIENT != "y" ]
then
echo
echo "dann nicht..."
else
echo -n "PDC-Client eingeben: "
read MACHINE
useradd -g 101 -d /dev/null -c $MACHINE -s /bin/false -m $MACHINE$
smbpasswd -a -m $MACHINE
fi
fi

echo
echo -n "My-SQL Daten anlegen ? [y/n]"
read MYSQL
if [ $MYSQL != "y" ]
then
echo
echo "dann nicht..."
else
mkdir /media/hde1/mysql/$USERNAME
if [ $? != 0 ]
then
echo "DB for $USERNAME allready exists"
else
chown mysql /media/hde1/mysql/$USERNAME
chgrp $USERNAME /media/hde1/mysql/$USERNAME
chmod 770 /media/hde1/mysql/$USERNAME
#ln -s /media/hde1/mysql/$USERNAME /home/$USERNAME/mysql
#mysql-DIR wird jetzt direct angesprochen

echo -n "MySQL Passwort für $USERNAME: "
read -ers MYPASSWD
echo "use mysql; INSERT INTO user VALUES(\"%\",\"$USERNAME\",password(\"$MYPASSWD\"),\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\");" | mysql
echo "use mysql; INSERT INTO db VALUES(\"%\",\"$USERNAME\",\"$USERNAME\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"Y\",\"N\",\"Y\",\"Y\",\"Y\");" | mysql
/etc/init.d/mysql reload
fi
fi
echo " Abgeschlossen"
fi
</font><hr></pre></blockquote>

arno

Re: need help for: mysql adduser smb skell auto

#8 Post by arno »

@xerbsd

danke

*gg* etwas ausgefeilter als meins.

mfg
arno

User avatar
xerbsd
Posts: 59
Joined: 30. Jul 2003 11:18

Re: need help for: mysql adduser smb skell auto

#9 Post by xerbsd »

wenn wer lusst hat, ich ein gegenstück für deluser
mit abfragen explizit für daten u. datenbank inhalte
wäre nicht schlecht.
PS: ich werde mal am we das add-script mal etwas ausweiten...

Michael

Re: need help for: mysql adduser smb skell auto

#10 Post by Michael »

>und dabei ein kleines prob.
>wie kann ich im script der shell passwörter übergeben.

chpasswd

Cheers

Michael

Post Reply