summaryrefslogtreecommitdiffstats
path: root/support/scripts/mkusers
Commit message (Collapse)AuthorAgeFilesLines
* support/scripts/mkusers: preserve group membersJohan Oudinet2018-09-121-2/+11
| | | | | | | | | | | | When the function add_one_group is called on an existing group, make sure the members of this group are not removed in the process of deleting then re-adding the group. Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [Thomas: add curly braces when referencing ${members}, as suggested by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* support/scripts: allow /etc/shadow to be symlinkedJens Maus2017-06-241-4/+5
| | | | | | | | | | | | | | | | This commit fixes a problem where it was not possible to replace /etc/shadow with a symlink to a e.g. a user partition where the shadow file is placed. This is required, e.g. for systems where the rootfs is mounted read-only but users should still be able to be added. Thus, if within an filesystem overlay setup a user tries to replace /etc/shadow with a symlink to the real file on a user partition a buildroot build stops with an error message because sed is called on the symlink instead of following the symlink. This commit fixes this shortcoming. Signed-off-by: Jens Maus <mail@jens-maus.de> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/mkusers: rename variable to avoid name clashingYann E. MORIN2017-03-041-7/+7
| | | | | | | | | | | | | | | | | | | The LINES variable is automatically set by bash to represent the number of lines in the terminal. That variable can be set when the shell receives SIGWINCH. If the shell does receive SIGWINCH after our LINES array is filled, the content of the array is mangled. Rename the variable to avoid that. Fixes #9456 Reported-by: George Y. <georgebrmz@oss3d.com> Reported-by: Paul Stewart <paulstewartis@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* mkusers: fix spelling in intro commentDanomi Manchego2016-12-201-2/+2
| | | | | Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support/mkusers: allow comments in users tablesYann E. MORIN2015-10-181-19/+26
| | | | | | | | | | | | | | | | | | | | The format of the users table files is non trivial, so it is sometimes handy to add comments explaining the syntax (or simply the reason for the user) inline in the files. Ignore empty lines and comment lines prefixed with '#' similar to shell or makedevs files. Packages that defined no user (the vast majority) would cause an empty line to be present in the internal users table, hence the reason we skipped empty usernames. Now that we ignore empty lines, we no longer need to check for empty usernames. Reported-by: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* scripts/mkusers: allow users with no password value setJames Knight2015-06-091-0/+3
| | | | | | | | | | | | | | | | | | The following allows a user definition to specify that a created user entry should not have a password value set. Original implementation allowed a user definition to provide a password value of "=" (no quotes) to generate a crypt-encoded empty string value. In some cases, it may be desired to have no value specified for a user's password. By using a value "-" for a password, no value will be set in the shadow value. An example when this can be used is when logging into a terminal. Logging into a session with an encoded empty password will prompt a user to enter a password since it does not know the password is empty. If the password field blank, a login session will not prompt for a password. Signed-off-by: James Knight <james.knight@rockwellcollins.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/mkusers: enhance error messagesYann E. MORIN2015-03-291-8/+14
| | | | | | | | | | | The current error messages are a bit terse, and do not provide all the required information. Expand them to provide more context. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Tom Elliott <tommygunsster@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Change /bin/bash shebangs into /usr/bin/env bashBjørn Forsman2014-10-251-1/+1
| | | | | | | | | | | | | | | | | Not all systems have /bin/bash (e.g. NixOS[1] doesn't). Buildroot already uses /usr/bin/env shebangs for other interpreters (perl, python), so why not bash? This changes only the shebangs used by Buildroot itself; stuff installed to the target system is left unchanged. With this applied I can run Buildroot unmodified on NixOS. [1]: http://nixos.org/ Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* scripts/mkusers: allow the creation of groups aloneGustavo Zacarias2014-10-221-0/+2
| | | | | | | | | | Let mkusers create groups alone, useful for supplementary permissions in udev/systemd for example where users can be added to later at runtime. Use a magic string "-" to signal that user creation should be skipped. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* filesystems: also chown symlinksYann E. MORIN2014-06-091-1/+1
| | | | | | | | | | | | | | | | Currently, the symlinks in the generated filesystems will have the UID of the user running the build, because 'chown' does not change the ownership of symlinks, by default. Although the implications are limited, some may not want that UID to leak in the generated filesystems. So, use 'chown -h' so even symlinks get properly chowned. Reported-by: Angelo Dureghello <angelo@barix.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support/mkusers: fix warnings when adding a new userYann E. MORIN2014-04-051-3/+9
| | | | | | | | | | | | | | | | | | | When adding a new user (or a new group), we would get warnings, like: [...]/support/scripts/mkusers: line 145: [: too many arguments This is because we're checking if a UID (or a GID) is already defined, and/or is different from the requested one, both checks in the same test. Of course, if a UID (or a GID) is not defined, it does not have a value, so we can not compare it to an integer. Fix that by splitting the test in two, so the second is only executed if the first is sucessful. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* support: fix typo in mkusersPhilip Paeps2014-03-051-1/+1
| | | | | | | | This fixes the spurious "[: too many arguments" errors from mkusers. Signed-off-by: Philip Paeps <philip@paeps.cx> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* infra: replace BUILDROOT_CONFIG with BR2_CONFIGArnout Vandecappelle2014-02-091-2/+2
| | | | | | | | | | | | | | | To make the naming consistent (all user-visible options should be prefixed with BR2_). An entry is added to Makefile.legacy to warn users who have set BUILDROOT_CONFIG but not BR2_CONFIG. Still export BUILDROOT_CONFIG but pointing to some phony value, to make sure that scripts that still use it fail in a predictable way. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Jérémy Rosen <jeremy.rosen@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* support: fix typo in mkusersSamuel Martin2013-12-041-2/+2
| | | | | | | This patch fixes typos in the 'encode_password' function calls. Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* packages: add ability for packages to create usersYann E. MORIN2013-04-251-0/+409
Packages that install daemons may need those daemons to run as a non-root, or an otherwise non-system (eg. 'daemon'), user. Add infrastructure for packages to create users, by declaring the FOO_USERS variable that contain a makedev-syntax-like description of the user(s) to add. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Cam Hutchison <camh@xdna.net> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenPOWER on IntegriCloud