[package] update busybox to 1.18.4, patch from Peter Wagner
[openwrt/svn-archive/archive.git] / package / busybox / config / loginutils / Config.in
index 6171d02909ed331d059a4c9ae851e06ab6f83c16..0298840620b5e5e27b282fefca6e0a35635ce9ec 100644 (file)
 
 menu "Login/Password Management Utilities"
 
+config BUSYBOX_CONFIG_ADD_SHELL
+       bool "add-shell"
+       default n if BUSYBOX_CONFIG_DESKTOP
+       help
+         Add shells to /etc/shells.
+
+config BUSYBOX_CONFIG_REMOVE_SHELL
+       bool "remove-shell"
+       default n if BUSYBOX_CONFIG_DESKTOP
+       help
+         Remove shells from /etc/shells.
+
 config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
        bool "Support for shadow passwords"
        default n
        help
-         Build support for shadow password in /etc/shadow.  This file is only
+         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 BUSYBOX_CONFIG_USE_BB_PWD_GRP
+       bool "Use internal password and group functions rather than system functions"
+       default n
+       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
+         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 BUSYBOX_CONFIG_USE_BB_SHADOW
-       bool "  Use busybox shadow password functions"
+       bool "Use internal shadow password functions"
        default n
        depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_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.
+         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 PAM to access shadow passwords from remote LDAP
-           password servers and whatnot.
+         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 PAM to access shadow passwords from remote LDAP
+         password servers and whatnot.
 
-config BUSYBOX_CONFIG_USE_BB_PWD_GRP
-       bool "Use internal password and group functions rather than system functions"
+config BUSYBOX_CONFIG_USE_BB_CRYPT
+       bool "Use internal crypt functions"
+       default n
+       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 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 BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
+       bool "Enable SHA256/512 crypt functions"
+       default n
+       depends on BUSYBOX_CONFIG_USE_BB_CRYPT
+       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 BUSYBOX_CONFIG_ADDUSER
+       bool "adduser"
+       default n
+       help
+         Utility for creating a new user account.
+
+config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
+       help
+         Support long options for the adduser applet.
+
+config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
+       bool "Enable sanity check on user/group names in adduser and addgroup"
        default n
+       depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
        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.
+         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.
 
-           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
-           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.
+config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
+       int "First valid system uid or gid for adduser and addgroup"
+       depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+       range 0 64900
+       default 100
+       help
+         First valid system uid or gid for adduser and addgroup
 
-           If you enable this option, it will add about 1.5k to busybox.
+config BUSYBOX_CONFIG_LAST_SYSTEM_ID
+       int "Last valid system uid or gid for adduser and addgroup"
+       depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
+       range 0 64900
+       default 999
+       help
+         Last valid system uid or gid for adduser and addgroup
 
 config BUSYBOX_CONFIG_ADDGROUP
        bool "addgroup"
@@ -59,17 +150,21 @@ config BUSYBOX_CONFIG_ADDGROUP
        help
          Utility for creating a new group account.
 
-config BUSYBOX_CONFIG_DELGROUP
-       bool "delgroup"
+config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
+       bool "Enable long options"
        default n
+       depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
        help
-         Utility for deleting a group account.
+         Support long options for the addgroup applet.
 
-config BUSYBOX_CONFIG_ADDUSER
-       bool "adduser"
+config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
+       bool "Support for adding users to groups"
        default n
+       depends on BUSYBOX_CONFIG_ADDGROUP
        help
-         Utility for creating a new user account.
+         If  called  with two non-option arguments,
+         addgroup will add an existing user to an
+         existing group.
 
 config BUSYBOX_CONFIG_DELUSER
        bool "deluser"
@@ -77,33 +172,30 @@ config BUSYBOX_CONFIG_DELUSER
        help
          Utility for deleting a user account.
 
-config BUSYBOX_CONFIG_GETTY
-       bool "getty"
+config BUSYBOX_CONFIG_DELGROUP
+       bool "delgroup"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
-         getty lets you log in on a tty, it is normally invoked by init.
+         Utility for deleting a group account.
 
-config BUSYBOX_CONFIG_FEATURE_UTMP
-       bool "Support utmp file"
-       depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
+config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
+       bool "Support for removing users from groups"
        default n
+       depends on BUSYBOX_CONFIG_DELGROUP
        help
-         The file /var/run/utmp is used to track who is currently logged in.
+         If called with two non-option arguments, deluser
+         or delgroup will remove an user from a specified group.
 
-config BUSYBOX_CONFIG_FEATURE_WTMP
-       bool "Support wtmp file"
-       depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
+config BUSYBOX_CONFIG_GETTY
+       bool "getty"
        default n
-       select BUSYBOX_CONFIG_FEATURE_UTMP
+       select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
-         The file /var/run/wtmp is used to track when user's have logged into
-         and logged out of the system.
+         getty lets you log in on a tty, it is normally invoked by init.
 
 config BUSYBOX_CONFIG_LOGIN
        bool "login"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          login is used when signing onto a system.
@@ -111,6 +203,13 @@ config BUSYBOX_CONFIG_LOGIN
          Note that Busybox binary must be setuid root for this applet to
          work properly.
 
+config BUSYBOX_CONFIG_PAM
+       bool "Support for PAM (Pluggable Authentication Modules)"
+       default n
+       depends on BUSYBOX_CONFIG_LOGIN
+       help
+         Use PAM in login(1) instead of direct access to password database.
+
 config BUSYBOX_CONFIG_LOGIN_SCRIPTS
        bool "Support for login scripts"
        depends on BUSYBOX_CONFIG_LOGIN
@@ -119,24 +218,31 @@ config BUSYBOX_CONFIG_LOGIN_SCRIPTS
          Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
          just prior to switching from root to logged-in user.
 
+config BUSYBOX_CONFIG_FEATURE_NOLOGIN
+       bool "Support for /etc/nologin"
+       default n
+       depends on BUSYBOX_CONFIG_LOGIN
+       help
+         The file /etc/nologin is used by (some versions of) login(1).
+         If it exists, non-root logins are prohibited.
+
 config BUSYBOX_CONFIG_FEATURE_SECURETTY
        bool "Support for /etc/securetty"
        default n
        depends on BUSYBOX_CONFIG_LOGIN
        help
-         The file  /etc/securetty  is used by (some versions of) login(1).
+         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 BUSYBOX_CONFIG_PASSWD
        bool "passwd"
        default y
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
-         passwd changes passwords for user and group accounts.  A normal user
+         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 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
@@ -149,10 +255,24 @@ config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
        help
          With this option passwd will refuse new passwords which are "weak".
 
+config BUSYBOX_CONFIG_CRYPTPW
+       bool "cryptpw"
+       default n
+       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 BUSYBOX_CONFIG_CHPASSWD
+       bool "chpasswd"
+       default n
+       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 BUSYBOX_CONFIG_SU
        bool "su"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        select BUSYBOX_CONFIG_FEATURE_SYSLOG
        help
          su is used to become another user during a login session.
@@ -182,7 +302,6 @@ config BUSYBOX_CONFIG_SULOGIN
 config BUSYBOX_CONFIG_VLOCK
        bool "vlock"
        default n
-       select BUSYBOX_CONFIG_FEATURE_SUID
        help
          Build the "vlock" applet which allows you to lock (virtual) terminals.
 
@@ -190,4 +309,3 @@ config BUSYBOX_CONFIG_VLOCK
          work properly.
 
 endmenu
-