Re: [LINUX:1712] cgi-shadow passwd

Gokhan Moral (gm@Bilkent.EDU.TR)
Mon, 13 Apr 1998 17:33:10 +0300 (EET DST)


On Mon, 13 Apr 1998, Sait Karalar wrote:

>
> linux de Web uzerinden bir CGI ile
> login/passwd kontrol [ /etc/passwd, /etc/shadow ]
> nasil yapabilirim!?
>

bunu hic denemedim, belki apache boyle birseyi destekliyordur ama
gecenlerde bi arkadasa bu konuda yardim etmistim.
soyle ki:

html dosyalarinin bulundugu directory icine .htaccess file'i koymustu.
(biryerde bulmus, aynen paste ediyorum)

AuthName Magician's Homepage
AuthType Basic
AuthUserFile /home2/bcc/tdegir/passwd
require valid-user

bu dosya verilen directorydeki passwd dosyasina bakip authentication'i
sagliyor. normalde htpasswd diye bir komutla olusturuluyor bu dosya.
ama bizim sistemdeki standart encryption kullandigi icin (htpasswd komutu
baska garip birsey kullaniyordu) kucuk bir perl scripti ile olayi cozduk.

#!/usr/local/bin/perl
system "\\rm -f passwd";
open(in,"cat webusers|");
while($line=<in>) {
chomp($line);
@user=split(" ",$line);
$encrypted=crypt(@user[1],@user[1]);
system "touch passwd";
system "echo @user[0]:$encrypted >> passwd";
}

bu kucuk perl scripti webusers ismindeki dosyadan (username ve arada
bosluk ile password) passwd dosyasini yapiyor.
istediginiz /etc/passwd ya da /etc/shadow gibi sistemde mevcut olan bir
dosyayi kullanarak bunu yapmaksa sanirim benzer minik bir script ile
password filedini alip bunu

username:encrypted_password_field

formatina cevirebilirsiniz.

Umarim yardimci olur.

saygilar

Gokhan Moral
Bilkent University
Network Administrator
(try telnetting "buces.bbs.tr 3000")