Subject: Re: Security problem with pkgsrc/mail/majordomo
To: None <sab@zeekuschrist.com>
From: Brook Milligan <brook@biology.nmsu.edu>
List: tech-pkg
Date: 03/09/2000 15:32:50
> At 02:55 PM 3/9/00 -0700, Brook Milligan wrote:
> >Second, validshell() in addnerd.c uses getusershell() (which reads
> >/etc/shells) to check the argument of -s against. /sbin/nologin is
> >not in /etc/shells, so this also fails. Two possible fixes: 1) add
> >an explicit check for /sbin/nologin; 2) add /sbin/nologin to
> >/etc/shells. Should either of these be added to addnerd?
>
> Adding /sbin/nologin to /etc/shells would make sense in that many of us
> want to add no-login accounts to our systems. Given that the current
> password file comes with /sbin/nologin for many of the accounts, I don't
> understand why it's not already in /etc/shells.
someone correct me if i am wrong here, but isnt a shell no in /etc/shells
one of the checks ftpd does to see if ftp'ing to that users is aloud?
Exactly.
From man ftpd:
3. The user must have a standard shell returned by
getusershell(3). If the user's shell field in the password
database is empty, the shell is assumed to be /bin/sh.
A good reason for it not being in /etc/shells. That was why I asked.
It is not obvious that we want /sbin/nologin in /etc/shells.
But it seems we need a method for addnerd to create an account that
cannot be used for logins. Do we want a special case in addnerd to
allow one to create an account (like majordomo) with /sbin/nologin as
a shell?
Or should we only allow "real" shells with addnerd and disable the
account through the password (which still requires either a long set
of *s or a modification to addnerd to accomplish).
More guidance from developers would be appreciated.
Cheers,
Brook