Ana içeriğe geç

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çenekDeğerVarsayılanAnlamı
--accept-weakeron ya da offoffon, komutları bu bilgisayarın verebildiğiyle çalıştırır; off, bir şey eksik olduğu sürece onları reddeder.
--homeyol~/.kule (ya da KULE_HOME)Kule'nin evi. Bkz. genel seçenekler.
-h, --helpYardı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​

MesajNe 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.

Ayrıca bakın​