- infos = Information about the passwd plugin is in keys below
- infos/author = Thomas Waser thomas.waser@libelektra.org
- infos/licence = BSD
- infos/needs =
- infos/provides = storage/passwd
- infos/recommends =
- infos/placements = getstorage setstorage
- infos/status = maintained reviewed conformant compatible coverage specific unittest tested nodep libc configurable experimental limited
- infos/metadata =
- infos/description = storage plugin for passwd files
This plugin parses passwd files, e.g. /etc/passwd.
See installation.
The package is called libelektra5-experimental.
The non-POSIX function fgetpwent (GNU_SOURCE) will be used to
read the file supplied by the resolver.
As a fallback we implemented our own version based on musls fgetpwent.
For writing putpwent (GNU_SOURCE) will be used.
If it is not available the plugin will write straight to the config file.
For the plugin to be build at least POSIX_C_SOURCE >= 200809L compatibility
is required.
If the config key index is set to name passwd entries will be sorted by name, if not set or set to uid passwd entries will be sorted by uid
gecoscontains the full name of the accountgidcontains the accounts primary group idhomecontains the path to the accounts home directoryshellcontains the accounts default shelluidcontains the accounts uidnamecontains the account name
To mount the passwd file you can run
sudo kdb mount /etc/passwd system:/tests/passwd passwd index=nameTo see which entries for the root user exist you can run
kdb ls system:/tests/passwd/root
#> system:/tests/passwd/root
#> system:/tests/passwd/root/gecos
#> system:/tests/passwd/root/gid
#> system:/tests/passwd/root/home
#> system:/tests/passwd/root/passwd
#> system:/tests/passwd/root/shell
#> system:/tests/passwd/root/uidIf you want to receive one specific value you can run for example
kdb get system:/tests/passwd/root/gecosYou can also export it as whole in any format you like, for example JSON
kdb export system:/tests/passwd/root json
# {
# "gecos": "root",
# "gid": "0",
# "home": "/root",
# "passwd": "x",
# "shell": "/bin/bash",
# "uid": "0"
# }
To unmount it, you can run
sudo kdb umount system:/tests/passwd