On 1 Sep 99, at 2:40, Iwan Garnadi wrote:
> anehnya nih walaupun setuid user dan group udah dipake , kalo make
> user biasa masih gagal kenapa ya ?
> kalo yang akses root udah sukses sih
Hmm kalo saya cenderung ngikutin skripnya Don Libes. Tidak perlu
dibuat setuid root script (buka satu potensi security risk). Yg
dikerjakan oleh skrip:
$t = Expect->spawn("/usr/bin/su $user -c /usr/bin/passwd");
> #!/usr/bin/perl
> use Expect;
> $user=$ARGV[0];
> $password=$ARGV[1];
> $t=Expect->spawn("/usr/bin/passwd $user") || die "gagal passwd\n";
>
> $unknown=$t->expect(5,'-re','.*Unknown.*');
> if ($unknown) {die "unknown\n";}
^^^^^^^^^^^^^^^^^^^^^^^
$t->expect() akan return undef kalau:
1. timeout
2. expected string unmatch
Dng branch di atas, maka jika $unknown bernilai undef karena timeout,
juga akan lanjut ke expect berikutnya!
> $t->expect(5,'New UNIX password:') || die "kagak ada new unix
> password\n";
> print $t "$password\r";
> $t->expect(5,'Retype new UNIX password:') || die "gagal retype\n";
> print $t "$password\r";
> $t->expect(5,'successfully') || die "tidak sukses\n";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
di sini juga harus hati-hati. Kalo passwd saya akan membentuk loop
jika new password ngga cocok dng kriteria ttt, ato jika konfirmasi
password nggak cocok.
--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Hosted by http://www.Indoglobal.com