Ich versuche, einen Bootstrapper für eine minimale Linux-Distribution von der Quelle zu schreiben.
Ich möchte in einer chroot-ähnlichen Umgebung bauen. Dies sollte das Verpacken vereinfachen. Sicherheit ist mir an dieser Stelle egal. Der Bootstrapper sollte keine nicht standardmäßigen Befehle von Drittanbietern erfordern. Es wäre großartig, wenn es auch nicht nötig wäre, root zu sein.
Deshalb ist fakechroot (1) fakeroot (1) chroot (1) nicht genau das, wonach ich suche.
Ist es möglich, unshare (1) und / bin / sh zu fälschen / zu verwenden?
chroot
not-root-user
namespace
unshare
Rooties
quelle
quelle
unshare(1)
ist ein ziemlich dünner Wrapper für eine Sammlung von Nur-Root-Systemaufrufen, und (zumindest unter Fedora 18) ist es kein SUID, daher bezweifle ich sehr, dass dies für Nicht-Root-Benutzer funktionieren wird.Antworten:
Ja. Wenn Ihr Kernel user_namespaces unterstützt (und diese aktiviert sind) , können Sie zuerst den Benutzer "root" simulieren, der dann das Recht zum Aufrufen erhält
chroot
(als echter Root-Benutzer). (Diese Funktion musste zuvor nur auf den Root-Benutzer beschränkt werden, da ein normaler Benutzer die Möglichkeit zur Eskalation von Berechtigungen hatte.) (z. B. über Set-UID-Root-Binärdateien und benutzerdefinierte Bibliotheken im Chroot-Verzeichnis).)Sie können dies in Ihrer Shell versuchen:
quelle
unshare
von util-linux-2.30.2-alt1Einfach fakeroot / fakechroot bündeln oder installieren, da sie dafür schon perfekt geeignet sind. Schauen Sie sich cdebootstrap als Inspiration an.
quelle