Research Menu

.
Skip Search Box

SELinux Mailing List

RE: newrole in the background

From: Stephen Smalley <sds_at_tycho.nsa.gov>
Date: Mon, 17 Dec 2007 11:10:10 -0500


On Mon, 2007-12-17 at 08:01 -0800, Reed, Tim (US SSA) wrote:
> When newrole goes and grabs the ttyname, if it cannot get one should it
> still log something to the screen or not?
>
> Currently it says "Error! Could not retrieve tty information". I was
> thinking of changing Error to Warning.

Yes, that's fine.
>
> What is the recommendation here?
> Also do you have the coding standards posted somewhere?

We just loosely follow kernel coding style, http://lxr.linux.no/linux/Documentation/CodingStyle and make indent can be used as a hammer (but not a very good one).

>
> -----Original Message-----
> From: Stephen Smalley [mailto:sds@tycho.nsa.gov]
> Sent: Thursday, December 13, 2007 12:40 PM
> To: Reed, Tim (US SSA)
> Cc: Xavier Toth; SE Linux
> Subject: RE: newrole in the background
>
> On Thu, 2007-12-13 at 09:06 -0800, Reed, Tim (US SSA) wrote:
> > New patch...I have added checks around the calls that deal with the
> tty.
> > So if ttyn is an empty string (something had a heartache with it being
> > NULL) then it skips the processing. It does appear to work but more
> > testing is needed. Please review and comment.
>
> Patch is reversed, and doesn't seem to be complete (test for a NULL
> ttyname still remains and is fatal in main).
>
> ttyn should really be NULL if not defined - just fix the code. Cleaner
> and faster to test for NULL than for empty string. Looks like
> authenticate_via_pam() needs a check.
>
> You can simplify the logic a fair amount, e.g. on entry to relabel_tty()
> and restore_tty_label(), just do a if (!ttyn) return 0;
>
> Coding style doesn't match.
>
> > Now say if someone ran `newrole -l SystemHigh -- -c "su - foo"` in the
> > background of a script, you would not be able to give su input as it
> is
> > in the background and has no tty. su in this case exits gracefully I
> > guess you could say.
> >
> > My point is that if you have an application that needs to run from
> > newrole, in the background AND requires user input, you will not be
> able
> > to give the application input while it is in the background and have
> it
> > work successfully.
>
> You can't do that anyway, by definition.
>
> > Example:
> > foo.sh
> > ---------------
> > #!/bin/bash
> >
> > ./bar.sh &
> > ---------------
> > bar.sh
> > ---------------
> > #!/bin/bash
> >
> > su - root -c /bin/date
> > ---------------
> >
> > su exits because there is no tty for input. So is chasing down having
> > newrole run in a pseudo tty in the background and accept input worth
> the
> > time?
>
> It doesn't help - there is no input to accept.
>
> We just need to make sure that the pam modules and chkpwd don't block
> forever or seg fault when handed a NULL PAM_TTY.
>

-- 
Stephen Smalley
National Security Agency


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
Received on Mon 17 Dec 2007 - 11:10:23 EST
 

Date Posted: Jan 15, 2009 | Last Modified: Jan 15, 2009 | Last Reviewed: Jan 15, 2009

 
bottom

National Security Agency / Central Security Service