Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9125[/thread]

Per script passwörter ändern: aber expect macht probleme



<< |< 1 2 >| >> 13 Einträge, 2 Seiten
FlorianL
 2007-06-26 17:10
#77861 #77861
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
tach zusammen :)

Ich bin gerad dabei ein script zu schreiben das userkonten komplett einrichtet (useradd, mkdir ~/, mysql , ftp, usw und so fort...)

ich bin nun dabei das passwort zu setzen, da ich nicht direkt in die passwd und shadow schreiben will hab ich mir expect mal angesehn und bekomm den folgenden fehler nicht weg:

/sbin/npasswd
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/local/bin/expect --

set user [lindex $argv 0]
set newpass [lindex $argv 1]
spawn passwd $user
expect "assword:" {
send "$newpass\r"
}
expect "gain:" {
send "$newpass\r"
}
expect eof


wenn ich das ausführe hängt meine ssh session sich auf, das passwort wird aber geändert, das merk ich beim erneuten einloggen.

in der prozessübersicht seh ich noch die offene ssh connection.

Anders: wenn ichs direkt so aufrufe stürzt die session auch schon ab, oder vieleicht stürzt sie auch nicht ab sondern wartet noch auf irgendwas, da aber über stdin keine eingabe mehr möglich iss = ?

Quote
bash-3.00# /usr/local/bin/expect
expect1.1> spawn passwd test
spawn passwd test
19152
expect1.2> expect word:
Changing password for "test"
test's New password: expect1.3> send bla


bash-3.00# /usr/local/bin/expect -version
expect version 5.43.0
bash-3.00# uname -a
AIX aix 3 5 00425BAA4C00
bash-3.00# oslevel -r
5300-03


Ist jetzt nicht speziell ein perl problem ich weiss, aber viele perl coder haben zumindest schonma mit gearbeitet denke ich...

ich hab übrigens noch ein paar probleme perl auf meiner rs/6000 ppc mit aix 5.3 zu installieren, unter anderem das modul DBI, noch ein grund warum ich expect richtig beherrschen muss weil das eintragen des users in die sqld-db auch über das script laufen soll...

vielen dank schonma und bis denne :)
RPerl
 2007-06-26 18:03
#77862 #77862
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Hallo,

ich weiß jetzt nicht die "Loesung" fuer dein expect Problem, ABER ich rate dir einfach mal dazu, die ensprechenden Informationen einfach in die /etc/shadow bzw. in die /etc/passwd einzutragen.
In der /etc/passwd stehen die Informationen wie UID / GID, homedir, username etc. In der /etc/shadow die entsprechenden Passwoerter der user.

Oder aber du benutzt direkt das binary useradd mit Backticks, system(), exec() oder CPAN:Shell

Ich hoffe ich konnte dir wenigstens etwas weiterhelfen!

Gruß,

rPerl
FlorianL
 2007-06-27 10:07
#77863 #77863
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
Naja nicht wirklich, aber danke dafür das du dich damit beschäftigt hast :)

Den user lasse ich ja per useradd erstellen weil ich wie gesagt nur sehr sehr ungern direkt in die systemfiles schreiben will, wär ja relativ einfach zu lösen durch die : trenner in der passwd, aber naja.. will ich halt nich..

und mein expect-script funzt ja auch, ich weiss nurnoch nicht warum die session abranzt.

ich würds ja mit useradd -p passwort machen, aber der -p switch wird bei meinem system nicht unterstützt, ebenso wenig usermod

tragisch tragisch, aber ich brauchs expect so oder so weil ich nachher noch das anlegen des mysql users darüber machen muss. CPAN module sind keine option da sie sich auf meinem system nicht compilen lassen :(
RPerl
 2007-06-27 11:14
#77864 #77864
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Naja, wenn Du sowieso useradd benutzt, wuerde ich das mit system() machen.

Quote
ich würds ja mit useradd -p passwort machen, aber der -p switch wird bei meinem system nicht unterstützt, ebenso wenig usermod
Evtl. kann man ja upgraden?

Zum passwort aendern haette ich dies hier:

Code: (dl )
1
2
3
4
5
6
7
8
9
 #!/usr/local/bin/expect -f
#Usage: chpassword user newpassword
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
expect "password:"
send "$password\r"
expect "password:"
send "$password\r"
expect eof


haengt sich das auch auf?

Quote
Naja nicht wirklich,
Tut mir leid :(

Gruß und einen schoenen Tag,

rPerl\n\n

<!--EDIT|RPerl|1182928537-->
nepos
 2007-06-27 11:17
#77865 #77865
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
@RPerl: Du bist hier bei AIX und solltest die Linux-Tools und deren Schalter nicht darauf übertragen. Auch wenns ein Tool mit gleichem Namen gibt, kann das auf kommerziellen Unix-Systemen nur die Hälfte von dem, was unter Linux Usus ist.
RPerl
 2007-06-27 11:18
#77866 #77866
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Ja das stimmt. hab kein AIX nur Linux.\n\n

<!--EDIT|RPerl|1182928736-->
FlorianL
 2007-06-27 11:25
#77867 #77867
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
Quote
bash-3.00# ./npasswd test bla
spawn passwd test
Changing password for "test"
test's New password:
Enter the new password again:


und dann hängt er wieder, das passwort ist aber geändert.. ?!

ein update für useradd um den -p switch einzubauen gibt es für mein system nicht (ibm aix 5.3)

ich denke ich werde das jetzt mal mit mysqladmin ausprobieren, wenns dann schon wieder hängt ist expect buggy... :/
FlorianL
 2007-06-27 11:39
#77868 #77868
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
Quote
bash-3.00# ./addsqluser
spawn /opt/freeware/mysql/bin/mysqladmin -u root -p status
Enter password:
Uptime: 31390 Threads: 1 Questions: 6 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.000
Killed by signal 15. < ssh session auf der firewall gekilled
[root@doorgunner admin]#


es ist wohl definitiv ein expect problem, ich werd gleich mal ne passende bugtracking list suchen...

wenn ich was neues weiss sag ich bescheid, und wenns garnich passt muss ich mir was einfallen lassen, z.B die session automatisch killen, aber wie ich das dann mach.. müsste ja dann ne kommunikation zum router geben.. ätzender scheiss is das hier

nee, ich glaub ich muss expect irgendwie ans laufen bekommen, ne andere chance seh ich nich...
FlorianL
 2007-06-27 13:48
#77869 #77869
User since
2007-05-18
142 Artikel
BenutzerIn
[default_avatar]
gnarr...

expect neu compilen -> tcl neu compilen -> gcc neu compilen

schätze in ~3 stunden weiss ich mehr ;)
RPerl
 2007-06-28 12:32
#77870 #77870
User since
2006-11-26
384 Artikel
BenutzerIn

user image
gcc neu bauen? oO
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2007-06-26 17:10.