Config.in 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see scripts/kbuild/config-language.txt.
  4. #
  5. menu "Login/Password Management Utilities"
  6. config BUSYBOX_ADD_SHELL
  7. bool "add-shell"
  8. default y if BUSYBOX_DESKTOP
  9. help
  10. Add shells to /etc/shells.
  11. config BUSYBOX_REMOVE_SHELL
  12. bool "remove-shell"
  13. default y if BUSYBOX_DESKTOP
  14. help
  15. Remove shells from /etc/shells.
  16. config BUSYBOX_FEATURE_SHADOWPASSWDS
  17. bool "Support for shadow passwords"
  18. default y
  19. help
  20. Build support for shadow password in /etc/shadow. This file is only
  21. readable by root and thus the encrypted passwords are no longer
  22. publicly readable.
  23. config BUSYBOX_USE_BB_PWD_GRP
  24. bool "Use internal password and group functions rather than system functions"
  25. default y
  26. help
  27. If you leave this disabled, busybox will use the system's password
  28. and group functions. And if you are using the GNU C library
  29. (glibc), you will then need to install the /etc/nsswitch.conf
  30. configuration file and the required /lib/libnss_* libraries in
  31. order for the password and group functions to work. This generally
  32. makes your embedded system quite a bit larger.
  33. Enabling this option will cause busybox to directly access the
  34. system's /etc/password, /etc/group files (and your system will be
  35. smaller, and I will get fewer emails asking about how glibc NSS
  36. works). When this option is enabled, you will not be able to use
  37. PAM to access remote LDAP password servers and whatnot. And if you
  38. want hostname resolution to work with glibc, you still need the
  39. /lib/libnss_* libraries.
  40. If you need to use glibc's nsswitch.conf mechanism
  41. (e.g. if user/group database is NOT stored in /etc/passwd etc),
  42. you must NOT use this option.
  43. If you enable this option, it will add about 1.5k.
  44. config BUSYBOX_USE_BB_SHADOW
  45. bool "Use internal shadow password functions"
  46. default y
  47. depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS
  48. help
  49. If you leave this disabled, busybox will use the system's shadow
  50. password handling functions. And if you are using the GNU C library
  51. (glibc), you will then need to install the /etc/nsswitch.conf
  52. configuration file and the required /lib/libnss_* libraries in
  53. order for the shadow password functions to work. This generally
  54. makes your embedded system quite a bit larger.
  55. Enabling this option will cause busybox to directly access the
  56. system's /etc/shadow file when handling shadow passwords. This
  57. makes your system smaller (and I will get fewer emails asking about
  58. how glibc NSS works). When this option is enabled, you will not be
  59. able to use PAM to access shadow passwords from remote LDAP
  60. password servers and whatnot.
  61. config BUSYBOX_USE_BB_CRYPT
  62. bool "Use internal crypt functions"
  63. default y
  64. help
  65. Busybox has internal DES and MD5 crypt functions.
  66. They produce results which are identical to corresponding
  67. standard C library functions.
  68. If you leave this disabled, busybox will use the system's
  69. crypt functions. Most C libraries use large (~70k)
  70. static buffers there, and also combine them with more general
  71. DES encryption/decryption.
  72. For busybox, having large static buffers is undesirable,
  73. especially on NOMMU machines. Busybox also doesn't need
  74. DES encryption/decryption and can do with smaller code.
  75. If you enable this option, it will add about 4.8k of code
  76. if you are building dynamically linked executable.
  77. In static build, it makes code _smaller_ by about 1.2k,
  78. and likely many kilobytes less of bss.
  79. config BUSYBOX_USE_BB_CRYPT_SHA
  80. bool "Enable SHA256/512 crypt functions"
  81. default n
  82. depends on BUSYBOX_USE_BB_CRYPT
  83. help
  84. Enable this if you have passwords starting with "$5$" or "$6$"
  85. in your /etc/passwd or /etc/shadow files. These passwords
  86. are hashed using SHA256 and SHA512 algorithms. Support for them
  87. was added to glibc in 2008.
  88. With this option off, login will fail password check for any
  89. user which has password encrypted with these algorithms.
  90. config BUSYBOX_ADDGROUP
  91. bool "addgroup"
  92. default y
  93. help
  94. Utility for creating a new group account.
  95. config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
  96. bool "Enable long options"
  97. default n
  98. depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
  99. help
  100. Support long options for the addgroup applet.
  101. config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
  102. bool "Support for adding users to groups"
  103. default n
  104. depends on BUSYBOX_ADDGROUP
  105. help
  106. If called with two non-option arguments,
  107. addgroup will add an existing user to an
  108. existing group.
  109. config BUSYBOX_DELGROUP
  110. bool "delgroup"
  111. default y
  112. help
  113. Utility for deleting a group account.
  114. config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
  115. bool "Support for removing users from groups"
  116. default n
  117. depends on BUSYBOX_DELGROUP
  118. help
  119. If called with two non-option arguments, deluser
  120. or delgroup will remove an user from a specified group.
  121. config BUSYBOX_FEATURE_CHECK_NAMES
  122. bool "Enable sanity check on user/group names in adduser and addgroup"
  123. default n
  124. depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
  125. help
  126. Enable sanity check on user and group names in adduser and addgroup.
  127. To avoid problems, the user or group name should consist only of
  128. letters, digits, underscores, periods, at signs and dashes,
  129. and not start with a dash (as defined by IEEE Std 1003.1-2001).
  130. For compatibility with Samba machine accounts "$" is also supported
  131. at the end of the user or group name.
  132. config BUSYBOX_ADDUSER
  133. bool "adduser"
  134. default y
  135. help
  136. Utility for creating a new user account.
  137. config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
  138. bool "Enable long options"
  139. default n
  140. depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
  141. help
  142. Support long options for the adduser applet.
  143. config BUSYBOX_FIRST_SYSTEM_ID
  144. int "First valid system uid or gid for adduser and addgroup"
  145. depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
  146. range 0 64900
  147. default 100
  148. help
  149. First valid system uid or gid for adduser and addgroup
  150. config BUSYBOX_LAST_SYSTEM_ID
  151. int "Last valid system uid or gid for adduser and addgroup"
  152. depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
  153. range 0 64900
  154. default 999
  155. help
  156. Last valid system uid or gid for adduser and addgroup
  157. config BUSYBOX_DELUSER
  158. bool "deluser"
  159. default y
  160. help
  161. Utility for deleting a user account.
  162. config BUSYBOX_GETTY
  163. bool "getty"
  164. default y
  165. select BUSYBOX_FEATURE_SYSLOG
  166. help
  167. getty lets you log in on a tty, it is normally invoked by init.
  168. config BUSYBOX_FEATURE_UTMP
  169. bool "Support utmp file"
  170. depends on BUSYBOX_GETTY || BUSYBOX_LOGIN || BUSYBOX_SU || BUSYBOX_WHO
  171. default n
  172. help
  173. The file /var/run/utmp is used to track who is currently logged in.
  174. config BUSYBOX_FEATURE_WTMP
  175. bool "Support wtmp file"
  176. depends on BUSYBOX_GETTY || BUSYBOX_LOGIN || BUSYBOX_SU || BUSYBOX_LAST
  177. default n
  178. select BUSYBOX_FEATURE_UTMP
  179. help
  180. The file /var/run/wtmp is used to track when user's have logged into
  181. and logged out of the system.
  182. config BUSYBOX_LOGIN
  183. bool "login"
  184. default y
  185. select BUSYBOX_FEATURE_SUID
  186. select BUSYBOX_FEATURE_SYSLOG
  187. help
  188. login is used when signing onto a system.
  189. Note that Busybox binary must be setuid root for this applet to
  190. work properly.
  191. config BUSYBOX_PAM
  192. bool "Support for PAM (Pluggable Authentication Modules)"
  193. default n
  194. depends on BUSYBOX_LOGIN
  195. help
  196. Use PAM in login(1) instead of direct access to password database.
  197. config BUSYBOX_LOGIN_SCRIPTS
  198. bool "Support for login scripts"
  199. depends on BUSYBOX_LOGIN
  200. default n
  201. help
  202. Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
  203. just prior to switching from root to logged-in user.
  204. config BUSYBOX_FEATURE_NOLOGIN
  205. bool "Support for /etc/nologin"
  206. default y
  207. depends on BUSYBOX_LOGIN
  208. help
  209. The file /etc/nologin is used by (some versions of) login(1).
  210. If it exists, non-root logins are prohibited.
  211. config BUSYBOX_FEATURE_SECURETTY
  212. bool "Support for /etc/securetty"
  213. default y
  214. depends on BUSYBOX_LOGIN
  215. help
  216. The file /etc/securetty is used by (some versions of) login(1).
  217. The file contains the device names of tty lines (one per line,
  218. without leading /dev/) on which root is allowed to login.
  219. config BUSYBOX_PASSWD
  220. bool "passwd"
  221. default y
  222. select BUSYBOX_FEATURE_SUID
  223. select BUSYBOX_FEATURE_SYSLOG
  224. help
  225. passwd changes passwords for user and group accounts. A normal user
  226. may only change the password for his/her own account, the super user
  227. may change the password for any account. The administrator of a group
  228. may change the password for the group.
  229. Note that Busybox binary must be setuid root for this applet to
  230. work properly.
  231. config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
  232. bool "Check new passwords for weakness"
  233. default n
  234. depends on BUSYBOX_PASSWD
  235. help
  236. With this option passwd will refuse new passwords which are "weak".
  237. config BUSYBOX_CRYPTPW
  238. bool "cryptpw"
  239. default n
  240. help
  241. Encrypts the given password with the crypt(3) libc function
  242. using the given salt. Debian has this utility under mkpasswd
  243. name. Busybox provides mkpasswd as an alias for cryptpw.
  244. config BUSYBOX_CHPASSWD
  245. bool "chpasswd"
  246. default n
  247. help
  248. Reads a file of user name and password pairs from standard input
  249. and uses this information to update a group of existing users.
  250. config BUSYBOX_SU
  251. bool "su"
  252. default y
  253. select BUSYBOX_FEATURE_SUID
  254. select BUSYBOX_FEATURE_SYSLOG
  255. help
  256. su is used to become another user during a login session.
  257. Invoked without a username, su defaults to becoming the super user.
  258. Note that Busybox binary must be setuid root for this applet to
  259. work properly.
  260. config BUSYBOX_FEATURE_SU_SYSLOG
  261. bool "Enable su to write to syslog"
  262. default y
  263. depends on BUSYBOX_SU
  264. config BUSYBOX_FEATURE_SU_CHECKS_SHELLS
  265. bool "Enable su to check user's shell to be listed in /etc/shells"
  266. depends on BUSYBOX_SU
  267. default y
  268. config BUSYBOX_SULOGIN
  269. bool "sulogin"
  270. default n
  271. select BUSYBOX_FEATURE_SYSLOG
  272. help
  273. sulogin is invoked when the system goes into single user
  274. mode (this is done through an entry in inittab).
  275. config BUSYBOX_VLOCK
  276. bool "vlock"
  277. default n
  278. select BUSYBOX_FEATURE_SUID
  279. help
  280. Build the "vlock" applet which allows you to lock (virtual) terminals.
  281. Note that Busybox binary must be setuid root for this applet to
  282. work properly.
  283. endmenu