SCHROOT(1)

NAVN
schroot - start sikkert et chrootmiljø

SYNOPSIS
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 sessionsnavn|--session-name=sessionsnavn] [-d mappe|--directory=mappe] [-u bruger|--user=bruger] [-p|--preserve-environment] [-s skal|--shell=skal] [-q|--quiet | -v|--verbose] [-c chroot|--chroot=chroot | [--all | --all-chroots | --all-source-chroots | --all-sessions] [--exclude-aliases]] [-o|--option=nøgle=værdi] [--] [KOMMANDO [ ARG1 [ ARG2 [ ARGn]]]]

BESKRIVELSE
schroot giver mulighed for at brugeren kan køre en kommando eller en logindskal i et chrootmiljø. Hvis ingen kommando er angivet, vil en logindskal blive starte i brugerens nuværende arbejdsmappe inden i chroot'en.

Kommandoen er et program, plus så mange valgfrie parametre som krævet. Hver parameter kan angives adskilt.

Mappen, som kommandoen eller logindskallen køres i, afhænger af konteksten. Se tilvalget --directory nedenfor for en fuldstændig beskrivelse.

Al chrootbrug vil blive logget i systemloggene. Under nogle omstændigheder, kan brugeren blive afkrævet godkendelse; se afsnittet “Godkendelse”, nedenfor.

Hvis ingen chroot er angivet, vil chrootnavnet elelr aliasset ‘default’ blive brugt som reserve. Dette modsvarer “--chroot=default”.

OVERBLIK
Der er ofte et behov for at køre programmer i et virtualiseret miljø frem for direkte på selve værtssystemet. Til forskel fra andre virtualiseringsssystemer såsom kvm eller Xen, så virtualiserer schroot ikke hele systemet; det virtualiserer kun filsystemet og nogle dele af filsystemet kan stadig deles med værten. Programmet er derfor hurtigt, enkelt og fleksibelt. Det virtualiserer dog ikke andre aspekter af systemet, såsom delt hukommelse, netværk, enheder etc., og kan derfor være mindre sikker end andre systemer, afhængig af det forventede brug. Nogle eksempler på eksisterende brug af schroot inkluderer:

•   Kørsel af et usikkert program i en sandkasse, så det ikke kan påvirke eller ændre filer på værtssystemet; dette kan også bruges til at begrænse skaden en kompromiteret tjeneste kan udføre på værten

•   Bruge et defineret eller rent miljø, for at garantere genskabelse og integritet for en bestemt opgave

•   Bruge forskellige versoner af et operativsystem, eller endda helt forskellige operativsystemer, f.eks. forskellige GNU/Linux-distributioner

•   Kørsel af 32-bit programmer med en 32-bit chroot på et 64-bit værtssystem

•   Automatisk bygning af Debianpakker med brug af sbuild(1), som bygger hver pakke i et pristine chrootøjebliksbillede når der bruges LVM-øjebliksbilleder eller unions

•   Understøttelse af flere systemaftryk i en klyngeopsætning, hvor ændring af basisaftrykket er tidsforbrugende og/eller understøtter alle de krævede konfigurationer krævet af brugerne er svært: Forskellige chroot'er kan understøtte alle de forskellige krævede konfigurationer, og klyngebrugere kan gives adgang til chroot'erne de har brug for (hvilket kan inkludere root-adgang for pålidelige brugere, så de kan vedligeholde deres egne aftryk)

En chroot kan bruges direkte som root ved at køre chroot(8), men normale brugere kan ikke bruge denne kommando. schroot giver mulighed for adgang til Chroot'er for normale brugere med den samme mekanisme, men med flere yderligere funktioner. Mens schroot bruger en mappe som chroot ligesom chroot(8), så kræver den ikke, at dette er den normale mappe i filsystemet. Selvom dette er standard, så kan chroot'en også oprettes fra en fil, et filsystem, inklusive LVM- og Btrfs-øjebliksbilleder og loopback-monteringer, eller opbygges af et uniconfs overlag. Da brugeren kan udvide, er omfanget for oprettelse af chroot'er fra forskellige kilder kun begrænset af din fantasi. Schroot udfører tilladelseskontrol og tillader yderligere automatiseret opsætning af chrootmiljøet såsom at montere yderligere filsystemer og andre konfigurationsopgaver. Denne automatiseret opsætning udføres via handlingen opsætningsskripter, som kan tilpasses og udvides til at udføre enhver krævet handling. Typiske handlinger inkluderer montering af brugerens hjemmemappe, opsætning af netværk- og systemdatabaser, og også at starte tjenester op. Disse kan igen fuldt ud tilpasses af administratoren. Opsætningsskripterne køres for alle typer af chroot, med undtagelse af typen ‘plain’, den simpleste chroottype, der ikke tilbyder nogen form for automatisk opsætningsfunktioner. Konfigurationen af schroot er dækket i flere detaljer i schroot.conf(5).

TILVALG
schrootaccepterer de følgende tilvalg:

  Handlinger

-h, --help
    Vis referat for hjælp.

-V, --version
    Vis versionsinformation.

-l, --list
    Vis alle tilgængelige chroot'er.

-i, --info
    Udskriv detaljeret information om de angivne chroot'er.

--config
    Udskriv konfiguration af de angivne chroot'er. Dette er nyttigt for test af at det brugte konfiguration er den samme som konfigurationsfilen. Alle kommentarer i den originale fil vil mangle.

--location
    Vis placering (sti) for de angivne chroot'er. Bemærk at chroottyper som kun kan bruges inden i en session ikke vil have en placering, før de er aktive.

  Generelle tilvalg

-q, --quiet
    Vis kun esentielle beskeder.

-v, --verbose
    Vis alle beskeder.

  Chrootvalg

-c, --chroot=chroot
    Specificer en chroot eller aktiv session for brug. Dette tilvalg kan bruges af flere omgange til at specificere mere end en chroot. I dette tilfælde er dets effekt lig med --all. Chrootnavnet kan have et præfiks navnerum; se afsnittet “Chroot Namespaces”, nedenfor.

-a, --all
    Vælg alle chroot'er, kildechroot'er og aktive sessioner. Når en kommando er blevet angivet, vil kommandoen blive kørt i alle chroot'er, kildechroot'er og aktive sessioner. Hvis --info er blevet brugt, så vis information om alle chroot'er. Denne indstilling giver ikke mening at bruge med et logindskal (køre når ingen kommando er blevet angivet). Denne indstilling svarer til “--all-chroots --all-source-chroots --all-sessions”.

--all-chroots
    Vælg alle chroot'er. Identisk med --all, undtagen at kildechroot'er og aktive sessioner ikke indgår.

--all-sessions
    Vælg alle aktive sessioner. Identisk med --all, undtagen at chroot'er og kildechroot'er ikke indgår.

--all-source-chroots
    Vælg alle kildechroot'er. Identisk med --all, undtagen at chroot'er og sessioner ikke indgår.

--exclude-aliases
    Vælg ikke aliasser som tilføjelse til chroot'er. Dette sikrer at kun reelle chroot'er vælges, og vises kun en gang.

  Chrootmiljø

-d, --directory=mappe
    Ændr til mappe inden i chroot'en før kørsel af kommandoen eller logindskal. Hvis mappe ikke er tilgængelig, vil schroot afslutte med en fejlstatus.

    Standardopførslen er som følger (alle mappestier er inden i chroot'en). En logindskal køres i den nuværende arbejdsmappe. Hvis denne ikke er tilgængelig, vil den forsøge $HOME (når --preserve-environment bruges), så brugerens hjemmemappe, og / inden i chroot'en efterfølgende. En kommando køres altid i den nuværende arbejdsmappe inden i chroot'en. Hvis ingen af mapperne er tilgængelige, vil schroot afslutte med en fejlstatus.

-u, --user=bruger
    Kør som en anden bruger. Standarden er at køre som den nuværende bruger. Hvis krævet, kan brugeren blive afkrævet godkendelse via indtastning af en adgangskode. For yderligere information, se afsnittet “Godkendelse”, nedenfor.

-p, --preserve-environment
    Bevar brugerens miljø inden i chrootmiljøet. Standarden er at bruge et rent miljø; denne indstilling kopierer hele brugermiljøet og sætter det i sessionen. De tilladte miljøvariabler skal overholde visse begrænsninger; se afsnit “Miljø”, nedenfor.

-s, --shell=skal
    Brug skal som logindskal. Når der køres en loginskal vil et antal potentielle skaller blive overvejet, i denne rækkefølge: kommandoen i SKAL-miljøvariablen (hvis --preserve-environment bruges, eller preserve-environment er aktiveret), brugerens skal i databasen ‘passwd’, /bin/bash og endelig /bin/sh. Denne indstilling overskriver denne liste, og vil bruge den angivne skal. Denne indstilling overskriver også konfigurationsnøglen shell, hvis angivet.

-o, --option=nøgle=værdi
    Angiv en indstilling. Værdien for valgte konfigurationsnøgler i schroot.conf kan ændres med denne indstilling. Nøglen skal være til stede i konfigurationsnøglen user-modifiable-keys i schroot.conf, eller deruover nøglen user-modifiable-keys hvis kørsel som (eller skift til) rootbrugeren. Nøglen og værdien angivet her vil blive angivet i miljøet for opsætningsskripterne, og kan dermed bruges til at tilpasse chroot'en på et per session-grundlag.

  Sessionshandlinger

--automatic-session
    Begynd, kør og afslut en session automatisk. Dette standardhandlingen, så den kræver ikke specifikation i normal operation.

-b, --begin-session
    Begynd en session. En unik sessionsidentifikation (session-id) returneres på standardud. Sessions-id'en er krævet for at bruge de andre sessionstilvalg. Bemærk at sessionsidentifikation kan specificeres med tilvalget --session-name.

--recover-session
    Gendan en eksisterende session. Hvis en eksisterende session er blevet utilgængelig, for eksempel blevet afmonteret på grund af en genstart, så vil dette tilvalg gør sessionen tilgængelig for brug igen, for eksempel ved at genmontere den. Session-id'et er angivet med tilvalget --chroot.

-r, --run-session
    Kør en eksisterende session. Session-id'et er angivet med tilvalget --chroot.

-e, --end-session
    Afslut en eksisterende session. Session-id'et er angivet med tilvalget --chroot.

  Sessionstilvalg

-n, --session-name=sessionsnavn
    Navngiv en session. Det angivne sessionsnavn erstatter navnet for standardsessionen, der indeholder et automatisk oprettet id. Sessionsnavnet må ikke indeholde en navnerumskvalifikator, da sessioner altid oprettes inden for navnerummet ‘session:’. Sessionsnavnet er også omfattet af chroot'ens navngivningsbegrænsninger dokumenteret i schroot.conf(5).

-f, --force
    Fremtving en sessionshandling, selv om den ellers ville fejle. Dette kan bruges til med tvang at afslutte en session, selv om den har aktive brugere. Dette garanterer ikke, at sessionen afsluttes pænt; for eksempel bliver filsystemer måske ikke afmonteret.

  Adskillelsestegn

--  Slut med tilvalg. Brugt til at indikere, at der ikke er flere schroottilvalg; alle følgende tilvalg vil blive sendt til den kørende kommando, fremfor til schroot.

GODKENDELSE
Hvis brugeren ikke er en tilladt bruger, eller et medlem af de tilladte grupper (eller hvis skift til root, de tilladte rootbrugere eller tilladte rootgrupper) for de specificerede chroot'er, vil brugeren blive bedt om godkendelse via akkreditiverne for brugeren der skiftes til.

På systemer der understøtter Pluggable Authentication Modules (PAM), vil schroot bruge PAM for godkendelse og autorisering af brugere. Hvis og når krævet vil schroot anmode om en adgangskode. Hvis PAM ikke er tilgængelig, vil al godkendelse automatisk fejle (brugerskift er ikke understøttet uden PAM).

Bemærk at når PAM er i brug, så får rootbrugeren ikke tildelte nogen specielle privilegier som standard i programmet. Dog tillader standardkonfigurationen for PAM at root kan logge ind uden en adgangskode (pam_rootok.so), men dette kan være deaktiveret for at forhindre root i at tilgå chroot'er undtagen hvis specifikt tilladt. I sådan en situation, skal root tilføjes til de tilladte brugere eller gruppe som for enhver anden bruger eller gruppe. Hvis PAM ikke er tilgængelig, vil rootbrugeren have tilladelse til at tilgå alle chroot'er, selv hvis de ikke eksplicit er tildelt adgang.

CHROOT-NAVNERUM

  Det grundlæggende for navnerum
Der er tre forskellige chroottyper: regulære chrooter, kildechrooter og sessionschrooter. Disse forskellige typer af chroot er adskilt i forskellige navnerum. Et navnerum er et præfiks til et chrootnavn. I øjeblikket er der tre navnerum: ‘chroot:’, ‘source:’ og ‘session:’. Brug --list --all for at vise alle tilgængelige chrooter i alle navnerum. Da ‘:’ bruges som adskillelsestegn mellem navnerum og chrootnavne, er det ikke tilladt at bruge dette tegn i chrootnavne.

Afhængig af handlingen du anmoder schroot om at udføre, så vil den kigge i en af tre navnerum, eller et bestemt navnerum kan angives. For eksempel, et chroot navngivet “sid” er reelt navngivet “chroot:sid” hvis navnerummet er inkluderet, men navnerummet kan udelades for de fleste handlinger.

  Kildechrooter
Nogle chroottyper, for eksempel LVM-øjebliksbilleder og Btrfs-øjebliksbilleder, tilbyder sessionshåndteret kopier ved skrivning-øjebliksbilleder for chrooten. Disse tilbyder også en kildechroot som giver nem adgang til filsystemet brugt som en kilde for registrering af øjeblikkets status. Disse er også regulære chrooter, bare med deaktivering af øjeblikkets status. For en chroot navngivet “sid-snapshot” (dvs. med et fuldt kvalificeret navn for “chroot:sid-snapshot”), vil der også være en tilsvarende kildechroot navngivet “source:sid-snapshot”. Tidligere versioner af schroot tilbød kildechrooter med suffiks ‘-source’. Disse tilbydes også for kompatibilitet. I dette eksempel vil det blive kaldt “chroot:sid-snapshot-source”. Disse kompatibilitetsnavne vil blive droppet i en fremtidig version, så programmer og skripter bør skifte over til navnerumskvalificerede navne fremfor det gamle suffiks.

  Sessionschrooter
Alle sessioner oprettet med --begin-session er placeret inden i navnerummet ‘session:’. En session navngivet med --session-name kan have et andet navn, endda det samme navn chrooten den blev oprettet fra, forudsat at navnet er unik indenfor dette navnerum. Dette var ikke tilladt i tidligere versioner af schroot, som ikke havde navnerum.

  Handlinger og standardnavnerum
Alle handlinger bruger navnerummet ‘chroot:’ som standard, hvor nogle sessionshandlinger udgør undtagelsen. --run-session, --recover-session og --end-session bruger ‘session:’ som standardnavnerum i stedet for, da disse handlinger virker på sessionschrooter. Resultatet er, at navnerummet normalt aldrig er krævet, undtagen når du skal arbejde med et andet navnerum end standarden, såsom når der bruges en kildechroot. For at gøre chrootvalg utvetydig, er det altid muligt at bruge det fulde navn inklusiv navnerummet, selv hvor det ikke er strengt krævet.

YDELSE

Ydelsen på nogle filsystemer, for eksempel Btrfs, er dårlig når der køres dpkg på grund af mængden af ydførte fsync-handlinger. Dette kan undgås ved at installere pakken eatmydata og så tilføje eatmydata til konfigurationsnøglen command-prefix, som deaktiverer alle fsync-handlinger. Bemærk at dette kun bør gøres i øjeblikschrooter hvor datatab ikke er et problem. Dette er f.eks. nyttigt, når der bruges en chroot for pakkebygning.

MAPPERESERVER

Schroot vil vælge en passende mappe at bruge inden i chrooten baseret på hvorvidt en interaktiv logindskal vil blive brugt, eller en kommando igangsat, og derudover om tilvalget --directory anvendes. I tilfældet hvor kommandoer køres direkte, eller der eksplicit angives en mappe, vil kun en mappe blive brugt af sikkerhedshensyn og for konsistens, mens der for en logindskal kan forsøges flere muligheder. De følgende underafsnit viser reservesekvensen for hvert tilfælde. CWD er den nuværende arbejdsmappe, DIR er mappen angivet med --directory.

  Logindskal
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

  Kommando
Transition
(Host → Chroot) | Comment
CWD → CWD | Normal behaviour (if --directory is not used)
FAIL | If CWD is nonexistent

Der skal under ingen omstændigheder være nogen reserver.

  --directory brugt
Transition
(Host → Chroot) | Comment
CWD → DIR | Normal behaviour
FAIL | If DIR is nonexistent

Der skal under ingen omstændigheder være nogen reserver.

  Fejlsøgning

Bemærk at --debug=notice vil vise den interne reserveliste beregnet for sessionen.

EKSEMPLER

  Vis tilgængelige chrooter
    % schroot -l↵
    chroot:default
    chroot:etch
    chroot:sid
    chroot:testing
    chroot:unstable

  Få information om en chroot
    % schroot -i -c sid↵
      ——— Chroot ———
      Navn                   sid
      Beskrivelse            Debian sid (unstable)
      Type                   plain
      Prioritet              3
      Brugere                rleigh
      Grupper                sbuild
      Rootbrugere
      Rootgrupper            sbuild
      Aliasser               unstable unstable-sbuild unstable-p
    owerpc-sbuild
      Miljø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)$
      Kør opsætningsskripter true
      Skriptkonfiguration    script-defaults
      Session håndteret      true
      Personalitet           linux32
      Placering              /srv/chroot/sid

Brug --all eller -c flere gange for at bruge alle eller flere chrooter, respektivt.

  Kører kommandoer i et chroot
    % schroot -c sid /bin/ls↵
    [sid chroot] Kørende kommando: “/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] Kørende kommando: “ls -1”
    ABOUT-NLS
    AUTHORS
    COPYING
    ChangeLog
    INSTALL

Brug -- for at tillade tilvalg der begynder med ‘-’ eller ‘--’ i kommandoen der skal køre i chrootet. Dette forhindrer dem i at blive fortolket som tilvalg for selve schroot. Bemærk at den øverste linje blev ekkoet til standardfejl, og de resterende linjer til standardud. Dette er med vilje, så at programuddata fra kommandoer kørt i chrootet kan sendes via en datakanal og videresendes som krævet; dataene vil være de samme som hvis kommandoen blev kørt direkte på værtssystemet.

  Skift af brugere
    % schroot -c sid -u root↵
    Adgangskode:
    [sid chroot] (rleigh→root) Kørende logindskal: “/bin/bash”
    #

Hvis brugeren ‘rleigh’ var i root-users i /etc/schroot/schroot.conf, eller en af grupperne han tilhørte var i root-groups, ville de få rootadgang uden godkendelse, men PAM-godkendelsestrinet bruges stadig.

  Sessioner
En chroot kan være krævet for at køre mere end en kommando. Specielt, hvor chrooten er oprettet løbende fra et LVM LV eller en fil på en disk, er der et behov for at gøre chrooten vedvarende mens en angiven opgave (eller et opgavesæt) udføres. Sessioner findes til dette formål. For simple chroottyper såsom ‘plain’ og ‘directory’, kan sessioner oprettes men det er ikke strengt nødvendigt.

Lad os begynde med at kigge på en chroot, der kan afvikles via en session:

    % schroot -i -c sid-snap↵
      ——— Chroot ———
      Navn                   sid-snap
      Beskrivelse            Debian sid snapshot
      Type                   lvm-snapshot
      Prioritet              3
      Brugere                maks rleigh
      Grupper                sbuild
      Rootbrugere
      Rootgrupper            root sbuild
      Aliasser
      Miljø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)$
      Kør opsætningsskripter true
      Skriptkonfiguration    script-defaults
      Session håndteret      true
      Personalitet           linux
      Enhed                  /dev/hda_vg/sid_chroot
      Monteringstilvalg      -o atime,async,user_xattr
      Kildebrugere
      Kildegrupper           root rleigh
      Kilderootbrugere
      Kilderootgrupper       root rleigh
      LVM-øjeblikstilvalg    --size 2G -c 128

Bemærk at tilvalget Session Managed er sat til ‘true’. Dette er et krav for at bruge sessionshåndtering, og er understøttet af de fleste chroottyper. I det næste afsnit vil vi oprette en ny session:

    % schroot -b -c sid-snap↵
    sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

Sessions-id'et for den netop oprettede session returneres på standardud. Det er normalt at gemme det således:

    % SESSION=$(schroot -b -c sid-snap)↵
    % echo $SESSION↵
    sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

Sessionen kan bruges som enhver normal chroot. Sådan ser sessionerne ud:

    % schroot -i -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
      ——— Session ———
      Navn                   sid-snap-46195b04-0893-49bf-beb8-0d\
    4ccc899f0f
      Beskrivelse            Debian sid snapshot
      Type                   lvm-snapshot
      Prioritet              3
      Brugere                maks rleigh
      Grupper                sbuild
      Rootbrugere
      Rootgrupper            root sbuild
      Aliasser
      Miljø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)$
      Kør opsætningskripter  true
      Skriptkonfiguration    script-defaults
      Session håndteret      true
      Personalitet           linux
      Monteringsplacering    /var/lib/schroot/mount/sid-snap-461\
    95b04-0893-49bf-beb8-0d4ccc899f0f
      Sti                    /var/lib/schroot/mount/sid-snap-461\
    95b04-0893-49bf-beb8-0d4ccc899f0f
      Monteringsenhed        /dev/hda_vg/sid-snap-46195b04-0893-\
    49bf-beb8-0d4ccc899f0f
      Enhed                  /dev/hda_vg/sid_chroot
      Monteringstilvalg      -o atime,async,user_xattr
      Kildebrugere
      Kildegrupper           root rleigh
      Kilderootbrugere
      Kilderootgrupper       root rleigh
      LVM-øjebliksenhed      /dev/hda_vg/sid-snap-46195b04-0893-\
    49bf-beb8-0d4ccc899f0f
      LVM-øjeblikstilvalg    --size 2G -c 128

Nu er sessionen blevet oprettet, kommandoer kan køres i den:

    % schroot -r -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f -- \
      uname -sr↵
    I: [sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f chroot] Running \
    kommando: “uname -sr”
    Linux 2.6.18-3-powerpc
    % schroot -r -c $SESSION -- uname -sr↵
    I: [sid-snap-fe170af9-d9be-4800-b1bd-de275858b938 chroot] Running \
    kommando: “uname -sr”
    Linux 2.6.18-3-powerpc

Når alle kommandoerne til kørsel i sessionen er blevet udført, kan sessionen afsluttes:

    % schroot -e -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
    % schroot -e -c $SESSION↵

Endelig kan sessionsnavnene være lange og besværlige. Et navn kan angives i stedet for at bruge det automatisk oprettede sessions-id:

    % schroot -b -c sid-snap -n mit-sessionsnavn↵
    mit-sessionsnavn

FEJLSØGNING
Hvis noget ikke fungerer, og det ikke fremgår af fejlbeskederne, hvad der er galt, så prøv at bruge tilvalget --debug=niveau for at udvide fejlbeskederne. Dette giver en del yderligere information. Gyldige fejlsøgningsniveauer er ‘none’ og ‘notice’, ‘info’, ‘warning’ og ‘critical’ i viste rækkefølge for øgende sværhedsgrad. Jo lavere sværhedsgrad, jo mere loginformation.

Hvis du stadig har problemer, så kan udvikleren kontaktes på postlisten:
Debian buildd-tools Developers
<buildd-tools-devel@lists.alioth.debian.org>

FEJL
På arkitekturerne mips og mipsel har Linuxkerner til og med mindst version 2.6.17 ødelagt understøttelse for personality(2), som medfører en fejl i indstillingen af personlighed. Dette vil ses som fejlen “Operation er ikke tilladt” (EPERM). For at omgå dette problem så indstil personality til ‘undefined’, eller opgrader til en nyere kerne.

MILJØ
Som standard bevares miljøet ikke, og de følgende miljøvariabler er defineret: HOME, LOGNAME, PATH, SHELL, TERM (bevaret hvis allerede defineret) og USER. Miljøvariablen SCHROOT_COMMAND, SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID og SCHROOT_GID indstilles inden i chrooten ved at specifere kommandoen der køres, brugernavn, gruppenavn, bruger-id og gruppe-id, respektivt. Derudover specificerer miljøvariablerne SCHROOT_SESSION_ID, SCHROOT_CHROOT_NAME og SCHROOT_ALIAS_NAME sessions-id'et, det oprindelige chrootnavn før sessionsoprettelse, og aliasset brugt til oprindelig at identificere den valgte chroot, respektivt.

De følgende, potentielt farlige, miljøvariabler fjernes af sikkerhedshensyn: BASH_ENV, CDPATH, ENV, HOSTALIASES, IFS, KRB5_CONFIG, KRBCONFDIR, KRBTKFILE, KRB_CONF, LD_.*, LOCALDOMAIN, NLSPATH, PATH_LOCALE, RES_OPTIONS, TERMINFO, TERMINFO_DIRS og TERMPATH. Hvis ønsket vil konfigurationsnøglen environment-filter give mulighed for at eksklusionslisten ændres; se schroot.conf(5) for yderligere detaljer.

FIL

  Konfigurationsfiler

/etc/schroot/schroot.conf
    Chrootdefinitionsfil for hele systemet. Denne fil skal være ejet af root-brugeren, og der må ikke kunne skrives til den af andre.

/etc/schroot/chroot.d
    Yderligere chrootdefinitioner kan placeres i filer under denne mappe. De behandles på præcis samme måde som /etc/schroot/schroot.conf. Hver fil kan indeholde en eller flere chrootdefinitioner. Bemærk at filerne i denne mappe følger de samme navneregler som run-parts(8) når kørt med tilvalget --lsbsysinit.

/etc/schroot/setup.d
    Mapper til chrootens opsætningsskript for hele systemet. Se schroot-setup(5).

/etc/pam.d/schroot
    PAM-konfiguration.

  Systemmapper

/usr/lib/schroot
    Mappe indeholdende hjælpeprogrammer brugt af opsætningsskripter.

  Sessionsmapper
Hver mappe indeholder en mappe eller fil med navnet for hver session. Ikke alle chroottyper gør brug af alle de følgende mapper.

/var/lib/schroot/session
    Mappe der indeholder sessionskonfigurationen for hver aktiv session.

/var/run/schroot/mount
    Mappe brugt til at montere filsystemet brugt af hver aktiv session.

/var/lib/schroot/union/underlay
    Mappe brugt til union-kilde for filsystemet (underlag).

/var/lib/schroot/union/overlay
    Mappe brugt til union-skrivbar overlag for filsystemet.

/var/lib/schroot/unpack
    Mappe brugt for udpakning af filchrooter.

FORFATTERE
Roger Leigh.

OPHAVSRET
Ophavsret © 2005-2012 Roger Leigh <rleigh@codelibre.net>

schroot er frit programmel: Du kan videredistribuere det og/eller ændre det under betingelserne i GNU General Public License som udgivet af Free Software Foundation, enten version 3 af licensen, eller (efter dit valg) enhver senere version.

SE OGSÅ
dchroot(1), sbuild(1), chroot(2), schroot.conf(5). schroot-setup(5), schroot-faq(7), run-parts(8),