Hi, Hab ne Frage zu Perl: Wie muss die Datei "users" aussehen damit der folgende Script geht? mfg Thomas #!/usr/bin/perl # # Copyright (c) 2000 SuSE GmbH Nuernberg, Germany. All rights reserved. # # $Id: pw2ldap.pl,v 1.3 2001/07/25 15:45:51 choeger Exp $ # open(IN, "<users") || die; print "#!/bin/bash\n\n"; while( <IN> ) { chomp; ($uname, $pass, $uid, $gid, $gecos, $home, $shell) = split /:/; if( $gecos =~ /serv=/ || $gecos =~ /full=/ ) { print <<EOF;; # # # echo "migrating user $uname:" /usr/lib/apache/bin/add_user_ldap -bDN dc=leitner,dc=intra -al cyrus -ap cyrus \\ -uid $uname -sn $uname -up "{crypt}$pass" -mail $uname\@leitner.intra \\ -o "Leitner + Leitner" -hd $home -ls $shell -gNum $gid -uNum $uid -lang DE -c DE /usr/lib/apache/bin/add_user_cyrus -al cyrus -ap cyrus -uid $uname -qv 10000 \\ -mb INBOX.sent-mail -mb INBOX.old -mb INBOX.public EOF } else { # print "\n\nWARNING***** $uname not migrated ******\n\n\n" } } close(IN); -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
Thomas Massaniger wrote:
Hi,
Hab ne Frage zu Perl: Wie muss die Datei "users" aussehen damit der folgende Script geht?
[...]
open(IN, "<users") || die;
print "#!/bin/bash\n\n";
while( <IN> ) {
chomp; ($uname, $pass, $uid, $gid, $gecos, $home, $shell) = split /:/;
steht doch da *g* username, passwort, user id, groupid, gecos?, homedirectory, shell getrennt durch : Bsp: user1:meinpasswort:501:504:xxx:/home/user1:/bin/bash und dann jeweils ein user pro Zeile Anm: Es sit IMHO genau dasselbe Format wie in der /etc/passwords gruss -fen
Moin, * Thomas Massaniger <m.thomas.w@gmx.de> [01-12-19 15:37]:
Wie muss die Datei "users" aussehen damit der folgende Script geht? Hier steht's: ($uname, $pass, $uid, $gid, $gecos, $home, $shell) = split /:/; Das ist jeweils eine Zeile, die einzelnen Felder sind mit ':' getrennt. Noch Fragen?
Thorsten -- Anything worth fighting for is worth fighting dirty for.
participants (3)
-
Daniel Brachmann
-
Thomas Massaniger
-
Thorsten Haude