PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl-Script zum erstellen von Linuxusern...



~Gh05t~
23-08-2002, 11:27
Hiho,
ich will ein Perl-Script zum erstellen von Usern+Linuxusern schreiben.
Dazu würde ich gerne wissen, ob ich den programmen "smbpasswd" und "adduser" das Passwort durch das Script übergeben kann, damit ichg es nicht 4x eingeben muss... geht das?
thx

d0cd
23-08-2002, 12:33
Ich würde das ganze mit einem Shell-Script realisieren, aber mit Perl sollte es nicht wesentlich schwieriger sein.



#adduser.sh
#Usage: ./adduser.sh <username> <password>
#Will only work when run as root!
USER=$1
PASS=$2
useradd -g users -s /bin/bash -h /home/$USER -p $PASS $USER
mkdir -p /home/$USER
smbpasswd -s -a $USER $PASS


Ich hoffe es hilft.

Rebell
23-08-2002, 13:50
mit Perl ist es relativ genauso einfach.
Du kannst dir eine Zeichenkette zusammenstellen, beispielsweise:
$username = "karl-heinz";
$cmd = "useradd -d /home/$username -G users,media -s /bin/bash/ -p 12345 $username";

und dann das Ding ausführen lassen:
`$cmd`;

Leider gibt es noch ein Problem:
Das Passwort wird im Klartext übergeben und nicht gehashed. D.h. in der passwd liegt dann ein Klartextkennwort welches nicht vom System erkannt wird, wenn jemand eine Lösung dagegen hat, soll er sie bitte hier posten ;-)

~Gh05t~
25-08-2002, 14:18
Naja, das hört sich ja schon mal nicht schlecht an, aber Klartext PW is nit... funced das überhaupt?
Ich meine, irgendwie muss das doch sowieso gehen, es soll ja auch Linuxsysteme geben die KEIN yast dafür haben... :D
Es kann ja nicht sein, dass die alle ihre PWs im Klartest in der shadow stehen haben...

~Gh05t~
25-08-2002, 14:24
Kann man nicht einfach gar kein Passwort setzen und das anschließend mit passwd machen?

fork
26-08-2002, 04:51
Du bist nicht der erste der das Problem hat:

http://www.mrunix.de/forums/showthread.php?threadid=13774

Hier gibt's ein kleines C-Programm mit dem man sich ein Klartextpassword verschlüsseln lassen kann.
Leider nur dem Standard crypt-Algorithmus. Natürlich sind sichere MD5-Passwörter wesentlich
besser(nicht nur 8 Zeichen,...).

Für die Umwandlung der /etc/shadow o. /etc/passwd. in smbpasswd gibt's ja mksmbpasswd

~Gh05t~
26-08-2002, 10:06
Was müsste ich denn machen, damit ich auch nicht verschlüsselte PWs benutzen kann?
Weil wenn ich so einen Benutzer einrichte, ist das PW in der shadow im klartext vorhanden, ich kann mich allerdings nciht anmelden...

Rebell
27-08-2002, 07:32
Genau das ist das Problem! *guterkannt*
Wenn du über useradd ein User anlegst und das Klartextkenntwort übergibts (-p 12345) dann wird es NICHT verschlüsselt und es steht im KLARTEXT in der shadow.
Wenn du dich anmelden möchtest gibt es einen Fehler (da Kennwort nicht erkannt).

Man benötigt also ein Algorithmus den man dazwischen setzt um das Kennwort zu verschlüsseln. Sowas ähnliches:


# useradd -d /home/username -s /bin/bash -g users -p crypt(13245) username


Ich bin nicht der einzige mit dem Problem, es funktioniert standardmäßig NICHT bei einem SuSE 8.0 System :)

fork
27-08-2002, 10:54
...und genau von diesem crypt handelt mein Link!

macolo
28-09-2002, 21:32
genial!

LOL! danach hab ich seit mindestens einem halben jahr gesucht! und heute stolpere ich per zufall darüber.

*sniff*

greets

macolo

c-programmers will all go to heaven ;)