SCHROOT(1) 2022 SCHROOT(1) NOME schroot - entrar num ambiente chroot em seguranca SUMARIO schroot [-h|--help | -V|--version | -l|--list | -i|--info | --config | --location | --automatic-session | -b|--begin-session | --recover-session | -r|--run-session | -e|--end-session] [-f|--force] [-n session-name|--session-name=session-name] [-d directory|--directory=directory] [-u user|--user=user] [-p|--preserve-environment] [-s shell|--shell=shell] [-q|--quiet | -v|--verbose] [-c chroot|--chroot=chroot | [--all | --all-chroots | --all-source-chroots | --all-sessions] [--exclude-aliases]] [-o|--option=key=value] [--] [COMMAND [ ARG1 [ ARG2 [ ARGn]]]] DESCRICAO schroot permite ao utilizador correr um comando ou um login de shell num ambiente chroot. Se nenhum comando for especificado, sera iniciado um login shell dentro do directorio de trabalho do utilizador dentro da chroot. O comando e um programa, mais os quantos argumentos opcionais que requer. Cada argumento pode ser citado em separado. O directorio onde comando ou login shell e corrido depende do contexto. Veja a opcao --directory em baixo para uma descricao completa. Toda a utilizacao de chroot sera registada nos logs do sistema. Sob algumas circunstancias, pode ser requerido ao utilizador a se autenticar; veja a seccao "Autenticacao", em baixo. Se nenhum chroot for especificado, o nome ou alias `predefinido' do chroot sera usado como recurso. Isto e o equivalente a "--chroot=default". VISAO GERAL Frequentemente existe a necessidade de correr programas num ambiente virtualizado em vez de o fazer directamente no sistema anfitriao. Ao contrario de outros sistemas de virtualizacao como kvm ou Xen, o schroot nao virtualiza o sistema inteiro, apenas virtualiza o sistema de ficheiros, e algumas partes do sistema de ficheiros podem ainda ser partilhadas com o anfitriao. E por isto rapido, leve e flexivel. No entanto, nao virtualiza outros aspectos so sistema, tal como memoria partilhada, rede, dispositivos, etc, e por isto pode ser menos seguro que outros sistemas, dependendo da sua intencao de uso. Alguns exemplos de utilizacoes existentes para o schroot incluem: o Correr um programa nao-confiavel numa caixa de areia, para que este nao consiga interferir com ficheiros no sistema anfitriao; isto pode tambem ser usado para limitar os danos que um servico comprometido possa infligir ao anfitriao o Usar um ambiente definido ou limpo, para garantir a reprodutividade e integridade de uma dada tarefa o Usar versoes diferentes de um sistema operativo, ou mesmo diferentes sistemas operativos juntamente, ex. diferentes distribuicoes de GNU/Linux o Correr programas de 32-bit usando uma chroot de 32-bit num sistema de maquina de 64-bit o Compilacao automatica de pacotes Debian usando sbuild(1), o qual compila cada pacote numa imagem chroot primitiva quando se usa imagens LVM ou unioes o Suportar varias imagens de sistema numa configuracao de cluster, onde modificar a imagem base consome tempo e/ou suportar todas as configuracoes requeridas necessarias pelos utilizadores e dificil: diferentes chroots podem suportar todas as configuracoes diferentes requeridas, e os utilizadores de cluster podem receber acesso as chroots que precisam (o que pode incluir acesso de root para utilizadores de confianca para manterem as suas proprias imagens) Uma chroot pode ser usada directamente como root ao correr chroot(8), mas os utilizadores normais nao sao capazes de usar este comando. O schroot permite o acesso a chroots para utilizadores normais usando o mesmo mecanismo, mas com varias funcionalidades adicionais. Enquanto o schroot usa um directorio como uma chroot tal como o chroot(8), nao requer que este seja um directorio regular no sistema de ficheiros. Apesar de isto ser a predefinicao, a chroot tambem pode ser criada a partir de um ficheiro, de um sistema de ficheiros, incluindo imagens LVM e Btrfs, e montagens em loopback, ou composta de uma camada superior unionfs. Sendo extensivel ao utilizador, o ambito para criar chroots a partir de diferentes fontes esta limitado apenas pela sua imaginacao. O schroot executa verificacoes de permissoes e permite configuracao automatizada adicional do ambiente da chroot, tal como montar sistemas de ficheiros adicionais e outras tarefas de configuracao. Esta configuracao automatizada e feita atraves da accao de scripts de configuracao que podem ser personalizados e estendidos para para executar quaisquer accoes necessarias. Accoes tipicas incluem montar o directorio home do utilizador, definir a rede e as bases de dados do sistema, e ate mesmo arrancar servicos. Estes sao mais uma vez inteiramente personalizaveis pelo administrador. Os scripts de configuracao sao corridos para todos os tipos de chroot, com a excepcao do tipo `plain', O tipo mais simples de chroot, que nao oferece nenhuma funcionalidade de configuracao automatizada. A configuracao do schroot esta coberta em mais detalhe em schroot.conf(5). OPCOES schroot aceita as seguintes opcoes: Accoes -h, --help Mostra o sumario de ajuda. -V, --version Escreve informacao de versao. -l, --list Lista todos os chroots disponiveis. -i, --info Escreve informacao detalhada acerca dos chroots especificados. --config Escreve a configuracao das chroots especificadas. Isto e util para testar se a configuracao em uso e a mesma que tem o ficheiro de configuracao. Quaisquer comentarios no ficheiro original irao estar em falta. --location Escreve a localizacao (caminho) da chroots especificadas. Note que os tipos de chroots que apenas podem ser usadas dentro de uma sessao nao irao ter uma localizacao ate estarem activas. Opcoes gerais -q, --quiet Escreve apenas as mensagens essenciais. -v, --verbose Escreve todas as mensagens. Seleccao de chroot -c, --chroot=chroot Especifica uma chroot ou sessao activa a usar. Esta opcao pode ser usada varias vezes para especificar mais do que uma chroot, e neste caso o seu efeito e semelhante a --all. O nome da chroot pode ser prefixado com um namespace; veja a seccao "Namespaces de Chroot", em baixo. -a, --all Seleciona todas as chroots, chroots fonte e sessoes activas. Quando um comando e especificado, o comando ira correr em todas as chroots, chroots fonte e sessoes activas. Se for usado --info, mostra informacao acerca de todas as chroots. Esta opcao nao faz sentido ser usada com um login shell (correr quando nenhum comando foi especificado). Esta opcao e equivalente a "--all-chroots --all-source-chroots --all-sessions". --all-chroots Seleciona todas as chroots. Identico a --all, excepto que as chroots fonte e as sessoes activas nao sao consideradas. --all-sessions Seleciona todas as sessoes activas. Identico a --all, excepto que chroots e chroots fonte nao sao consideradas. --all-source-chroots Seleciona todas as chroots fonte. Identico a --all, excepto que as chroots e as sessoes nao sao consideradas. --exclude-aliases Nao seleciona nomes alternativos (alias) ao adicionar chroots. Isto assegura que apenas chroots reais sao selecionadas, e sao apenas listadas uma vez. Ambiente chroot -d, --directory=directory Muda para directory dentro da chroot antes de correr o comando ou login shell. Se directory nao estiver disponivel, o schroot ira terminar com um estado de erro. O comportamento predefinido e como se segue (todos os caminhos de directorios estao dentro da chroot). E corrido um login shell no directorio actual de trabalho. Se este nao estiver disponivel, ira tentar $HOME (quando e usado --preserve-environment), depois o directorio home do utilizador, e / dentro da chroot por sua vez. E sempre corrido um comando no directorio actual de trabalho dentro da chroot. Se nenhum dos directorios estiverem disponiveis, o schroot ira terminar com um estado de erro. -u, --user=user Corre como um utilizador diferente. A predefinicao e correr como o utilizador actual. Se necessario, o utilizador pode ser chamado a autenticar-se com uma palavra passe. Para mais informacao, veja a seccao "Autenticacao", em baixo. -p, --preserve-environment Preserva o ambiente do utilizador dentro do ambiente da chroot. A predefinicao e usar um ambiente limpo; esta opcao copia o ambiente completo do utilizador e define-o na sessao. As variaveis de ambiente permitidas sao sujeitas a certas restricoes; veja a seccao "Ambiente", em baixo. -s, --shell=shell Usa shell como o login shell. Quando corre um login shell sera considerado um numero potenciais shells, neste ordem: o comando na variavel de ambiente SHELL (se --preserve-environment for usado, ou se preserve-environment estiver activa), a shell do utilizador na base de dados `passwd', /bin/bash e finalmente /bin/sh. Esta opcao sobrepoe esta lista, e ira usar a shell especificada. Esta opcao tambem sobrepoe a chave de configuracao shell, se definida. -o, --option=key=value Define uma opcao. O valor das chaves de configuracao selecionadas em schroot.conf pode ser modificado usando esta opcao. A chave tem de estar presente na chave de configuracao user-modifiable-keys em schroot.conf, ou adicionalmente a chave user-modifiable-keys se a correr como (ou a mudar para) utilizador root. A chave e o valor definido aqui sera definido no ambiente dos scripts de configuracao, e pode por isso ser usado para personalizar a chroot numa base por-sessao. Accoes de sessao --automatic-session Inicia, corre e termina uma sessao automaticamente. Esta e a accao predefinida, portanto nao e preciso especifica-la em operacao normal. -b, --begin-session Inicia uma sessao. Um identificar unico de sessao (ID de sessao) e retornado na saida standard. I ID de sessao e necessario para usar as opcoes da outra sessao. Note que o identificador de sessao pode ser especificado com a opcao --session-name. --recover-session Recupera uma sessao existente. Se uma sessao existente ficou indisponivel, por exemplo por se ter desmontado devido a um reiniciar, esta opcao ira tornar a sessao de novo disponivel para uso, por exemplo ao re-monta-la. O ID da sessao e especificado com a opcao --chroot. -r, --run-session Corre uma sessao existente. O ID da sessao e especificado com a opcao --chroot. -e, --end-session Termina uma sessao existente. O ID da sessao e especificado com a opcao --chroot. Opcoes de sessao -n, --session-name=session-name Da nome a uma sessao. O session-name especificado substitui o nome de sessao predefinido que contem um ID de sessao gerado automaticamente. O nome da sessao nao pode conter um qualificador de namespace, pois as sessoes sao sempre criadas dentro do namespace `session:'. O nome de sessao esta tambem sujeito as restricoes de nomeacao da chroot documentadas em schroot.conf(5). -f, --force Forca uma operacao de sessao, mesmo que noutro caso falhe. Isto pode ser usado para forcar o terminar de uma sessao, mesmo tendo utilizadores activos. Isto nao garante que a sessao seja terminada de maneira limpa; os sistemas de ficheiros podem nao ser desmontados, por exemplo. Separador -- Fim das opcoes. Usado para indicar o final da opcoes do schroot; quaisquer opcoes seguintes serao passadas ao comando que vai correr, em vez de ao schroot. AUTENTICACAO Se o utilizador nao for um utilizador permitido, ou um membro dos grupos permitidos (ou se mudou para root, os utilizadores de root permitidos ou grupos de root permitidos) para as chroot(s) especificadas, a permissao sera imediatamente negada. Se se mudar de utilizador, e o utilizador que corre o comando tem acesso, sera pedido aos utilizadores para se autenticarem eles proprios usando as credenciais do utilizador para qual estao a mudar. Em sistemas que suportem Pluggable Authentication Modules (PAM), o schroot ira usar PAM para a autenticacao e autorizacao de utilizadores. Se e quando requerido, o schroot ira pedir uma palavra-passe. Se o PAM nao estiver disponivel, toda a autenticacao ira automaticamente falhar (a mudanca de utilizador nao e suportada sem o PAM). Note que quando o PAM e usado, ao utilizador root nao e dado nenhuns privilegios especiais por predefinicao no programa. No entanto, a configuracao predefinida do PAM permite que o root faca entrada em uma palavra-passe (pam_rootok.so), mas isto pode ser desactivado para prevenir que o root aceda a chroots excepto se especificamente permitido. Em tal situacao, o root tem de ser adicionado aos utilizadores e grupos permitidos como qualquer outro utilizador ou grupo. Se o PAM nao estiver disponivel, o utilizador root tera permissao de aceder a todas as chroots, mesmo que nao ha acesso garantido explicito. NAMESPACES DE CHROOT Bases de namespace Existem tres tipos diferentes de chroot: chroots regulares, chroots fonte e chroots de sessao. Estes tipos diferentes de chroot estao separados em diferentes namespaces. Um namespace e um prefixo para um nome de chroot. Actualmente existem tres namespaces: `chroot:', `source:' e `session:'. Use --list --all para listar todas as chroots disponiveis em todos os namespaces. Porque `:' e usado como separador entre namespace e nomes de chroot, nao e permitido usar este caractere nos nomes das chroot. Dependendo da accao que voce pediu ao schroot para tomar, ele pode procurar pela chroot em um dos tres namespaces, ou pode ser especificado um namespace particular. Por exemplo, uma chroot chamada "sid" e realmente chamada "chroot:sid" se o namespace for incluido, mas o namespace pode ser omitido para a maioria das accoes. Chroots fonte Alguns tipos de chroot, por exemplo imagens LVM e imagens Btrfs, fornecem imagens instantaneas copiadas em escrita e geridas em sessao da chroot. Estas tambem fornecem uma chroot fonte para permitir acesso facil ao sistema de ficheiros usando como fonte para os instantaneos. Estas sao tambem chroots regulares, apenas com a tiragem de instantaneos desactivada. Para uma chroot chamada "sid-snapshot" (isto e, com um nome totalmente qualificado de "chroot:sid-snapshot"), ira tambem existir uma chroot fonte correspondente chamada "source:sid-snapshot". As versoes anteriores do schroot forneciam chroots fonte com um sufixo `-source'. Estas sao tambem fornecidas para compatibilidade. Neste exemplo, esta seria chamada "chroot:sid-snapshot-source". Estes nomes de compatibilidade serao largados numa versao futura, assim os programas e scripts devem comutar para a utilizacao de nomes namespace-qualificados em vez do velho sufixo. Chroots de sessao Todas as sessoes criadas com --begin-session sao colocadas dentro do namespace `session:'. Uma sessao nomeada com --session-name pode ter qualquer nome, ate o mesmo nome que a chroot de onde foi criada, desde que seja unica dentro deste namespace. Isto nao era permitido em versoes anteriores do schroot que nao tinham namespaces. Accoes e namespaces predefinidos Todas as accoes usam `chroot:' como namespace predefinido, com algumas accoes de sessao a serem a excepcao. --run-session, --recover-session e --end-session usam `session:' como o namespace predefinido em vez deste, pois estas accoes funcionam em chroots de sessao. O resultado e que o namespace e normalmente nunca requerido excepto que voce precisa de trabalhar com uma chroot num namespace diferente do predefinido, tal como quando se usa uma chroot fonte. Para tornar a selecao de chroot ambigua, e sempre possivel usar o nome completo incluindo o namespace, mesmo quando nao estritamente pedido. PERFORMANCE A performance em alguns sistemas de ficheiros, por exemplo Btrfs, e ma quando se corre dpkg devido ao monte de operacoes fsync executadas. Isto pode ser mitigado ao instalar o pacote eatmydata e depois adicionar eatmydata a chave de configuracao command-prefix, o que desactiva todas as operacoes fsync. Note que isto apenas deve ser feito em chroots de imagem onde a perda de dados nao e um problema. Isto e util quando se usa uma chroot para compilacao de pacotes, por exemplo. RECURSOS DE RESERVA DE DIRECTORIOS O schroot ira selecionar um directorio apropriado para usar dentro da chroot com base em se sera usado um login shell interactivo, ou sera invocado um comando, e adicionalmente se a opcao --directory for usada. No caso de se correr comandos directamente, ou se especificar explicitamente um directorio, apenas um directorio sera usado para seguranca e consistencia, enquanto que para um login shell podem ser tentadas varias possibilidades. As seguintes sub-seccoes listam a sequencia de reserva para cada caso. CWD e o directorio actual de trabalho, DIR e o directorio especificado com --directory. Login shell +---------------------+------------------------------------------+ |Transition | | |(Host -> Chroot) | Comment | +---------------------+------------------------------------------+ |CWD -> CWD | Normal behaviour (if --directory is not | | | used) | |CWD -> $HOME | If CWD is nonexistent and | | | --preserve-environment is used | |CWD -> passwd pw_dir | If CWD is nonexistent (or | | | --preserve-environment is used and no | | | $HOME exists) | |CWD -> / | None of the above exist | |FAIL | If / is nonexistent | +---------------------+------------------------------------------+ Comando +-----------------+------------------------------------------+ |Transition | | |(Host -> Chroot) | Comment | +-----------------+------------------------------------------+ |CWD -> CWD | Normal behaviour (if --directory is not | | | used) | |FAIL | If CWD is nonexistent | +-----------------+------------------------------------------+ Nenhuns recursos de reserva deverao existir sob quaisquer circunstancias. --directory usado +-----------------+------------------------------------------+ |Transition | | |(Host -> Chroot) | Comment | +-----------------+------------------------------------------+ |CWD -> DIR | Normal behaviour | |FAIL | If DIR is nonexistent | +-----------------+------------------------------------------+ Nenhuns recursos de reserva deverao existir sob quaisquer circunstancias. Depuracao Note que --debug=notice ira mostrar a lista de recurso interno computada para a sessao. EXEMPLOS Lista chroots disponiveis % schroot -l chroot:default chroot:etch chroot:sid chroot:testing chroot:unstable Obtem informacao acerca de uma chroot % schroot -i -c sid ------ Chroot ------ Name sid Description Debian sid (unstable) Type plain Priority 3 Users rleigh Groups sbuild Root Users Root Groups sbuild Aliases unstable unstable-sbuild unstable-p owerpc-sbuild Environment Filter ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\ FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\ IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\ RMPATH)$ Run Setup Scripts true Script Configuration script-defaults Session Managed true Personality linux32 Location /srv/chroot/sid Use --all ou -c varias vezes para todas ou varias chroots, respetivamente. Correr comandos numa chroot % schroot -c sid /bin/ls [sid chroot] Running command: "/bin/ls" CVS sbuild-chroot.c sbuild-session.h schroot.conf.5 Makefile sbuild-chroot.h schroot.1 schroot.conf.5.in Makefile.am sbuild-config.c schroot.1.in Makefile.in sbuild-config.h schroot.c pam sbuild-session.c schroot.conf % schroot -c sid -- ls -1 | head -n 5 [sid chroot] Running command: "ls -1" ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL Use -- para permitir opcoes comecadas com `-' or `--' no comando a correr na chroot. Isto previne que sejam interpretados como opcoes para o proprio schroot. Note que a linha de topo foi ecoada para o erro standard, as linhas restantes para a saida standard. Isto e intencional, assim o resultado desse programa a partir de comando que correm na chroot podem ser canalizados e redirecionados como requerido; os dados serao os mesmo como se o comando fosse corrido directamente no sistema anfitriao. Comutando utilizadores % schroot -c sid -u root Password: [sid chroot] (rleigh->root) Running login shell: "/bin/bash" # Se o utilizador `rleigh' estava em root-users em /etc/schroot/schroot.conf, ou um dos grupos a que ele pertencia estava em root-groups, seria-lhe dado acesso a root sem autenticacao, mas o passo de autorizacao do PAM e ainda aplicado. Sessoes Uma chroot pode ser necessaria para correr mais do que um comando. Em particular, onde uma chroot e criada na hora a partir de uma LV LVM ou de um ficheiro no disco, existe a necessidade de tornar a chroot persistente enquanto uma dada tarefa (ou conjunto de tarefas) e executada. As sessoes existem para este objectivo. Para os tipos de chroot simples tais como `plain' e `directory', as sessoes podem ser criadas mas nao sao estritamente necessarias. Vamos comecar por olhar para uma chroot com capacidade de sessao % schroot -i -c sid-snap ------ Chroot ------ Name sid-snap Description Debian sid snapshot Type lvm-snapshot Priority 3 Users maks rleigh Groups sbuild Root Users Root Groups root sbuild Aliases Environment Filter ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\ FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\ IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\ RMPATH)$ Run Setup Scripts true Script Configuration script-defaults Session Managed true Personality linux Device /dev/hda_vg/sid_chroot Mount Options -o atime,async,user_xattr Source Users Source Groups root rleigh Source Root Users Source Root Groups root rleigh LVM Snapshot Options --size 2G -c 128 Note que a opcao Session Managed esta definida para `true'. Isto e um requerimento de modo a se usar gestao de sessao, e e suportada pela maioria dos tipos de chroot. A seguir, vamos criar uma nova sessao. % schroot -b -c sid-snap sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f O ID de sessao da sessao criada mais recentemente e retornado na saida standard. E comum armazena-lo como isto: % SESSION=$(schroot -b -c sid-snap) % echo $SESSION sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f A sessao pode ser usada tal e qual como qualquer chroot normal. Isto e o que a sessao parece: % schroot -i -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f ------ Session ------ Name sid-snap-46195b04-0893-49bf-beb8-0d\ 4ccc899f0f Description Debian sid snapshot Type lvm-snapshot Priority 3 Users maks rleigh Groups sbuild Root Users Root Groups root sbuild Aliases Environment Filter ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\ FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\ IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\ RMPATH)$ Run Setup Scripts true Script Configuration script-defaults Session Managed true Personality linux Mount Location /var/lib/schroot/mount/sid-snap-461\ 95b04-0893-49bf-beb8-0d4ccc899f0f Path /var/lib/schroot/mount/sid-snap-461\ 95b04-0893-49bf-beb8-0d4ccc899f0f Mount Device /dev/hda_vg/sid-snap-46195b04-0893-\ 49bf-beb8-0d4ccc899f0f Device /dev/hda_vg/sid_chroot Mount Options -o atime,async,user_xattr Source Users Source Groups root rleigh Source Root Users Source Root Groups root rleigh LVM Snapshot Device /dev/hda_vg/sid-snap-46195b04-0893-\ 49bf-beb8-0d4ccc899f0f LVM Snapshot Options --size 2G -c 128 Agora a sessao foi criada, pode-se correr comandos nela: % schroot -r -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f -- \ uname -sr I: [sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f chroot] Running \ command: "uname -sr" Linux 2.6.18-3-powerpc % schroot -r -c $SESSION -- uname -sr I: [sid-snap-fe170af9-d9be-4800-b1bd-de275858b938 chroot] Running \ command: "uname -sr" Linux 2.6.18-3-powerpc Quando todos os comandos a correr na sessao tiverem sido executados, a sessao pode ser terminada: % schroot -e -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f % schroot -e -c $SESSION Finalmente, os nomes de sessao pode ser longos e pesados. Um nome pode ser especificado em vez de se usar o ID de sessao gerado automaticamente: % schroot -b -c sid-snap -n my-session-name my-session-name RESOLUCAO DE PROBLEMAS Se algo nao esta a funcionar, e nao e claro o que esta errado a partir das mensagens de erro, tente usar a opcao --debug=level para ligar as mensagens de depuracao. Isto da imensamente mais informacao. Os niveis de depuracao validos sao `none', e `notice', `info', `warning' e `critical' de modo a aumentar a severidade. Quando mais baixo o nivel de severidade, maior a quantidade de resultados. Se voce esta a ter problemas, os desenvolvedores podem ser contactados na lista de mail: Debian buildd-tools Developers BUGS Nas arquitecturas mips e mipsel, os kernels Linux ate e incluindo a versao 2.6.17 tem suporte personality(2) quebrado, o que resulta em falha ao definir a personalidade. Isto ira ser visto como um erro de "Operacao nao permitida" (EPERM). Para contornar este problema, defina personality para `undefined', ou actualize para um kernel mais recente. AMBIENTE Por predefinicao, o ambiente nao e preservado, e as seguintes variaveis de ambiente sao definidas: HOME, LOGNAME, PATH, SHELL, TERM (preservada de ja definida), e USER. As variaveis de ambiente SCHROOT_COMMAND, SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID e SCHROOT_GID sao definidas dentro da chroot especificando o comando a ser corrido, o nome de utilizador, nome do grupo, ID de utilizador e ID do grupo, respetivamente. Adicionalmente, as variaveis de ambiente SCHROOT_SESSION_ID, SCHROOT_CHROOT_NAME e SCHROOT_ALIAS_NAME especificam o ID de sessao, o nome original da chroot anterior a criacao da sessao, e o alias usado para originalmente identificar a chroot selecionada, respetivamente. As seguintes, potencialmente perigosas, variaveis de ambiente foram removidas por predefinicao para seguranca: BASH_ENV, CDPATH, ENV, HOSTALIASES, IFS, KRB5_CONFIG, KRBCONFDIR, KRBTKFILE, KRB_CONF, LD_.*, LOCALDOMAIN, NLSPATH, PATH_LOCALE, RES_OPTIONS, TERMINFO, TERMINFO_DIRS, e TERMPATH. Se desejado, a chave de configuracao environment-filter ira permitir que a lista de exclusao seja modificada; veja schroot.conf(5) para mais detalhes. FICHEIROS Ficheiros de configuracao /etc/schroot/schroot.conf O ficheiro de definicoes chroot de todo-o-sistema. Este ficheiro tem de pertencer ao utilizador root, e nao ser gravavel por outro. /etc/schroot/chroot.d Definicoes de chroot adicionais podem ser colocadas em ficheiros sob este directorio. Elas sao tratadas exactamente na mesma maneira que /etc/schroot/schroot.conf. Cada ficheiro pode conter uma ou mais definicoes de chroot. Note que os ficheiros neste directorio seguem as mesmas regras de nomeacao que run-parts(8) quando corrido com a opcao --lsbsysinit. /etc/schroot/setup.d Os directorios de scripts de configuracao de chroot de todo o sistema. Veja configuracao do schroot(5). /etc/pam.d/schroot Configuracao de PAM. Directorios do sistema /usr/lib/schroot Directorio que contem programas ajudantes usados por scripts de configuracao. Directorios de sessao Cada directorio contem um directorio ou ficheiro com o nome de cada sessao. Nem todos os tipos de chroot fazem uso de todos os seguintes directorios. /var/lib/schroot/session Directorio que contem a configuracao de sessao para cada sessao activa. /var/run/schroot/mount Directorio usado para montar o sistema de ficheiros usado por cada sessao activa. /var/lib/schroot/union/underlay Directorio usado para sistema de ficheiros union fonte (inferior). /var/lib/schroot/union/overlay Directorio usado para sistema de ficheiros union superior gravavel. /var/lib/schroot/unpack Directorio usado para desempacotar chroots de ficheiro. AUTORES Roger Leigh. COPYRIGHT Copyright (C) 2005-2012 Roger Leigh schroot e software livre: voce pode redistribui-lo e/ou modifica-lo sob os termos da GNU General Public License como publicada pela Free Software Foundation, seja na versao 3 da Licenca, ou (por opcao sua) qualquer versao posterior. VEJA TAMBEM dchroot(1), sbuild(1), chroot(2), schroot.conf(5). schroot-setup(5), schroot-faq(7), run-parts(8), Aug 14 SCHROOT(1)