+/*
+ * Mini su implementation for busybox
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
+ */
+//config:config SU
+//config: bool "su"
+//config: default y
+//config: select FEATURE_SYSLOG
+//config: help
+//config: su is used to become another user during a login session.
+//config: Invoked without a username, su defaults to becoming the super user.
+//config: Note that busybox binary must be setuid root for this applet to
+//config: work properly.
+//config:
+//config:config FEATURE_SU_SYSLOG
+//config: bool "Log to syslog all attempts to use su"
+//config: default y
+//config: depends on SU
+//config:
+//config:config FEATURE_SU_CHECKS_SHELLS
+//config: bool "If user's shell is not in /etc/shells, disallow -s PROG"
+//config: default y
+//config: depends on SU
+
+//applet:/* Needs to be run by root or be suid root - needs to change uid and gid: */
+//applet:IF_SU(APPLET(su, BB_DIR_BIN, BB_SUID_REQUIRE))
+
+//kbuild:lib-$(CONFIG_SU) += su.o
+
+//usage:#define su_trivial_usage
+//usage: "[-lmp] [-] [-s SH] [USER [SCRIPT ARGS / -c 'CMD' ARG0 ARGS]]"
+//usage:#define su_full_usage "\n\n"
+//usage: "Run shell under USER (by default, root)\n"
+//usage: "\n -,-l Clear environment, go to home dir, run shell as login shell"
+//usage: "\n -p,-m Do not set new $HOME, $SHELL, $USER, $LOGNAME"
+//usage: "\n -c CMD Command to pass to 'sh -c'"
+//usage: "\n -s SH Shell to use instead of user's default"
+
+#include "libbb.h"