Debian Sarge + perl suid + neomail problema
- 1139 megtekintés
Hozzászólások
Idokozben sikerult mar valakinek megoldast talalni erre a problemara?
En egy osi elfeledett gepet frissitve szinten ebbe a gondba szaladtam bele. :(
- A hozzászóláshoz be kell jelentkezni
Szia,
Az openwebmaol faq-jában megtalálod a megoldást. Le kell tölteni az openwebmailt-és a faq-ba emlitett wrapper filet le kell futtatni és már működni is fog a leveleződ.
Bárdó
- A hozzászóláshoz be kell jelentkezni
En is szembekerultem a problemaval, szerencsere 99%-ban mysql-bol autholok ahhoz pedig nem kell suid. De a fennmaradto 1% shadow-bol nyomult. Mivel en sem talaltam meg ra a korrekt megoldast, ezert annyit csinaltam, hogy az a nehany user aki flat filebol auth-ol, atkerult egy kulon shadow_neomail fileba, tettem ra egy 400-as permissiont es a file ownere az apacheot futtato user.
- A hozzászóláshoz be kell jelentkezni
hali!
a kozelmultban update-ltem a sarge rendszeremet, azota nem mukodik a neomail autentikacios resze.
adott egy suid script (root tulajdonu), ami egy user + passwd parosrol megmondja, hogy a rendszeren ervenyes user/passwd paros-e.
a hivo kod a kovetkezo:
if ( ( -x "$neomaildir/checklogin.pl" ) &&
(eval { open (CHECKLOGIN,"| $neomaildir/checklogin.pl");
print CHECKLOGIN "$passwdfile\n";
print CHECKLOGIN "$userid\n";
print CHECKLOGIN "$password\n";
close (CHECKLOGIN);
}
)
) {
ha a checklogin.pl file-ba rakok loggolast, kiderul, hogy nem hivodik meg a file. ha leszedem rola a suid flag-et, akkor meghivodik (akkor viszont nem tudja kiolvasni a /etc/shadow-bol az adatokat.
valakinek van valami tippje? mi valtozott az 5.8-as perl-ben, amitol nem lehet suid-es scripteket inditani?
megprobaltam a suid-es scriptet kivaltani az Authen::PAM modullal.
az a problema vele, hogy csak azt a user-t haklando authentikalni, akinek a jogaval fut a script.
a kod:
#!/usr/bin/perl
use Authen::PAM;
$service = "login";
$login_name = "valid_user";
$password = "valid_passwd";
sub my_conv_func {
my @res;
while ( @_ ) {
my $code = shift;
my $msg = shift;
my $ans = "";
$ans = $login_name if ($code == PAM_PROMPT_ECHO_ON() );
$ans = $password if ($code == PAM_PROMPT_ECHO_OFF() );
push @res, (PAM_SUCCESS(),$ans);
}
push @res, PAM_SUCCESS();
return @res;
}
ref($pamh = new Authen::PAM($service, $login_name, \&my_conv_func)) ||
die "Error code $pamh during PAM init!";
$res = $pamh->pam_set_item(PAM_TTY(), $tty_name);
$res = $pamh->pam_authenticate;
print $pamh->pam_strerror($res),"\n" unless $res == PAM_SUCCESS();
if ($res == PAM_SUCCESS()) {
print "success";
} else {
print "failure";
}
(a manual-bol szedtem)
valami tipp?
koszi,
shogy
- A hozzászóláshoz be kell jelentkezni
Szia,
Ha Suexec futatja, akkor tudd, hogy ezen a csomagon változtattak.
Mivel a jelenlegi perl fordítás is tudja kapásból csak ki kel venned a suexecet, mint futtatót.
A legegyszerübb, ha a suexecet removolod és a perl-t linkeled suexec néven.
bárdó
- A hozzászóláshoz be kell jelentkezni
Én is ezzel szívtam a múlt héten, és rövid kutakodás után kiderült, hogy az Neomail v1.25-ig megborul az 5.8-as Perl-el. Meg lehetett olvasni arról, hogy a Neomail fejlesztése megállt, de mégse:
http://www.icewalkers.com/download/NeoMail/956/dls/
:P
- A hozzászóláshoz be kell jelentkezni
Hali!
[quote:6a2e13006c="qrta"]Én is ezzel szívtam a múlt héten, és rövid kutakodás után kiderült, hogy az Neomail v1.25-ig megborul az 5.8-as Perl-el. Meg lehetett olvasni arról, hogy a Neomail fejlesztése megállt, de mégse:
http://www.icewalkers.com/download/NeoMail/956/dls/
:P
nalam ez a problema 1.27-essel is megvan :((
koszi,
shogy
- A hozzászóláshoz be kell jelentkezni
És ez segít?
INSTALL ------ IF YOU HAVE PROBLEMS rész:
If your permissions match these, it may in fact be possible that your mail
spools aren't readable and writable by a special group ID, in which case you're
stuck running SUID root. Do a chmod 4755 on neomail.pl and neomail-prefs.pl,
and a chmod 755 on checklogin.pl. Alternatively, look into setting up your
mail spools to have a common group and have 660 permissions.
- A hozzászóláshoz be kell jelentkezni
hali!
[quote:5bc94d7678="qrta"]És ez segít?
INSTALL ------ IF YOU HAVE PROBLEMS rész:
If your permissions match these, it may in fact be possible that your mail
spools aren't readable and writable by a special group ID, in which case you're
stuck running SUID root. Do a chmod 4755 on neomail.pl and neomail-prefs.pl,
and a chmod 755 on checklogin.pl. Alternatively, look into setting up your
mail spools to have a common group and have 660 permissions.
nem.
ha a mailcheck hivasa helyett egy konstans true kifelyezest irok, elerem es modosithatom is a mailbox-om.
a problemam az, hogy
1. ha root suid-es a checklogin.pl script, akkor meg sem hivja az open(). ha nem root suid-es, akkor meghivja, viszont nem tud hozzaferni a /etc/shadow-hoz.
2. probaltam Authen::PAM hivasra cserelni a checklogin.pl hivast, ez sem mukodik: a www-data user tty nelkul mindig "Authentication failure"-t kap vissza.
koszi,
shogy
- A hozzászóláshoz be kell jelentkezni