summaryrefslogtreecommitdiff
path: root/packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig')
-rw-r--r--packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig300
1 files changed, 300 insertions, 0 deletions
diff --git a/packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig b/packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig
new file mode 100644
index 0000000..6b1ad2b
--- /dev/null
+++ b/packages/busybox/busybox-kconfigs/busybox-loginutils.kconfig
@@ -0,0 +1,300 @@
+#
+# For a description of the syntax of this configuration file,
+# see scripts/kbuild/config-language.txt.
+#
+
+comment "-------------------------------------------------"
+comment "Login/Password Management Utilities"
+comment "-------------------------------------------------"
+
+config KEMBTK_BUSYB_FEATURE_SHADOWPASSWDS
+ bool "Support for shadow passwords"
+ help
+ Build support for shadow password in /etc/shadow. This file is only
+ readable by root and thus the encrypted passwords are no longer
+ publicly readable.
+
+config KEMBTK_BUSYB_USE_BB_PWD_GRP
+ bool "Use internal password and group functions rather than system functions"
+ help
+ If you leave this disabled, busybox will use the system's password
+ and group functions. And if you are using the GNU C library
+ (glibc), you will then need to install the /etc/nsswitch.conf
+ configuration file and the required /lib/libnss_* libraries in
+ order for the password and group functions to work. This generally
+ makes your embedded system quite a bit larger.
+
+ Enabling this option will cause busybox to directly access the
+ system's /etc/password, /etc/group files (and your system will be
+ smaller, and I will get fewer emails asking about how glibc NSS
+ works). When this option is enabled, you will not be able to use
+ KEMBTK_BUSYB_PAM to access remote LDAP password servers and whatnot. And if you
+ want hostname resolution to work with glibc, you still need the
+ /lib/libnss_* libraries.
+
+ If you need to use glibc's nsswitch.conf mechanism
+ (e.g. if user/group database is NOT stored in /etc/passwd etc),
+ you must NOT use this option.
+
+ If you enable this option, it will add about 1.5k.
+
+config KEMBTK_BUSYB_USE_BB_SHADOW
+ bool "Use internal shadow password functions"
+ default y
+ depends on KEMBTK_BUSYB_USE_BB_PWD_GRP && KEMBTK_BUSYB_FEATURE_SHADOWPASSWDS
+ help
+ If you leave this disabled, busybox will use the system's shadow
+ password handling functions. And if you are using the GNU C library
+ (glibc), you will then need to install the /etc/nsswitch.conf
+ configuration file and the required /lib/libnss_* libraries in
+ order for the shadow password functions to work. This generally
+ makes your embedded system quite a bit larger.
+
+ Enabling this option will cause busybox to directly access the
+ system's /etc/shadow file when handling shadow passwords. This
+ makes your system smaller (and I will get fewer emails asking about
+ how glibc NSS works). When this option is enabled, you will not be
+ able to use KEMBTK_BUSYB_PAM to access shadow passwords from remote LDAP
+ password servers and whatnot.
+
+config KEMBTK_BUSYB_USE_BB_CRYPT
+ bool "Use internal crypt functions"
+ default y
+ help
+ Busybox has internal DES and MD5 crypt functions.
+ They produce results which are identical to corresponding
+ standard C library functions.
+
+ If you leave this disabled, busybox will use the system's
+ crypt functions. Most C libraries use large (~70k)
+ static buffers there, and also combine them with more general
+ DES encryption/decryption.
+
+ For busybox, having large static buffers is undesirable,
+ especially on KEMBTK_BUSYB_NOMMU machines. Busybox also doesn't need
+ DES encryption/decryption and can do with smaller code.
+
+ If you enable this option, it will add about 4.8k of code
+ if you are building dynamically linked executable.
+ In static build, it makes code _smaller_ by about 1.2k,
+ and likely many kilobytes less of bss.
+
+config KEMBTK_BUSYB_USE_BB_CRYPT_SHA
+ bool "Enable SHA256/512 crypt functions"
+ depends on KEMBTK_BUSYB_USE_BB_CRYPT
+ depends on EMBTK_BB_VERSION_1_14_X || EMBTK_BB_VERSION_1_15_X || EMBTK_BB_VERSION_1_16_X
+ help
+ Enable this if you have passwords starting with "$5$" or "$6$"
+ in your /etc/passwd or /etc/shadow files. These passwords
+ are hashed using SHA256 and SHA512 algorithms. Support for them
+ was added to glibc in 2008.
+ With this option off, login will fail password check for any
+ user which has password encrypted with these algorithms.
+
+config KEMBTK_BUSYB_ADDGROUP
+ bool "addgroup"
+ help
+ Utility for creating a new group account.
+
+config KEMBTK_BUSYB_FEATURE_ADDGROUP_LONG_OPTIONS
+ bool "Enable long options"
+ depends on KEMBTK_BUSYB_ADDGROUP && KEMBTK_BUSYB_LONG_OPTS
+ depends on EMBTK_BB_VERSION_1_15_X || EMBTK_BB_VERSION_1_16_X
+ help
+ Support long options for the addgroup applet.
+
+config KEMBTK_BUSYB_FEATURE_ADDUSER_TO_GROUP
+ bool "Support for adding users to groups"
+ depends on KEMBTK_BUSYB_ADDGROUP
+ help
+ If called with two non-option arguments,
+ addgroup will add an existing user to an
+ existing group.
+
+config KEMBTK_BUSYB_DELGROUP
+ bool "delgroup"
+ help
+ Utility for deleting a group account.
+
+config KEMBTK_BUSYB_FEATURE_DEL_USER_FROM_GROUP
+ bool "Support for removing users from groups"
+ depends on KEMBTK_BUSYB_DELGROUP
+ help
+ If called with two non-option arguments, deluser
+ or delgroup will remove an user from a specified group.
+
+config KEMBTK_BUSYB_FEATURE_CHECK_NAMES
+ bool "Enable sanity check on user/group names in adduser and addgroup"
+ depends on KEMBTK_BUSYB_ADDUSER || KEMBTK_BUSYB_ADDGROUP
+ help
+ Enable sanity check on user and group names in adduser and addgroup.
+ To avoid problems, the user or group name should consist only of
+ letters, digits, underscores, periods, at signs and dashes,
+ and not start with a dash (as defined by IEEE Std 1003.1-2001).
+ For compatibility with Samba machine accounts "$" is also supported
+ at the end of the user or group name.
+
+config KEMBTK_BUSYB_ADDUSER
+ bool "adduser"
+ help
+ Utility for creating a new user account.
+
+config KEMBTK_BUSYB_FEATURE_ADDUSER_LONG_OPTIONS
+ bool "Enable long options"
+ depends on KEMBTK_BUSYB_ADDUSER && KEMBTK_BUSYB_LONG_OPTS
+ help
+ Support long options for the adduser applet.
+
+config KEMBTK_BUSYB_FIRST_SYSTEM_ID
+ int "First valid system uid or gid for adduser and addgroup"
+ depends on KEMBTK_BUSYB_ADDUSER || KEMBTK_BUSYB_ADDGROUP
+ depends on EMBTK_BB_VERSION_1_15_X || EMBTK_BB_VERSION_1_16_X
+ range 0 64900
+ default 100
+ help
+ First valid system uid or gid for adduser and addgroup
+
+config KEMBTK_BUSYB_LAST_SYSTEM_ID
+ int "Last valid system uid or gid for adduser and addgroup"
+ depends on KEMBTK_BUSYB_ADDUSER || KEMBTK_BUSYB_ADDGROUP
+ depends on EMBTK_BB_VERSION_1_15_X || EMBTK_BB_VERSION_1_16_X
+ range 0 64900
+ default 999
+ help
+ Last valid system uid or gid for adduser and addgroup
+
+config KEMBTK_BUSYB_DELUSER
+ bool "deluser"
+ help
+ Utility for deleting a user account.
+
+config KEMBTK_BUSYB_GETTY
+ bool "getty"
+ select KEMBTK_BUSYB_FEATURE_SYSLOG
+ help
+ getty lets you log in on a tty, it is normally invoked by init.
+
+config KEMBTK_BUSYB_FEATURE_UTMP
+ bool "Support utmp file"
+ depends on KEMBTK_BUSYB_GETTY || KEMBTK_BUSYB_LOGIN || KEMBTK_BUSYB_SU || KEMBTK_BUSYB_WHO
+ help
+ The file /var/run/utmp is used to track who is currently logged in.
+
+config KEMBTK_BUSYB_FEATURE_WTMP
+ bool "Support wtmp file"
+ depends on KEMBTK_BUSYB_GETTY || KEMBTK_BUSYB_LOGIN || KEMBTK_BUSYB_SU || KEMBTK_BUSYB_LAST
+ select KEMBTK_BUSYB_FEATURE_UTMP
+ help
+ The file /var/run/wtmp is used to track when user's have logged into
+ and logged out of the system.
+
+config KEMBTK_BUSYB_LOGIN
+ bool "login"
+ select KEMBTK_BUSYB_FEATURE_SUID
+ select KEMBTK_BUSYB_FEATURE_SYSLOG
+ help
+ login is used when signing onto a system.
+
+ Note that Busybox binary must be setuid root for this applet to
+ work properly.
+
+config KEMBTK_BUSYB_PAM
+ bool "Support for KEMBTK_BUSYB_PAM (Pluggable Authentication Modules)"
+ depends on KEMBTK_BUSYB_LOGIN
+ help
+ Use KEMBTK_BUSYB_PAM in login(1) instead of direct access to password database.
+
+config KEMBTK_BUSYB_LOGIN_SCRIPTS
+ bool "Support for login scripts"
+ depends on KEMBTK_BUSYB_LOGIN
+ help
+ Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
+ just prior to switching from root to logged-in user.
+
+config KEMBTK_BUSYB_FEATURE_NOLOGIN
+ bool "Support for /etc/nologin"
+ default y
+ depends on KEMBTK_BUSYB_LOGIN
+ help
+ The file /etc/nologin is used by (some versions of) login(1).
+ If it exists, non-root logins are prohibited.
+
+config KEMBTK_BUSYB_FEATURE_SECURETTY
+ bool "Support for /etc/securetty"
+ default y
+ depends on KEMBTK_BUSYB_LOGIN
+ help
+ The file /etc/securetty is used by (some versions of) login(1).
+ The file contains the device names of tty lines (one per line,
+ without leading /dev/) on which root is allowed to login.
+
+config KEMBTK_BUSYB_PASSWD
+ bool "passwd"
+ select KEMBTK_BUSYB_FEATURE_SUID
+ select KEMBTK_BUSYB_FEATURE_SYSLOG
+ help
+ passwd changes passwords for user and group accounts. A normal user
+ may only change the password for his/her own account, the super user
+ may change the password for any account. The administrator of a group
+ may change the password for the group.
+
+ Note that Busybox binary must be setuid root for this applet to
+ work properly.
+
+config KEMBTK_BUSYB_FEATURE_PASSWD_WEAK_CHECK
+ bool "Check new passwords for weakness"
+ default y
+ depends on KEMBTK_BUSYB_PASSWD
+ help
+ With this option passwd will refuse new passwords which are "weak".
+
+config KEMBTK_BUSYB_CRYPTPW
+ bool "cryptpw"
+ help
+ Encrypts the given password with the crypt(3) libc function
+ using the given salt. Debian has this utility under mkpasswd
+ name. Busybox provides mkpasswd as an alias for cryptpw.
+
+config KEMBTK_BUSYB_CHPASSWD
+ bool "chpasswd"
+ help
+ Reads a file of user name and password pairs from standard input
+ and uses this information to update a group of existing users.
+
+config KEMBTK_BUSYB_SU
+ bool "su"
+ select KEMBTK_BUSYB_FEATURE_SUID
+ select KEMBTK_BUSYB_FEATURE_SYSLOG
+ help
+ su is used to become another user during a login session.
+ Invoked without a username, su defaults to becoming the super user.
+
+ Note that Busybox binary must be setuid root for this applet to
+ work properly.
+
+config KEMBTK_BUSYB_FEATURE_SU_SYSLOG
+ bool "Enable su to write to syslog"
+ default y
+ depends on KEMBTK_BUSYB_SU
+
+config KEMBTK_BUSYB_FEATURE_SU_CHECKS_SHELLS
+ bool "Enable su to check user's shell to be listed in /etc/shells"
+ depends on KEMBTK_BUSYB_SU
+ default y
+
+config KEMBTK_BUSYB_SULOGIN
+ bool "sulogin"
+ select KEMBTK_BUSYB_FEATURE_SYSLOG
+ help
+ sulogin is invoked when the system goes into single user
+ mode (this is done through an entry in inittab).
+
+config KEMBTK_BUSYB_VLOCK
+ bool "vlock"
+ select KEMBTK_BUSYB_FEATURE_SUID
+ help
+ Build the "vlock" applet which allows you to lock (virtual) terminals.
+
+ Note that Busybox binary must be setuid root for this applet to
+ work properly.
+