kule isolation
Bu bilgisayarın sandbox'taki bir komuta veremediklerini gösterir ve komutların daha azıyla çalışıp çalışamayacağını seçmenizi sağlar.
Kullanım
kule isolation [OPTIONS]
Açıklama
Kule, sizin onayınız olmadan bir komutu amaçladığından daha az yalıtımla
asla çalıştırmaz. Bazı bilgisayarlarda sandbox'ın
bir kısmı kullanılamaz. Yaygın durum, ayrıcalıksız kullanıcı ad alanları
(unprivileged user namespaces) olmayan Linux'tur (Ubuntu 24.04 bunları
varsayılan olarak reddeder). Kule bunları her komuta kendine ait bir ağ,
bir /tmp, süreçler ve paylaşılan bellek vermek için kullanır.
Bir şey eksikken ve siz bunu kabul etmediyseniz Kule komutları ve ajanları
çalıştırmayı reddeder ve neyin eksik olduğunu söyler. kule isolation
eksikleri gösterir; --accept-weaker on komutların bilgisayarın
verebildiğiyle çalışmasına izin verir. Seçiminiz Kule'nin evinde
(isolation.json) saklanır.
macOS'ta eksik yoktur.
Seçenekler
| Seçenek | Değer | Varsayılan | Anlamı |
|---|---|---|---|
--accept-weaker | on ya da off | off | on, komutları bu bilgisayarın verebildiğiyle çalıştırır; off, bir şey eksik olduğu sürece onları reddeder. |
--home | yol | ~/.kule (ya da KULE_HOME) | Kule'nin evi. Bkz. genel seçenekler. |
-h, --help | Yardımı yazdırır. |
Örnekler
Her şeyi veren bir bilgisayar (macOS, ya da kullanıcı ad alanları ve yeni bir Landlock sürümü olan Linux):
$ kule isolation
this computer gives a sandboxed command all of its isolation
Ayrıcalıksız kullanıcı ad alanları olmayan bir Linux bilgisayar:
$ kule isolation
this computer cannot give a sandboxed command:
- shared memory of its own: it could open the System V segments and queues of your other programs
- a network of its own: only the proxy's port is checked, on any address, and datagrams pass
- agents' settings kept read-only while it runs: they are put back after it instead
- a /tmp of its own: it shares /tmp with your other programs and tasks
- processes of its own: what it leaves running is found by a guess, which one could slip
not accepted: commands are refused (kule isolation --accept-weaker on)
Satırların tam hali çekirdeğe bağlıdır: hangi ad alanlarına izin verdiği ve hangi Landlock sürümüne sahip olduğu.
Kabul edin:
$ kule isolation --accept-weaker on
this computer cannot give a sandboxed command:
...
accepted: commands run with what it gives
Yeniden reddetmeye dönün:
$ kule isolation --accept-weaker off
Daha iyisi: bilgisayara Kule'nin ihtiyacını verin
Ubuntu 24.04 ve sonrasında daha azını kabul etmek yerine ayrıcalıksız kullanıcı ad alanlarına izin verin:
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0
Ayarın yeniden başlatmadan sonra da kalması için aynı ayarı /etc/sysctl.d/
altındaki bir dosyaya yazın. Ağ kuralları ayrıca Linux 6.7 ya da sonrasını
(Landlock ABI 4) gerektirir. Bkz. Platformlar.
Hatalar ve çözümler
| Mesaj | Ne yapmalı |
|---|---|
kule: maybe: on or off | --accept-weaker, on ya da off alır. |
this computer cannot give the command …. Kule does not run it less isolated without your say: accept weaker isolation in Settings → Policy, or with kule isolation --accept-weaker on (exec ya da run'dan) | Yukarıdaki gibi kullanıcı ad alanlarına izin verin ya da daha zayıf yalıtımı bilerek kabul edin. |
Uygulamada
Settings → Policy neyin eksik olduğunu listeler ve siz Run agents with what this computer gives (ajanları bu bilgisayarın verebildiğiyle çalıştır) kutusunu işaretleyene kadar hiçbir ajan çalışmaz. Bu geçerli olduğu sürece başlık çubuğunda Weaker isolation (daha zayıf yalıtım) yazar.