Re: [PATCH] Make sure GDB uses a valid shell when starting the inferior and to perform the "shell" command

Eli Zaretskii
2015-07-25T16:41:52Z

> From: Sergio Durigan Junior <sergiodj@redhat.com>
> Cc: Simon Marchi <simon.marchi@ericsson.com>, gdb-patches@sourceware.org
> Date: Sat, 25 Jul 2015 12:29:56 -0400
>
> My goal was not to match every possible invalid shell out there, nor to
> make sure that the specified shell is a known and valid shell. My goal
> was to make sure that the shell exists, is an executable, and is not
> something that is commonly used to disable logins (/sbin/nologin or
> /bin/false are the obvious candidates here).
>
> The 2 additional candidates that have been mentioned were actually just
> 1: I did not remember to include /bin/false in the list before, but
> /usr/sbin/nologin is nologin (and I could even just check for the
> basename as you proposed in another message, eliminating the need to
> include checks for {,/usr}).
>
> I don't think we will see the list of non-shells expanding much more.
> One can always say "Hey, but /bin/ls is a not a shell!", and we will say
> "Right, and it is not commonly used as shell anyway".

Just reading the section you proposed for the manual seems to imply
the goals are much wider than you say above. If we only want to avoid
these 2 non-shells, why do we even need to document that obscure
detail?

> Finally, I don't want to forbid the user to specify her own shell to run
> the inferior, and to name her shell as she wants.

Her shell could be named /sbin/nologin, no?