[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#155583: radiusd-freeradius history and future



On Wed, Nov 12, 2003 at 05:59:09PM +0100, Andreas Metzler wrote:

> You are wrong, unix_chkpwd does NIS (at least in the szenario I just
> tested). After changing unix_chkpwd from 4755 root:root to 2755
> root:shadow a NIS user can not unlock the terminal he has just locked
> himself with vlock anymore.
> 
> The NIS-server is configured with
> *                          : *       : shadow.byname    : port
> *                          : *       : passwd.adjunct.byname : port
> 
> and
> 
> MERGE_PASSWD=false

The code does this:

                        if (strcmp(pwd->pw_passwd, "*NP*") == 0) {      /* NIS+ 
*/
                                uid_t save_uid;

                                save_uid = geteuid();
                                seteuid(pwd->pw_uid);
                                spwdent = getspnam(name);
                                seteuid(save_uid);

                                salt = x_strdup(spwdent->sp_pwdp);
                        } else {
                                salt = x_strdup(pwd->pw_passwd);
                        }

Obviously, seteuid isn't going to work when we aren't root.

-- 
 - mdz



Reply to: