Questo è il comando lxc-attach che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
lxc-attach: avvia un processo all'interno di un contenitore in esecuzione.
SINOSSI
lxc-attacca {-N Nome} [-UN arco] [-e] [-s spazi dei nomi] [-R] [--keep-env] [--clear-env] [--
command]
DESCRIZIONE
lxc-attacca esegue lo specificato command all'interno del contenitore specificato da Nome.
il contenitore deve essere già in esecuzione.
Se no command viene specificata la shell predefinita corrente dell'utente in esecuzione lxc-attacca andrete a
essere cercato all'interno del contenitore ed eseguito. L'operazione fallirà se non esiste alcun utente di questo tipo
all'interno del contenitore o il contenitore non dispone di un meccanismo di commutazione funzionante.
Versioni precedenti di lxc-attacca semplicemente allegato agli spazi dei nomi specificati di un contenitore
ed ha eseguito una shell o il comando specificato senza prima allocare uno pseudo terminale. Questo
li hanno resi vulnerabili alla falsificazione di input tramite un TIOCSTI ioctls chiamata dopo il passaggio da una all'altra
contesti di esecuzione dello spazio utente con diversi livelli di privilegio. Versioni più recenti di lxc-attacca
proverà ad allocare una coppia master/slave pseudoterminale sull'host e ad allegarne una qualsiasi
descrittori di file standard che si riferiscono a un terminale sul lato slave dello pseudo
terminale prima di eseguire una shell o un comando. Tieni presente che se nessuno dei file standard
i descrittori si riferiscono a un terminale lxc-attacca non tenterà di allocare uno pseudo terminale.
Invece si collegherà semplicemente agli spazi dei nomi dei contenitori ed eseguirà una shell o il file
comando specificato.
VERSIONI
-un, --arco arco
Specificare l'architettura su cui il kernel dovrebbe apparire in esecuzione rispetto al file
comando eseguito. Questa opzione accetterà le stesse impostazioni di lxc.arch opzione
nei file di configurazione del contenitore, vedere lxc.conf(5). Per impostazione predefinita, il file current
verrà utilizzata l'architettura del contenitore in esecuzione.
-e, --privilegi-elevati privilegi
Non perdere i privilegi durante l'esecuzione command all'interno del contenitore. Se questa opzione lo è
specificato, il nuovo processo lo farà non è un essere aggiunto ai cgroup del contenitore e it
non abbandonerà le sue capacità prima dell'esecuzione.
È possibile specificare i privilegi, nel caso in cui non si desideri elevarli tutti, come a
elenco separato da pipe, ad es. GRUPPO|LSM. I valori consentiti sono GRUPPO, CAP e a LSM
che rappresentano rispettivamente cgroup, capacità e privilegi di restrizione. (IL
il simbolo della pipa deve essere sfuggito, ad es. GRUPPO\|LSM o citato, ad es "CGROUP|LSM".)
Attenzione: Ciò potrebbe perdere i privilegi nel contenitore se il comando viene avviato
sottoprocessi che rimangono attivi dopo che il processo principale è stato collegato
terminato. Il (ri)avvio dei demoni all'interno del contenitore è problematico,
soprattutto se il demone avvia molti sottoprocessi come cron or sshd. Usa il
con grande cura.
-S, --namespace spazi dei nomi
Specificare gli spazi dei nomi a cui allegare, come un elenco separato da pipe, ad es RETE|IPC.
I valori consentiti sono MONTARE, PID, NOMEUTS, IPC, UTENTE e a NETWORK. Questo permette di
cambia il contesto del processo ad esempio lo spazio dei nomi di rete del contenitore
mantenendo gli altri spazi dei nomi come quelli dell'host. (Il simbolo del tubo ha bisogno
essere fuggito, ad es MONTAGGIO\|PID o citato, ad es "MONTAGGIO|PID".)
Importante: Questa opzione implica -e.
-R, --remount-sys-proc
Quando si usa -s e lo spazio dei nomi di montaggio non è incluso, questo flag causerà lxc-
allegare rimontare / proc e a / sys per riflettere gli altri contesti attuali dello spazio dei nomi.
Si prega di consultare la Note .
Questa opzione verrà ignorata se si tenta comunque di collegarsi allo spazio dei nomi di montaggio.
--keep-env
Mantieni l'ambiente corrente per i programmi allegati. Questa è l'impostazione predefinita corrente
comportamento (a partire dalla versione 0.9), ma è probabile che cambi in futuro, dal momento che questo
potrebbero fuoriuscire informazioni indesiderate nel contenitore. Se ti affidi all'ambiente
essendo disponibile per il programma allegato, utilizzare questa opzione per essere futuri
prova. Oltre alle variabili di ambiente correnti, verrà impostato container=lxc.
--clear-env
Cancella l'ambiente prima di collegarlo, in modo che non vi siano perdite di variabili di ambiente indesiderate
nel contenitore. La variabile container=lxc sarà l'unico ambiente con
cui si avvia il programma allegato.
COMUNI VERSIONI
Queste opzioni sono comuni alla maggior parte dei comandi lxc.
-?, -H, --Aiuto
Stampa un messaggio di utilizzo più lungo del normale.
--uso
Dai il messaggio di utilizzo
-Q, --silenzioso
disattivare l'audio
-P, --lxcpercorso=PERCORSO
Utilizzare un percorso contenitore alternativo. Il valore predefinito è /var/lib/lxc.
-oh, --file di registro=RISORSE
Uscita su un registro alternativo RISORSE. L'impostazione predefinita è nessun registro.
-l, --logpriority=LIVELLO
Imposta la priorità del registro su LIVELLO. La priorità del registro predefinita è ERROR. I valori possibili sono:
FATALE, CRITICO, AVVISO, ERRORE, AVVISO, INFO, DEBUG.
Nota che questa opzione imposta la priorità del registro eventi nell'alternativa
file di registro. Non ha effetto sul log degli eventi ERROR su stderr.
-N, --nome=NOME
Usa identificatore contenitore NOME. Il formato dell'identificatore del contenitore è alfanumerico
stringa.
--versione
Mostra il numero di versione.
ESEMPI
Per generare una nuova shell in esecuzione all'interno di un contenitore esistente, utilizzare
lxc-attach -n contenitore
Per riavviare il servizio cron di un contenitore Debian in esecuzione, utilizzare
lxc-attach -n contenitore -- /etc/init.d/cron nuovo inizio
Per disattivare il collegamento di rete eth1 di un contenitore in esecuzione che non dispone di
NET_ADMIN, utilizzare la funzionalità -e opzione per utilizzare maggiori capacità, presupponendo che
ip lo strumento è installato:
lxc-attach -n contenitore -e -- /sbin/ip collegamento elimina eth1
Oppure, in alternativa, utilizzare il file -s utilizzare gli strumenti installati sull'host al di fuori del
contenitore:
lxc-attach -n contenitore -s RETE -- /sbin/ip collegamento elimina eth1
COMPATIBILITA '
Il collegamento completo (inclusi gli spazi dei nomi pid e mount) a un contenitore richiede a
kernel della versione 3.8 o successiva o un kernel con patch, consultare il sito Web lxc per
dettagli. lxc-attacca fallirà in questo caso se usato con un kernel senza patch della versione 3.7
e precedente.
Tuttavia, avrà successo su un kernel senza patch della versione 3.0 o successiva se il file -s
L'opzione viene utilizzata per limitare gli spazi dei nomi a cui deve essere collegato il processo a uno o
più di NETWORK, IPC e a NOMEUTS.
Il collegamento agli spazi dei nomi utente è supportato dal kernel 3.8 o versioni successive con l'abilitazione dell'utente
spazio dei nomi.
NOTE
Il Linux / proc e a / sys i filesystem contengono informazioni su alcune quantità che sono
interessati dagli spazi dei nomi, come le directory che prendono il nome dagli ID dei processi in / proc oppure
informazioni sull'interfaccia di rete in /sys/classe/net. Lo spazio dei nomi del processo che monta il file
gli pseudo-filesystem determinano quali informazioni vengono mostrate, non è un lo spazio dei nomi del processo
Accedendo / proc or / sys.
Se si usa il -s opzione per allegare solo allo spazio dei nomi pid di un contenitore, ma non al suo
mount namespace (che conterrà il file / proc del contenitore e non dell'host), il
contenuti di / proc rifletterà quello dell'host e non del contenitore. Analogamente, il
lo stesso problema si verifica durante la lettura del contenuto di /sys/classe/net e allegandolo solo a
spazio dei nomi di rete.
Per aggirare questo problema, il -R flag fornisce la possibilità di rimontare / proc e a / sys in
in modo che riflettano il contesto dello spazio dei nomi rete/pid del processo allegato. In
per non interferire con il filesystem effettivo dell'host, lo spazio dei nomi di montaggio sarà
non condiviso (come lxc-non condividere fa) prima che ciò venga fatto, essenzialmente dando al processo un nuovo
mount namespace, che è identico allo spazio dei nomi mount degli host ad eccezione di / proc
e a / sys file system.
Versioni precedenti di lxc-attacca soffriva di un bug per cui un utente poteva collegarsi a un contenitore
spazio dei nomi senza essere inserito in un cgroup scrivibile per alcuni sottosistemi critici. Più nuovo
versioni di lxc-attacca controllerà se un utente è in un cgroup scrivibile per quelli
sottosistemi critici. lxc-attacca potrebbe quindi fallire inaspettatamente per alcuni utenti (ad esempio su
sistemi in cui un utente non privilegiato non viene inserito in un cgroup scrivibile in critico
sottosistemi all'accesso.). Tuttavia, questo comportamento è corretto e più sicuro.
SICUREZZA
Le -e e a -s Le opzioni dovrebbero essere usate con attenzione, poiché potrebbero rompere l'isolamento del file
contenitori se utilizzati in modo improprio.
Utilizza lxc-attach online utilizzando i servizi onworks.net