Am Sonntag, 25. Juni 2017, 22:01:34 schrieb Tito:
> On 06/25/2017 04:20 PM, KP.Kirchdoerfer wrote:
> > HI;
> > 
> > Am Samstag, 24. Juni 2017, 22:03:36 schrieb Tito:
> >> On 06/24/2017 06:21 PM, KP.Kirchdoerfer wrote:
> >>> Hi;
> >>> 
> >>> I'm using busybox 1.25.1 and when loggingin as root it successfully
> >>> reads
> >>> /root/.profile.
> >>> 
> >>> Running latest busybox snapshot this fails due to this commit
> >>> 
> >>> https://git.busybox.net/busybox/commit/shell?id=2eb0a7e1b9a579ba34e4780c
> >>> 9e
> >>> d8e74f38bc6b85
> >>> 
> >>> What can be wrong on my side and needs to be changed for a newer busybox
> >>> version?
> >>> 
> >>> TIA kp
> >> 
> >> Hi,
> >> is the HOME var set correctly in the environment after login in as
> >> set in the users' /etc/passwd entry?
> > 
> > The file question is /root/.profile:;
> > 
> >> Like e.g:
> >> 
> >> HOME='/home/tito'
> > 
> > env shows:
> > HOME=/root
> > 
> >> Is the /etc/passwd file entry correct?
> >> 
> >> tito:x:1000:1000:tito,,,:/home/tito:/bin/bash
> > 
> > Even though mine looked like this one
> > root:x:0:0:root:/root:/bin/sh
> > 
> > I've changed to
> > root:x:0:0:root,,,:/root:/bin/sh
> > 
> > but makes no difference.
> > 
> > I've thought also adding ENV to the code is an addition and is an "either
> > (~/.profile), or(ENV)"...?
> > 
> > regards kp
> > 
> >> Ciao,
> >> Tito
> 
> Hi,
> 
> could you try to add this debug code and then try to login.
> 
> diff -uN shell/ash.c shell/ash.c.tito
> --- shell/ash.c 2017-06-25 21:52:49.156426570 +0200
> +++ shell/ash.c.tito    2017-06-25 21:43:51.000000000 +0200
> @@ -13515,7 +13515,9 @@
>   static void
>   read_profile(const char *name)
>   {
> +       ash_msg("%s", name); /* Tito */
>          name = expandstr(name);
> +       ash_msg("%s", name); /* Tito */
>          if (setinputfile(name, INPUT_PUSH_FILE | INPUT_NOFILE_OK) < 0)
>                  return;
>          cmdloop(0);
> @@ -13623,7 +13625,7 @@
>                  isloginsh = 1;
>          if (isloginsh) {
>                  const char *hp;
> -
> +ash_msg("Loginsh"); /* tito*/
>                  state = 1;
>                  read_profile("/etc/profile");
>    state1:
> ----------------------------------------------------------------------
> 
> I did it, copied the busybox binary to /bin/ash
> changed the login shell for root in /etc/passwd to /bin/ash
> and after login got:
> 
> -ash: Loginsh
> -ash: /etc/profile
> -ash: /etc/profile
> -ash: $HOME/.profile
> -ash: /root/.profile

> So on debian 8 with latest busybox from git it seems to work correctly.
> I'm curious to see what it does print out for you.

Thx for your help!

I did; 
first with shell sh in /etc/passwd linked to ash, second with /bin/ash in 
/etc/passwd

 -sh: Loginsh
 -sh: /etc/profile
 -sh: /etc/profile

Type in help if you are really lost
 -sh: $HOME/.profile
 -sh:$HOME/.profile

 -ash: Loginsh
 -ash: /etc/profile
 -ash: /etc/profile

Type in help if you are really lost
 -ash: $HOME/.profile
 -ash:$HOME/.profile

The line "Type in help if you are really lost" is from /etc/profile see below

Running "env" just after login show
HOME=/root

/sbin/init is a link to busybox.

kp

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"                             
                                                                                
                                                                             
LD_LIBRARY_PATH="/usr/local/lib:/usr/lib:/lib"                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                          
HOSTNAME="$(hostname)"                                                          
                                                                                
                                                                             
                                                                                
                                                                                
                                                                             
#Set the prompt 
PS1="$HOSTNAME$ " 

EDITOR=e3ne

umask 022
alias dir="ls"
alias vdir="ls -l"
alias ll="ls -l"
alias d="ls"
alias v="ls -l"
alias da="ls -a"
alias va="ls -la" 

alias m="more"
alias +="more"

alias lo="exit"

alias w="uptime; who"

export PATH LD_LIBRARY_PATH HOSTNAME PS1 EDITOR 

echo
echo "Type in help if you are really lost"
# echo




_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to