Starting with OpenPKG 1.1, the bootstrapping package ("openpkg") uses four distinct Unix user/group id pairs (previous versions used only two).
Name Option RPM-Macro Default Example Files Proc. ---------------- ------ --------- ------------- ------- ----- ----- super user --susr %{l_susr} root root some some super group --sgrp %{l_sgrp} groupof(susr) wheel some some managing user --musr %{l_musr} <user> opkg most none managing group --mgrp %{l_mgrp} <group> opkg most none restricted user --rusr %{l_rusr} <user>-r opkg-r some some restricted group --rgrp %{l_rgrp} <group>-r opkg-r some some nobody user --nusr %{l_nusr} <user>-n opkg-n none most nobody group --ngrp %{l_ngrp} <group>-n opkg-n none most
The default values are derived from the options
--user=<user> and
--group=<group> on the command line of
openpkg-*.src.sh. For instance, the "Example" values above are achieved with
--user=opkg --group=opkg. In case of a non-privileged OpenPKG instance, the {mrn}{usr,grp} are usually identical.
For security reasons it is important to treat at least the "managing user/group" equal to the "super user/group", similar to what has to be done with the usual Unix "root" and "bin" user/group ids. The reason mainly is that the "super user/group" executes files intentionally owned by the "managing user/group".
Similarly the "restricted user/group" and "nobody user/group" have to be treated like the usual Unix user/group id "nobody" with the addition that the OpenPKG "restricted user/group" has little bit more privileges than the "nobody user/group" because (mostly generated) files are also owned by him.
Find more about this topic in the
Handbook.