Ito ang command na lxc-attach na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
lxc-attach - magsimula ng proseso sa loob ng tumatakbong lalagyan.
SINOPSIS
lxc-attach {-n pangalan} [-a arko] [-e] [-s mga namespace] [-R] [--keep-env] [--clear-env] [--
utos]
DESCRIPTION
lxc-attach nagpapatakbo ng tinukoy utos sa loob ng lalagyan na tinukoy ni pangalan. ang
kailangang tumatakbo na ang lalagyan.
Kung hindi utos ay tinukoy, ang kasalukuyang default na shell ng gumagamit na tumatakbo lxc-attach habilin
hahanapin sa loob ng lalagyan at ipapatupad. Mabibigo ito kung walang ganoong user
sa loob ng lalagyan o ang lalagyan ay walang gumaganang mekanismo ng nsswitch.
Mga nakaraang bersyon ng lxc-attach naka-attach lang sa mga tinukoy na namespace ng isang container
at nagpatakbo ng shell o ang tinukoy na command nang hindi muna naglalaan ng pseudo terminal. Ito
ginawa silang bulnerable sa input faking sa pamamagitan ng isang TIOCSTI ioctls tawag pagkatapos magpalipat-lipat
mga konteksto ng pagpapatupad ng userspace na may iba't ibang antas ng pribilehiyo. Mas bagong bersyon ng lxc-attach
ay susubukan na maglaan ng pseudo terminal master/slave pair sa host at mag-attach ng anuman
karaniwang file descriptor na tumutukoy sa isang terminal sa slave side ng pseudo
terminal bago magsagawa ng shell o command. Tandaan, na kung wala sa karaniwang file
ang mga deskriptor ay tumutukoy sa isang terminal lxc-attach hindi susubukan na maglaan ng pseudo terminal.
Sa halip, ikakabit lamang nito ang mga namespace ng mga lalagyan at magpapatakbo ng isang shell o ang
tinukoy na utos.
Opsyon
-a, --arko arko
Tukuyin ang arkitektura kung saan ang kernel ay dapat lumitaw na tumatakbo bilang sa
naisakatuparan ang utos. Tatanggapin ng opsyong ito ang parehong mga setting gaya ng lxc.arch opsyon
sa mga file ng pagsasaayos ng lalagyan, tingnan lxc.conf(5). Bilang default, ang kasalukuyang
arkitektura ng tumatakbong lalagyan ang gagamitin.
-e, --nakataas na mga pribilehiyo karapatan
Huwag iwanan ang mga pribilehiyo kapag tumatakbo utos sa loob ng lalagyan. Kung ang pagpipiliang ito ay
tinukoy, ang bagong proseso ay hindi idagdag sa (mga) cgroup ng container at ito
hindi ibababa ang mga kakayahan nito bago isagawa.
Maaari mong tukuyin ang mga pribilehiyo, kung sakaling hindi mo nais na itaas ang lahat ng mga ito, bilang a
pipe-separated list, hal CGROUP|LSM. Ang mga pinapayagang halaga ay CGROUP, Takip at NGO
kumakatawan sa cgroup, mga kakayahan at mga pribilehiyo ng paghihigpit ayon sa pagkakabanggit. (Ang
kailangang i-escape ang simbolo ng pipe, hal CGROUP\|LSM o sinipi, hal "CGROUP|LSM".)
Babala: Maaari itong mag-leak ng mga pribilehiyo sa container kung magsisimula ang command
subprocesses na nananatiling aktibo pagkatapos ng pangunahing proseso na nakalakip ay
winakasan. Ang (muling) pagsisimula ng mga daemon sa loob ng lalagyan ay may problema,
lalo na kung ang daemon ay nagsisimula ng maraming subprocesses tulad ng cron or sshd. paggamit
sa malaki pag-aalaga.
-oo, --namespaces mga namespace
Tukuyin ang mga namespace na ikakabit, bilang isang listahang pinaghihiwalay ng pipe, hal NETWORK|IPC.
Ang mga pinapayagang halaga ay Kabayong sasakyan, PID, UTSNAME, IPC, USER at NETWORK. Ito ay nagpapahintulot sa isa na
baguhin ang konteksto ng proseso sa hal. ang network namespace ng container
habang pinapanatili ang iba pang mga namespace bilang sa mga host. (Kailangan ng simbolo ng tubo
upang makatakas, hal MOUNT\|PID o sinipi, hal "MOUNT|PID".)
Mahalaga: Ang pagpipiliang ito ay nagpapahiwatig -e.
-R, --remount-sys-proc
Kapag gumagamit -s at ang mount namespace ay hindi kasama, ang flag na ito ay magiging sanhi lxc-
ikabit upang i-mount muli / proc at / sys upang ipakita ang kasalukuyang iba pang mga konteksto ng namespace.
Mangyaring tingnan ang Mga Tala seksyon para sa karagdagang detalye.
Hindi papansinin ang opsyong ito kung susubukan pa rin ng isa na ilakip sa mount namespace.
--panatilihin-env
Panatilihin ang kasalukuyang kapaligiran para sa mga naka-attach na programa. Ito ang kasalukuyang default
pag-uugali (mula sa bersyon 0.9), ngunit malamang na magbago sa hinaharap, dahil ito
maaaring tumagas ng hindi kanais-nais na impormasyon sa lalagyan. Kung umaasa ka sa kapaligiran
na magagamit para sa kalakip na programa, mangyaring gamitin ang opsyong ito upang maging hinaharap-
patunay. Bilang karagdagan sa mga kasalukuyang variable ng kapaligiran, itatakda ang container=lxc.
--clear-env
I-clear ang environment bago i-attach, para walang tumutulo na hindi gustong environment variable
sa lalagyan. Ang variable na container=lxc ang magiging tanging environment na may
kung saan magsisimula ang kalakip na programa.
KARANIWANG Opsyon
Ang mga opsyon na ito ay karaniwan sa karamihan ng mga utos ng lxc.
-?, -h, - Tumulong
Mag-print ng mas mahabang mensahe sa paggamit kaysa sa karaniwan.
--gamit
Ibigay ang mensahe ng paggamit
-q, --tahimik
naka-mute
-P, --lxcpath=PATH
Gumamit ng kahaliling landas ng lalagyan. Ang default ay /var/lib/lxc.
-o, --logfile=FILE
Output sa isang kahaliling log FILE. Ang default ay walang log.
-l, --logpriority=ANTAS
Itakda ang log priority sa ANTAS. Ang default na priority ng log ay ERROR. Ang mga posibleng halaga ay:
FATAL, CRIT, WARN, ERROR, NOTICE, INFO, DEBUG.
Tandaan na ang opsyong ito ay nagtatakda ng priyoridad ng log ng mga kaganapan sa kahaliling
log file. Wala itong epekto sa ERROR events log sa stderr.
-n, --pangalan=NAME
Gumamit ng container identifier NAME. Ang format ng container identifier ay isang alphanumeric
string.
--bersyon
Ipakita ang numero ng bersyon.
HALIMBAWA
Para mag-spawn ng bagong shell na tumatakbo sa loob ng kasalukuyang container, gamitin
lxc-attach -n lalagyan
Para i-restart ang cron service ng isang tumatakbong Debian container, gamitin
lxc-attach -n lalagyan -- /etc/init.d/cron i-restart ang
Upang i-deactivate ang network link eth1 ng tumatakbong container na walang
NET_ADMIN kakayahan, gamitin ang alinman sa -e opsyon na gumamit ng mas mataas na kakayahan, sa pag-aakalang ang
ip naka-install ang tool:
lxc-attach -n container -e -- /sbin/ip link tanggalin ang eth1
O, bilang kahalili, gamitin ang -s upang gamitin ang mga tool na naka-install sa host sa labas ng
lalagyan:
lxc-attach -n container -s NETWORK -- /sbin/ip link tanggalin ang eth1
Kakayahan na
Ang ganap na pag-attach (kabilang ang pid at mount namespaces) sa isang container ay nangangailangan ng a
kernel ng bersyon 3.8 o mas mataas, o isang naka-patch na kernel, mangyaring tingnan ang lxc website para sa
mga detalye. lxc-attach ay mabibigo sa kasong iyon kung ginamit sa isang hindi naka-patch na kernel ng bersyon 3.7
at bago.
Gayunpaman, ito ay magtatagumpay sa isang unpatched kernel ng bersyon 3.0 o mas mataas kung ang -s
Ang opsyon ay ginagamit upang paghigpitan ang mga namespace kung saan ang proseso ay ikakabit sa isa o
higit pa sa NETWORK, IPC at UTSNAME.
Ang pag-attach sa mga namespace ng user ay sinusuportahan ng kernel 3.8 o mas mataas na may pagpapagana ng user
namespace.
NOTA
Ang Linux / proc at / sys Ang mga filesystem ay naglalaman ng impormasyon tungkol sa ilang mga dami na
apektado ng mga namespace, gaya ng mga direktoryo na pinangalanan pagkatapos ng mga process id sa / proc o ang
impormasyon sa interface ng network sa /sys/class/net. Ang namespace ng proseso ng pag-mount ng
Tinutukoy ng mga pseudo-filesystem kung anong impormasyon ang ipinapakita, hindi ang namespace ng proseso
pag-access / proc or / sys.
Kung ang isa ay gumagamit ng -s opsyon na i-attach lamang sa pid namespace ng isang container, ngunit hindi nito
mount namespace (na maglalaman ng / proc ng lalagyan at hindi ang host), ang
nilalaman ng / proc ay magpapakita ng sa host at hindi sa lalagyan. Analogously, ang
parehong isyu ang nangyayari kapag binabasa ang mga nilalaman ng /sys/class/net at nakakabit sa lamang ng
namespace ng network.
Upang malutas ang problemang ito, ang -R Ang flag ay nagbibigay ng opsyong i-remount / proc at / sys in
utos para sa kanila na ipakita ang konteksto ng network/pid namespace ng nakalakip na proseso. Sa
upang hindi makagambala sa aktwal na filesystem ng host, ang mount namespace ay magiging
hindi nakabahagi (tulad ng lxc-unshare ginagawa) bago ito magawa, mahalagang nagbibigay ng bago sa proseso
mount namespace, na kapareho ng mount namespace ng mga host maliban sa / proc
at / sys mga filesystem.
Mga nakaraang bersyon ng lxc-attach nagdusa ng isang bug kung saan ang isang gumagamit ay maaaring maglakip sa isang lalagyan
namespace nang hindi inilalagay sa isang writeable cgroup para sa ilang kritikal na subsystem. Mas bago
mga bersyon ng lxc-attach ay titingnan kung ang isang user ay nasa isang writeable cgroup para sa mga iyon
kritikal na mga subsystem. lxc-attach maaaring mabigo nang hindi inaasahan para sa ilang mga gumagamit (Hal sa
mga system kung saan ang isang walang pribilehiyong user ay hindi inilalagay sa isang writeable cgroup sa kritikal
mga subsystem sa pag-login.). Gayunpaman, ang pag-uugali na ito ay tama at mas ligtas.
SEGURIDAD
Ang -e at -s ang mga opsyon ay dapat gamitin nang may pag-iingat, dahil maaari itong masira ang paghihiwalay ng
mga lalagyan kung ginamit nang hindi wasto.
Gumamit ng lxc-attach online gamit ang mga serbisyo ng onworks.net