Denys, If I want to reproduce the effect whereby setting the s bit on the busybox exe allows all applets to run as root....
is the best patch to simply comment out those 2 lines you pointed to? TVM David In article <[email protected]>, [email protected] (Denys Vlasenko) wrote: > *From:* Denys Vlasenko <[email protected]> > *To:* [email protected] > *CC:* [email protected] > *Date:* Mon, 17 Jan 2011 19:57:11 +0100 > > On Mon, Jan 17, 2011 at 6:38 PM, David Collier > <[email protected]> wrote: > > I have the following set-up > > > > $ ls -l /bin/busybox > > -rwsr-xr-x 1 root root 376108 2008-09-07 23:29 /bin/busybox > > > > $ ls -l /bin/date > > -rwsr-xr-x 1 root root 55052 2008-04-04 14:22 /bin/date > > > > if I login as web, I can change the date with "date", but if I do > > "busybox date" it comes back with > > > > date: cannot set date: Operation not permitted > > Which is good. > Otherwise, busybox cp /my/file /etc/passwd would work too. > > > Can anyone suggest why I've failed to get busybox to adopt root > > user and > > do the job? > > Because of this in libbb/appletlib.c: > > static void check_suid(int applet_no) > { > ... > if (APPLET_SUID(applet_no) == _BB_SUID_REQUIRE) { > /* Real uid is not 0. If euid isn't 0 too, suid bit > * is most probably not set on our executable */ > if (geteuid()) > bb_error_msg_and_die("must be suid to work > properly"); > } else if (APPLET_SUID(applet_no) == _BB_SUID_DROP) { > HERE => xsetgid(rgid); /* drop all privileges */ > HERE => xsetuid(ruid); > } > } > > date is _BB_SUID_DROP applet. > > -- > vda > _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
