I just noticed a difference in how su.shadow functions with the latest code. If I run this # su -c /home/root/test -l root with the previous version (4.1.4.3) I see this flow: 6761 execve("/bin/su", ["su", "-c", "/home/root/test", "-l"], [/* 13 vars */]) = 0 6761 execve("/bin/sh", ["/bin/sh", "-c", "/home/root/test"], [/* 7 vars */]) = 0 6762 execve("/home/root/test", ["/home/root/test"], [/* 8 vars */]) = 0 with the latest version (4.2.1) I see: 961 execve("/bin/su", ["su", "-c", "/home/root/test", "-l"], [/* 13 vars */]) = 0 961 execve("/bin/sh", ["-su", "-c", "/home/root/test"], [/* 7 vars */]) = 0 which fails with 'su: applet not found' if /bin.sh is busybox and succeeds if the /bin/sh is bash.
Is seems that the new version is expecting the shell to take care of the user switch (maybe it doesn't realize that it's already 'root') and the busybox shell doesn't handle this. That said, I can see that busybox is built with 'CONFIG_SU=y', but there is no 'su' applet. Who's wrong here (su.shadow or busybox)? Has anyone else seen this or does everyone just use bash? Note: I noticed this because with the latest Poky/Yocto master with these changes, the X server no longer comes up because it relies on su (su -l -c "/etc/X11/Xserver&" root) and this now fails when using /bin/sh==busybox. Thanks for any pointers or ideas -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------ -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto