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