Close #709: Improve user creation (#725)

* Allow to specify a custom username in "pmbootstrap init"
* Build chroots have "pmos" instead of "user" as username now
* Installation user UID is 1000 now (as in all other Linux distributions)
* Adjust autologins
* postmarketos-base: enable wheel group for sudo, removed previous sudoers file
* Implement safe upgrade path:
We save the version of the work folder format now, in $WORK/version.
When this file does not exist, it defaults to 0.
In case it does not match the currently required version
(pmb.config.work_version), then ask the user if it should
automatically be upgraded.
This commit is contained in:
Pablo Castellano 2017-10-12 22:08:10 +02:00 committed by Oliver Smith
parent 75210b5cb5
commit b4dd7a89d2
45 changed files with 229 additions and 106 deletions

View file

@ -27,6 +27,18 @@ def user(args, cmd, suffix="native", working_dir="/", log=True,
:param log: When set to true, redirect all output to the logfile
:param auto_init: Automatically initialize the chroot
"""
cmd = ["su", "user", "-c", " ".join(cmd)]
cmd = ["su", "pmos", "-c", " ".join(cmd)]
return pmb.chroot.root(args, cmd, suffix, working_dir, log,
auto_init, return_stdout, check)
def exists(args, username, suffix="native"):
"""
Checks if username exists in the system
:param username: User name
:returns: bool
"""
output = pmb.chroot.root(args, ["getent", "passwd", username],
suffix, return_stdout=True, check=False)
return (output is not None)