Sistem operasi desktop yang berfokus pada privasi ringan berdasarkan Devuan dan LXC. Proyek untuk pendidikan mandiri, dan upaya lain untuk membuat alternatif untuk qubes OS. Ini belum menjadi distro dan mungkin tidak akan pernah. Ini adalah satu set file dan tambalan, skrip makecex sederhana, dan instruksi à la lfs.
Bekerja dalam proses.
Saat ini, sistem ini mencerminkan pengalaman saya dan penuh dengan preferensi pribadi. Beberapa dari mereka tidak berdasar. Saya bersumpah saya akan menyingkirkan mereka segera setelah jumlah pengguna akan melampaui 1,5. Tetapi secara umum, alasannya adalah sebagai berikut:
Media yang dapat di -boot dengan sistem langsung dapat dihasilkan dengan Makecex. Anda akan memerlukan PPA yang dapat dibuat dengan menyiapkan dan membangun skrip.
Hanya mode boot warisan yang didukung untuk AMD64 untuk saat ini.
Skrip berisi parameter di awal, merevisinya dengan hati -hati sebelum berjalan. Anda dapat menulis parameter yang dimodifikasi ke makecex.conf alih -alih membuat perubahan pada skrip.
Rancangan/bagian kotak pasir.
Sejak LXCEX pindah ke Idmapped Mounts, izin file menjadi lebih penting. Dengan uidmapshift semua data kontainer tidak dapat diakses dari pengguna yang tidak beruntung pada sistem dasar. Itu tidak lagi terjadi dengan pemasangan yang diubah karena pengguna yang tidak mampu melintasi sistem pangkalan dan wadah memiliki ID umum.
Pastikan semua subdirektori di /var/lib/lxc memiliki izin minimal dan setidaknya tidak dapat dibaca oleh other . Hal yang sama berlaku untuk data wadah yang disimpan di tempat lain.
Namun, agar dudukan yang diubah dapat bekerja, izin minimal harus mencakup traversal direktori untuk orang lain. Ini bisa dikerjakan di sekitar menggunakan setfacl , tetapi komlikasinya kelebihan kenyamanan.
Jika semua hal di atas adalah masalah keamanan, jangan gunakan pemasangan yang diubah.
/dev/ptmx setelah beberapa saat.sh jika Weston dimulai dengan runit, di mana cangkang induk adalah sh .lxcex Hardcoded, biarkan pengguna untuk menyesuaikannya?uidmapshift untuk saat ini. Sebagai pengganti untuk ls -l /var/lib/lxc yang menunjukkan ID dari uidmapshift ed, wadah, ada skrip lxcex-idmap sekarang yang menunjukkan ID pengguna bawahan untuk setiap wadah yang menggunakan IDMAP.Oke, menjatuhkan garis di sini. Saya tampaknya masih menjadi satu pengguna tunggal dari semua hal ini dan, seperti yang dikatakan teman -teman Afrika saya, "Daz Good!"
Banyak fitur yang diinginkan. Nomor satu adalah menyingkirkan runit. Nomor dua adalah UI utils. Semua keinginan lain hanyalah sedikit hal.
Sejauh ini bagus. Bab 8 baru keluar.
Tiga bulan sejak awal, dan sekarang saya bisa mengucapkan selamat tinggal, Linuxmint. LXCEX ada di semua laptop saya mulai sekarang dan seterusnya.
Pembaruan Utama:
Namun tonggak lain: Makecex keluar! Skrip ini menghasilkan media yang dapat di -boot. Tidak diuji secara berlebihan, itu hanya berfungsi hanya untuk saya.
Paket repo keluar. Untuk saat ini satu -satunya paket di sana adalah uidmapshift. Berencana untuk menambahkan versi libpulse yang ditambal, sehingga menyingkirkan fixer izin file.
Meskipun Death from Laugh bukanlah tujuan utama saya, saya harus menambahkan kunci penandatanganan untuk saya, Anonim.
Otomatisasi sedang dalam perjalanan. Dimulai setelah saya berhasil menghancurkan sistem hanya dengan remounting/var/lib/lxc dengan wadah yang berjalan. Tidak menyadari itu sangat berbahaya. Tindakan ini menghancurkan semua partisi yang dipasang termasuk stick usb cadangan yang tidak ada hubungannya dengan itu. Mengapa???
Itu memainkan musik! Versi awal Bab 6 keluar, untuk diperbarui.
Lingkungan desktop xfce berfungsi!
Tag: 0.0.2
Komit dan rilis awal.
Anda mungkin bertanya -tanya bagaimana cara mengeluarkan apt upgrade untuk selusin kontainer termasuk sistem dasar. Itulah gunanya skrip dist-upgrade. Ini didasarkan pada lxcex-chroot yang menjalankan perintah arbitraty, dengan benar chrooting ke rootf wadah.
Mereka melenyapkan repositori yang tepat, jadi ada baiknya mengikuti instruksi mereka
Pada saat penulisan, Firefox (versi 123) menggunakan Wayland secara default. Jika Anda ingat, Wayland_Display diatur ulang di /home/user/.config/sv/xfce4/run dan ini membuat Firefox masuk ke Infinite Loop yang mengatakan
Warning: ConnectToCompositor() try again : Connection refused
Ada dua opsi:
Saya mencoba keduanya. Awalnya saya memilih yang terakhir, menggunakan skrip:
#!/bin/sh
if [ -n "$X_WAYLAND_DISPLAY" ] ; then
export WAYLAND_DISPLAY=$X_WAYLAND_DISPLAY
else
# fallback
export WAYLAND_DISPLAY=wayland-1
fi
firefox
Namun, ini membuat copy-paste merepotkan jadi saya kembali ke mode x untuk saat ini.
Pengaturan awal saya aneh dan rapuh hanya karena kurangnya pemahaman subtree bersama.
Inilah solusinya:
Buat beberapa titik gunung dibagikan secara rekursif. Anda tidak dapat membuat direktori sewenang -wenang dalam sistem file rshared (itulah titik kesalahpahaman saya), itu harus menjadi titik pemasangan yang sebenarnya, yaitu direktori di mana beberapa sistem file dipasang.
Saya ingin menggunakan /mnt/autofs untuk autof jadi mari kita memasang tmpf di sana dan rshare itu:
mkdir -p /mnt/autofs
mount -t tmpfs -o size=64K --make-rshared tmpfs /mnt/autofs
mkdir /mnt/autofs/myserver
Buat Konfigurasi Autofs:
mkdir /etc/auto.maps
echo "/mnt/autofs/myserver /etc/auto.maps/myserver" >/etc/auto.master.d/myserver.autofs
echo "shared-dir myserver.example.com:/var/share/top-secret" >/etc/auto.maps/myserver
dan restart autofs.
Tambahkan baris berikut ke konfigurasi wadah:
lxc.mount.entry = /mnt/autofs mnt/autofs none create=dir,rbind 0 0
Mulai wadahnya. Di dalam, ls /mnt/myserver/shared-dir harus bekerja seperti yang diharapkan.
Namun, pengguna: grup tidak akan menjadi siapa pun: nogroup dan saya tidak tahu bagaimana mengatur pemetaan ID yang benar.
menulibre terlihat agak bloatware dan saat ini benar -benar rusak di Excalibur. Namun, cukup mudah untuk mengedit menu secara manual:
.config/menus/xfce-applications.menu.local/share/applicationsWadah sangat bagus untuk mengisolasi ruang kerja seolah -olah mereka berjalan pada mesin yang terpisah. Ini sangat menyederhanakan hal-hal seperti jaringan yang terlalu rentan kesalahan atau tidak mungkin dipertahankan dalam satu sistem.
Tetapi pada tingkat kontainer semuanya masih sama: direktori home tunggal di mana semua aplikasi memiliki akses penuh ke data pengguna.
Ini berbahaya. Berpotensi, setiap program yang menggunakan jaringan dapat membocorkan data sensitif Anda, bahkan tidak secara tidak intensi.
Pada dasarnya, semua program yang bekerja dengan data Anda harus dijalankan dalam wadah dengan jaringan yang dinonaktifkan, dan mungkin saya akan berakhir dengan pengaturan seperti itu.
Tetapi untuk saat ini saya memiliki beberapa lingkungan XFCE Legacy masing -masing berjalan di wadahnya sendiri. Solusi sementara yang saya gunakan dalam wadah tersebut adalah akses jaringan terbatas untuk pengguna utama dan menjalankan semua perangkat lunak jaringan sebagai pengguna yang berbeda. Perangkat lunak ini termasuk browser Firefox, Chromium, Mullvad, dan Tor, ditambah Thunderbird. Tentu saja, beberapa sudah mendukung Wayland tetapi LXCEX masih memiliki masalah copy-pasting dan merupakan faktor pemblokiran untuk menjalankannya secara asli.
Inilah pengaturannya, pada contoh Firefox, yang dapat digunakan sebagai pelat boiler untuk program lain.
Pertama, buat pengguna terpisah:
useradd -g users --skel /etc/skel --shell /bin/bash --create-home firefox
Kemudian, pindahkan direktori:
mkdir /home/firefox/.cache
mv /home/user/.mozilla /home/firefox/
mv /home/user/.cache/firefox /home/firefox/.cache/
chown -R firefox /home/firefox
Selanjutnya, siapkan skrip /usr/local/bin/start-firefox :
#!/bin/sh
USER=firefox
if [ -z "$1" ] ; then
xhost +SI:localuser:$USER
exec sudo $0 dosu
elif [ "$1" = "dosu" ] ; then
exec su -l -c "$0 run" $USER
elif [ "$1" = "run" ] ; then
cd /home/$USER
. /usr/local/share/lxcex-xdg.sh
export DISPAY=:0.0
exec firefox --display=:0.0
fi
Sebenarnya, variabel lingkungan DISPLAY tidak diperlukan di sini, tetapi skrip ini dapat digunakan sebagai boilerplate untuk menjalankan aplikasi lain jadi saya sengaja meninggalkannya.
Akhirnya, buat /etc/sudoers.d/50-start-firefox (sayang, sudo diperlukan):
user ALL = NOPASSWD: /usr/local/bin/start-firefox dosu
Anda mungkin perlu memodifikasi entri menu start XFCE. Dan untuk menambahkan -p opsi untuk pertama kalinya, jika tidak Firefox dapat mulai dengan profil kosong.
Ide yang bagus untuk berbagi direktori Downloads . Pendekatan sebelumnya adalah direktori yang ditulis oleh kelompok dengan symlink untuk itu, tetapi cara terbaik adalah lxces-share .
Biarkan Downloads direcroty berada di direktori home user , seperti dulu. Kemudian, buat sharetab berikut untuk wadah:
/var/lib/lxc/<container-name>/rootfs/home/user/Downloads firefox /home/firefox/Downloads
Dan gunakan kait dalam konfigurasi kontainer, seperti yang ditunjukkan pada Bab 8:
lxc.hook.pre-start = /usr/local/bin/lxcex-share
lxc.hook.mount = /usr/local/bin/lxcex-share
lxc.hook.start = /usr/local/bin/lxcex-share
lxc.hook.post-stop = /usr/local/bin/lxcex-share
Menemukan artikel ini ketika menulis Bab 6: https://discuss.linuxcontainers.org/t/audio-via-pulseaudio-inside-container/8768 Mereka menggunakan LXD dan layak untuk melihat proxy soket implementasi. Bisakah kita menggunakannya untuk mempertahankan soket kontainer dan terhubung kembali ke soket host ketika kompositor dasar akan dimulai kembali? Atau ketika wadah dilanjutkan dari hibernasi?
Lagi,
Saya tidak mengerti mengapa saya harus melakukannya
mount --make-shared /run IE /run , Not /run/user jika saya melakukan mount --rbind /run/user "${LXC_ROOTFS_MOUNT}/run/host/run/user" dalam wadah dan ingin semua pengiriman UID merambat.
Setelah membaca kembali bahwa beberapa kali itu harus jelas, pada akhirnya.
smartd adalah alat yang paling andal untuk menonaktifkan spindown HDD sejauh ini:
/etc/default/smartmontools : smartd_opts="--interval=10 --attributelog=- --savestate=-"
--interval , orang lain menonaktifkan status tabungan yang tidak pernah saya butuhkan.-n opsi never ada di etc/smartd.conf , yaitu: DEVICESCAN -d removable -n never -m root -M exec /usr/share/smartmontools/smartd-runner
Paket tambahan saya, hanya untuk catatan.
gnome-font-viewer , terlihat tidak perlugthumbbreeze-icon-theme .systemsettings : Dipasang untuk berjaga -jaga, nol laba sejauh ini.libnss3 , libasound2