Saya mencoba menulis bootstrapper untuk distribusi linux minimal dari sumber.
Saya ingin membangun di lingkungan seperti chroot. Ini harus menyederhanakan kemasan. Saya tidak peduli dengan keamanan pada saat ini. Bootstrapper seharusnya tidak memerlukan perintah pihak ketiga yang tidak standar. Akan lebih bagus jika tidak perlu menjadi root.
Inilah mengapa fakechroot (1) fakeroot (1) chroot (1) tidak persis seperti yang saya cari.
Apakah mungkin untuk berpura-pura / menggunakan unshare (1) dan / bin / sh?
chroot
not-root-user
namespace
unshare
Rooties
sumber
sumber
unshare(1)
adalah pembungkus yang agak tipis di sekitar kumpulan panggilan sistem hanya root, dan (setidaknya pada Fedora 18) itu bukan SUID, jadi saya sangat meragukan bahwa itu akan bekerja untuk pengguna non-root.Jawaban:
Iya. Jika kernel Anda mendukung user_namespaces (dan mereka diaktifkan) , Anda dapat terlebih dahulu "mensimulasikan root", yang kemudian mendapatkan hak untuk memanggil
chroot
(sebagai pengguna root nyata). (Yang sebelumnya perlu dibatasi hanya untuk pengguna root karena kemungkinan peningkatan hak istimewa oleh pengguna normal (katakanlah, melalui binari set-UID-root dan perpustakaan khusus di direktori chroot).)Anda dapat mencoba ini di shell Anda:
sumber
unshare
dari util-linux-2.30.2-alt1Hanya bundel atau instal fakeroot / fakechroot, karena mereka sudah sangat cocok untuk ini. Lihatlah cdebootstrap untuk mencari inspirasi.
sumber