Quoting Christian Seiler (christ...@iwakd.de):
> If getpwuid() fails and also the fallback of spawning of a 'getent'
> process, and the user specified no command to execute, default to
> /bin/sh and only fail if even that is not available. This should ensure
> that unless the container is *really* weird, no matter what, the user
> should always end up with a shell when calling lxc-attach with no
> further arguments.
> 
> Signed-off-by: Christian Seiler <christ...@iwakd.de>

Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com>

> ---
>  src/lxc/lxc_attach.c |   16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/src/lxc/lxc_attach.c b/src/lxc/lxc_attach.c
> index c129eb0..711e1de 100644
> --- a/src/lxc/lxc_attach.c
> +++ b/src/lxc/lxc_attach.c
> @@ -452,15 +452,21 @@ int main(int argc, char *argv[])
>                  else
>                          user_shell = passwd->pw_shell;
>  
> -             if (!user_shell) {
> -                     SYSERROR("failed to get passwd "                \
> -                              "entry for uid '%d'", uid);
> -                     return -1;
> +                if (user_shell) {
> +                     char *const args[] = {
> +                             user_shell,
> +                             NULL,
> +                     };
> +
> +                     (void) execvp(args[0], args);
>               }
>  
> +             /* executed if either no passwd entry or execvp fails,
> +              * we will fall back on /bin/sh as a default shell
> +              */
>               {
>                       char *const args[] = {
> -                             user_shell,
> +                             "/bin/sh",
>                               NULL,
>                       };
>  
> -- 
> 1.7.10.4
> 

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to