PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wirklich keine moeglich keit über ein script passwd zu setzen?


mustafaB
04-05-2001, 17:29
Hallo

An verschiedenen Stellen habe ich gelesen, das es nicht moeglich ist, das Passwort über ein Script laufen zu lassen / zu setzen??

Also, so in der art:
adduser musatest -g users -d /home/musatest -p passwort

Ich will nämlich ein script basteln, wo ich nur den benutzername + passwort als parameter mitgebe.. und das script für mich alles erledigt.

wenn man help von adduser anguuck siehts so aus:


usage: adduser [-u uid [-o]] [-g group] [-G group,...]
[-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire ] [-p passwd]

Von da habe ich die idee mit dem -p

Oder gibts ne moeglichkeit
variable dem befehl passwd mitzugeben???

Gruss
Musa

tkortkamp
04-05-2001, 17:50
Hi!
Mit -p wirst du nichts anfangen können, wenn du das Passwort als Parameter übergeben möchtest. Hier der Auszug aus der Manual-Page:
<BLOCKQUOTE><font size="1" face="Arial,Helvetica,Geneva">Zitat:</font><HR>
-p Indicates that you want to supply a password. You will be prompted to
enter the password, which will not be echoed to the screen. After
entering a password, you will be prompted to verify it by entering it a
second time.
[/quote]

Warum musst du das Passwort überhaupt als Parameter eingeben?

cu,
Tobias

mustafaB
04-05-2001, 18:42
Hallo

Na wenn ich noch Englisch koennte:-))

Also ich erstelle ein Shell Skript welches ich mit zwei Parameter starten kann.
$1 ist Username
$2 Passwort

Das Skript wir einerseits für Benutzer-Erstellung auf der Konsole gemacht (muss eben einfach sein)
Und zweitens wird das Sktipt später über ein PHP angesprochen..

So das man mit nem Browser auf ne PHP seite kommt, benutzername und passwort eingibt...
PHP übergibt die 2 Parameter an das Shell Skript... und dieser macht dann den user inkl. Home Directory etc...

Gruss
Musa

mightymike99
04-05-2001, 19:31
Hi,

sowas hatte ich vor kurzem auch, ich habe nach dem anlegen mit useradd das verschluesselte Passwort in die /etc/shadow eingetragen(sed o. awk o. perl o. php?)

Zum Verschluesseln muss man die C-Funktion crypt verwenden, ich hab' mir u. a. Programm geschrieben mit dem man das machen kann:

[b]crypt.c[b]
#define _XOPEN_SOURCE
#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
/* int argc; */
char *encrypted;
int status;
if(argc != 3)
{
printf("Aufruf: crypt <Passwort> <2stelliger Salt-key(0-9a-zA-Z./)>\n");
status=1;
}

else
{
encrypted=crypt(argv[1],argv[2]);
printf("%s",encrypted);
status=0;
}
return(status);
}

Jetzt nur noch das Programm kompilieren mit:

gcc -lcrypt -ocrypt crypt.c


Damit wirst du wohl was anfangen koennen...

Gruß
Tobias

mustafaB
05-05-2001, 15:30
Hallo Tobias

Danke für dein Programm.
Werde es Montag gleich ausprobieren...
und berichten :p

Wünsche noch ein schönes WEEKEND! :D

mustafaB
07-05-2001, 13:54
Hey mightymike!

DANKE!!!!!!!
es funktioniert... genau so wie ich es mir vorgestellt habe...

Gruss
Musa

mightymike99
07-05-2001, 19:16
Der beste Dank ist deine Mitarbeit bei Linux, wo auch immer.

macolo
28-09-2002, 20:21
great, dein c-proggie!

thx

greets

macolo