<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
\begin{DoxyItemize}
\item infos = Information about the passwd plugin is in keys below
\item infos/author = Thomas Waser \href{mailto:thomas.waser@libelektra.org}{\tt thomas.\+waser@libelektra.\+org}
\item infos/licence = B\+SD
\item infos/needs =
\item infos/provides = storage/passwd
\item infos/recommends =
\item infos/placements = getstorage setstorage
\item infos/status = maintained reviewed conformant compatible coverage specific unittest tested nodep libc configurable experimental limited
\item infos/metadata =
\item infos/description = storage plugin for passwd files
\end{DoxyItemize}

This plugin parses {\ttfamily passwd} files, e.\+g. {\ttfamily /etc/passwd}.

The non-\/\+P\+O\+S\+IX function {\ttfamily fgetpwent} (G\+N\+U\+\_\+\+S\+O\+U\+R\+CE) will be used to read the file supplied by the resolver. As a fallback we implemented our own version based on musls {\ttfamily fgetpwent}.

For writing {\ttfamily putpwent} (G\+N\+U\+\_\+\+S\+O\+U\+R\+CE) 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 {\ttfamily P\+O\+S\+I\+X\+\_\+\+C\+\_\+\+S\+O\+U\+R\+CE $&gt;$= 200809L} compatibility is required.

If the config key {\ttfamily index} is set to {\ttfamily name} passwd entries will be sorted by name, if not set or set to {\ttfamily uid} passwd entries will be sorted by uid


\begin{DoxyItemize}
\item {\ttfamily gecos} contains the full name of the account
\item {\ttfamily gid} contains the accounts primary group id
\item {\ttfamily home} contains the path to the accounts home directory
\item {\ttfamily shell} contains the accounts default shell
\item {\ttfamily uid} contains the accounts uid
\item {\ttfamily name} contains the account name
\end{DoxyItemize}


\begin{DoxyCode}
kdb mount /etc/passwd system/passwd passwd index=name
kdb export system/passwd/root
#&gt; gecos = root
#&gt; gid = 0
#&gt; home = /root
#&gt; passwd = x
#&gt; shell = /bin/zsh
#&gt; uid = 0
\end{DoxyCode}
 </pre></body></html>