.\" t .\" Copyright © 2005-2010 Roger Leigh .\" Copyright © 2006 Andreas Bombe .\" .\" schroot is free software: you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by .\" the Free Software Foundation, either version 3 of the License, or .\" (at your option) any later version. .\" .\" schroot is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU .\" General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see .\" . .\" .ds RELEASE_DATE 14 Aug 2022 .ds VERSION 1.6.13 .ds SCHROOT_LIBEXEC_DIR /usr/lib/schroot .ds SCHROOT_MOUNT_DIR /var/run/schroot/mount .ds SCHROOT_SESSION_DIR /var/lib/schroot/session .ds SCHROOT_FILE_UNPACK_DIR /var/lib/schroot/unpack .ds SCHROOT_OVERLAY_DIR /var/lib/schroot/union/overlay .ds SCHROOT_UNDERLAY_DIR /var/lib/schroot/union/underlay .ds SCHROOT_SYSCONF_DIR /etc/schroot .ds SCHROOT_CONF /etc/schroot/schroot.conf .ds SCHROOT_CONF_CHROOT_D /etc/schroot/chroot.d .ds SCHROOT_CONF_SETUP_D /etc/schroot/setup.d .ds SCHROOT_DATA_DIR /usr/share/schroot .ds SCHROOT_SETUP_DATA_DIR /usr/share/schroot/setup .ds SCHROOT_LOCALE_DIR /usr/share/locale .ds PACKAGE_LOCALE_DIR /usr/share/locale .ds PROGRAM schroot .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SCHROOT 1 \*[RELEASE_DATE] "Version \*[VERSION]" "Debian sbuild" .SH NAVN schroot \- start sikkert et chrootmiljø .SH SYNOPSIS \fBschroot\fP [\fB\-h\fP\[or]\fB\-\-help\fP \[or] \fB\-V\fP\[or]\fB\-\-version\fP \[or] \fB\-l\fP\[or]\fB\-\-list\fP \[or] \fB\-i\fP\[or]\fB\-\-info\fP \[or] \fB\-\-config\fP \[or] \fB\-\-location\fP \[or] \fB\-\-automatic\-session\fP \[or] \fB\-b\fP\[or]\fB\-\-begin\-session\fP \[or] \fB\-\-recover\-session\fP \[or] \fB\-r\fP\[or]\fB\-\-run\-session\fP \[or] \fB\-e\fP\[or]\fB\-\-end\-session\fP] [\fB\-f\fP\[or]\fB\-\-force\fP] [\fB\-n \fP\fIsessionsnavn\fP\[or]\fB\-\-session\-name=\fP\fIsessionsnavn\fP] [\fB\-d \fP\fImappe\fP\[or]\fB\-\-directory=\fP\fImappe\fP] [\fB\-u \fP\fIbruger\fP\[or]\fB\-\-user=\fP\fIbruger\fP] [\fB\-p\fP\[or]\fB\-\-preserve\-environment\fP] [\fB\-s \fP\fIskal\fP\[or]\fB\-\-shell=\fP\fIskal\fP] [\fB\-q\fP\[or]\fB\-\-quiet\fP \[or] \fB\-v\fP\[or]\fB\-\-verbose\fP] [\fB\-c \fP\fIchroot\fP\[or]\fB\-\-chroot=\fP\fIchroot\fP \[or] [\fB\-\-all\fP \[or] \fB\-\-all\-chroots\fP \[or] \fB\-\-all\-source\-chroots\fP \[or] \fB\-\-all\-sessions\fP] [\fB\-\-exclude\-aliases\fP]] [\fB\-o\fP\[or]\fB\-\-option=\fP\fInøgle=værdi\fP] [\fB\-\-\fP] [\fBKOMMANDO\fP [ \fBARG1\fP [ \fBARG2\fP [ \fBARGn\fP]]]] .SH BESKRIVELSE \fBschroot\fP 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. .PP Kommandoen er et program, plus så mange valgfrie parametre som krævet. Hver parameter kan angives adskilt. .PP Mappen, som kommandoen eller logindskallen køres i, afhænger af konteksten. Se tilvalget \fI\-\-directory\fP nedenfor for en fuldstændig beskrivelse. .PP Al chrootbrug vil blive logget i systemloggene. Under nogle omstændigheder, kan brugeren blive afkrævet godkendelse; se afsnittet \[lq]\fIGodkendelse\fP\[rq], nedenfor. .PP Hvis ingen chroot er angivet, vil chrootnavnet elelr aliasset \[oq]default\[cq] blive brugt som reserve. Dette modsvarer \[lq]\-\-chroot=default\[rq]. .SH 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 \fBkvm\fP eller \fBXen\fP, 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: .IP \[bu] 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 .IP \[bu] Bruge et \fIdefineret\fP eller \fIrent\fP miljø, for at garantere genskabelse og integritet for en bestemt opgave .IP \[bu] Bruge forskellige versoner af et operativsystem, eller endda helt forskellige operativsystemer, f.eks. forskellige GNU/Linux\-distributioner .IP \[bu] Kørsel af 32\-bit programmer med en 32\-bit chroot på et 64\-bit værtssystem .IP \[bu] Automatisk bygning af Debianpakker med brug af \fBsbuild\fP(1), som bygger hver pakke i et pristine chrootøjebliksbillede når der bruges LVM\-øjebliksbilleder eller unions .IP \[bu] 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) .PP En chroot kan bruges direkte som root ved at køre \fBchroot\fP(8), men normale brugere kan ikke bruge denne kommando. \fBschroot\fP 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 \fBchroot\fP(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 \fIopsætningsskripter\fP, 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 \[oq]plain\[cq], den simpleste chroottype, der ikke tilbyder nogen form for automatisk opsætningsfunktioner. Konfigurationen af schroot er dækket i flere detaljer i \fBschroot.conf\fP(5). .SH TILVALG \fBschroot\fPaccepterer de følgende tilvalg: .SS Handlinger .TP \fB\-h\fP, \fB\-\-help\fP Vis referat for hjælp. .TP \fB\-V\fP, \fB\-\-version\fP Vis versionsinformation. .TP \fB\-l\fP, \fB\-\-list\fP Vis alle tilgængelige chroot'er. .TP \fB\-i\fP, \fB\-\-info\fP Udskriv detaljeret information om de angivne chroot'er. .TP \fB\-\-config\fP 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. .TP \fB\-\-location\fP 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. .SS "Generelle tilvalg" .TP \fB\-q\fP, \fB\-\-quiet\fP Vis kun esentielle beskeder. .TP \fB\-v\fP, \fB\-\-verbose\fP Vis alle beskeder. .SS Chrootvalg .TP \fB\-c\fP, \fB\-\-chroot=\fP\fIchroot\fP 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 \fI\-\-all\fP. Chrootnavnet kan have et præfiks \fInavnerum\fP; se afsnittet \[lq]\fIChroot Namespaces\fP\[rq], nedenfor. .TP \fB\-a\fP, \fB\-\-all\fP 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 \fI\-\-info\fP 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 \[lq]\-\-all\-chroots \-\-all\-source\-chroots \-\-all\-sessions\[rq]. .TP \fB\-\-all\-chroots\fP Vælg alle chroot'er. Identisk med \fI\-\-all\fP, undtagen at kildechroot'er og aktive sessioner ikke indgår. .TP \fB\-\-all\-sessions\fP Vælg alle aktive sessioner. Identisk med \fI\-\-all\fP, undtagen at chroot'er og kildechroot'er ikke indgår. .TP \fB\-\-all\-source\-chroots\fP Vælg alle kildechroot'er. Identisk med \fI\-\-all\fP, undtagen at chroot'er og sessioner ikke indgår. .TP \fB\-\-exclude\-aliases\fP Vælg ikke aliasser som tilføjelse til chroot'er. Dette sikrer at kun reelle chroot'er vælges, og vises kun en gang. .SS Chrootmiljø .TP \fB\-d\fP, \fB\-\-directory=\fP\fImappe\fP Ændr til \fImappe\fP inden i chroot'en før kørsel af kommandoen eller logindskal. Hvis \fImappe\fP ikke er tilgængelig, vil schroot afslutte med en fejlstatus. .IP 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 \fI\-\-preserve\-environment\fP bruges), så brugerens hjemmemappe, og \fI/\fP 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. .TP \fB\-u\fP, \fB\-\-user=\fP\fIbruger\fP 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 \[lq]\fIGodkendelse\fP\[rq], nedenfor. .TP \fB\-p\fP, \fB\-\-preserve\-environment\fP 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 \[lq]\fIMiljø\fP\[rq], nedenfor. .TP \fB\-s\fP, \fB\-\-shell=\fP\fIskal\fP Brug \fIskal\fP 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 \fI\-\-preserve\-environment\fP bruges, eller \f[CI]preserve\-environment\fR er aktiveret), brugerens skal i databasen \[oq]passwd\[cq], \fI/bin/bash\fP og endelig \fI/bin/sh\fP. Denne indstilling overskriver denne liste, og vil bruge den angivne skal. Denne indstilling overskriver også konfigurationsnøglen \f[CI]shell\fR, hvis angivet. .TP \fB\-o\fP, \fB\-\-option=\fP\fInøgle=værdi\fP Angiv en indstilling. Værdien for valgte konfigurationsnøgler i \fIschroot.conf\fP kan ændres med denne indstilling. Nøglen skal være til stede i konfigurationsnøglen \f[CI]user\-modifiable\-keys\fR i \fIschroot.conf\fP, eller deruover nøglen \f[CI]user\-modifiable\-keys\fR 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. .SS Sessionshandlinger .TP \fB\-\-automatic\-session\fP Begynd, kør og afslut en session automatisk. Dette standardhandlingen, så den kræver ikke specifikation i normal operation. .TP \fB\-b\fP, \fB\-\-begin\-session\fP 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 \fI\-\-session\-name\fP. .TP \fB\-\-recover\-session\fP 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 \fI\-\-chroot\fP. .TP \fB\-r\fP, \fB\-\-run\-session\fP Kør en eksisterende session. Session\-id'et er angivet med tilvalget \fI\-\-chroot\fP. .TP \fB\-e\fP, \fB\-\-end\-session\fP Afslut en eksisterende session. Session\-id'et er angivet med tilvalget \fI\-\-chroot\fP. .SS Sessionstilvalg .TP \fB\-n\fP, \fB\-\-session\-name=\fP\fIsessionsnavn\fP Navngiv en session. Det angivne \fIsessionsnavn\fP erstatter navnet for standardsessionen, der indeholder et automatisk oprettet id. Sessionsnavnet må ikke indeholde en navnerumskvalifikator, da sessioner altid oprettes inden for navnerummet \[oq]session:\[cq]. Sessionsnavnet er også omfattet af chroot'ens navngivningsbegrænsninger dokumenteret i \fBschroot.conf\fP(5). .TP \fB\-f\fP, \fB\-\-force\fP 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. .SS Adskillelsestegn .TP \fB\-\-\fP 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. .SH 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. .PP 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 \fIikke\fP understøttet uden PAM). .PP 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 (\fIpam_rootok.so\fP), 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. .SH CHROOT\-NAVNERUM .SS "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 \fInavnerum\fP. Et navnerum er et præfiks til et chrootnavn. I øjeblikket er der tre navnerum: \[oq]chroot:\[cq], \[oq]source:\[cq] og \[oq]session:\[cq]. Brug \fI\-\-list \-\-all\fP for at vise alle tilgængelige chrooter i alle navnerum. Da \[oq]:\[cq] bruges som adskillelsestegn mellem navnerum og chrootnavne, er det ikke tilladt at bruge dette tegn i chrootnavne. .PP 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 \[lq]sid\[rq] er reelt navngivet \[lq]chroot:sid\[rq] hvis navnerummet er inkluderet, men navnerummet kan udelades for de fleste handlinger. .SS Kildechrooter Nogle chroottyper, for eksempel LVM\-øjebliksbilleder og Btrfs\-øjebliksbilleder, tilbyder sessionshåndteret kopier ved skrivning\-øjebliksbilleder for chrooten. Disse tilbyder også en \fIkildechroot\fP 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 \[lq]sid\-snapshot\[rq] (dvs. med et fuldt kvalificeret navn for \[lq]chroot:sid\-snapshot\[rq]), vil der også være en tilsvarende kildechroot navngivet \[lq]source:sid\-snapshot\[rq]. Tidligere versioner af schroot tilbød kildechrooter med suffiks \[oq]\-source\[cq]. Disse tilbydes også for kompatibilitet. I dette eksempel vil det blive kaldt \[lq]chroot:sid\-snapshot\-source\[rq]. Disse kompatibilitetsnavne vil blive droppet i en fremtidig version, så programmer og skripter bør skifte over til navnerumskvalificerede navne fremfor det gamle suffiks. .SS Sessionschrooter Alle sessioner oprettet med \fI\-\-begin\-session\fP er placeret inden i navnerummet \[oq]session:\[cq]. En session navngivet med \fI\-\-session\-name\fP 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. .SS "Handlinger og standardnavnerum" Alle handlinger bruger navnerummet \[oq]chroot:\[cq] som standard, hvor nogle sessionshandlinger udgør undtagelsen. \fI\-\-run\-session\fP, \fI\-\-recover\-session\fP og \fI\-\-end\-session\fP bruger \[oq]session:\[cq] 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. .SH YDELSE .PP 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 \f[CI]command\-prefix\fR, 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. .SH MAPPERESERVER .PP 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 \fI\-\-directory\fP 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 \fI\-\-directory\fP. .SS Logindskal .TS box; l|lw(4i). Transition (Host \[->] Chroot) Comment _ CWD \[->] CWD T{ Normal behaviour (if \fI\-\-directory\fP is not used) T} CWD \[->] $HOME T{ If CWD is nonexistent and \-\-preserve\-environment is used T} CWD \[->] passwd pw_dir T{ If CWD is nonexistent (or \-\-preserve\-environment is used and no $HOME exists) T} CWD \[->] / T{ None of the above exist T} \fBFAIL\fP T{ If / is nonexistent T} .TE .SS Kommando .TS box; l|lw(4i). Transition (Host \[->] Chroot) Comment _ CWD \[->] CWD T{ Normal behaviour (if \fI\-\-directory\fP is not used) T} \fBFAIL\fP T{ If CWD is nonexistent T} .TE .PP Der skal under ingen omstændigheder være nogen reserver. .SS "\-\-directory brugt" .TS box; l|lw(4i). Transition (Host \[->] Chroot) Comment _ CWD \[->] DIR Normal behaviour \fBFAIL\fP If DIR is nonexistent .TE .PP Der skal under ingen omstændigheder være nogen reserver. .SS Fejlsøgning .PP Bemærk at \fI\-\-debug=notice\fP vil vise den interne reserveliste beregnet for sessionen. .SH EKSEMPLER .SS "Vis tilgængelige chrooter" .EX % \f[CB]schroot \-l\fR\[CR] chroot:default chroot:etch chroot:sid chroot:testing chroot:unstable .EE .SS "Få information om en chroot" .EX % \f[CB]schroot \-i \-c sid\fR\[CR] \[em]\[em]\[em] Chroot \[em]\[em]\[em] 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\e FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\e IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\e RMPATH)$ Kør opsætningsskripter true Skriptkonfiguration script\-defaults Session håndteret true Personalitet linux32 Placering /srv/chroot/sid .EE .LP Brug \fI\-\-all\fP eller \fI\-c\fP flere gange for at bruge alle eller flere chrooter, respektivt. .SS "Kører kommandoer i et chroot" .EX % \f[CB]schroot \-c sid /bin/ls\fR\[CR] [sid chroot] Kørende kommando: \[lq]/bin/ls\[rq] 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 % \f[CB]schroot \-c sid \-\- ls \-1 | head \-n 5\fR\[CR] [sid chroot] Kørende kommando: \[lq]ls \-1\[rq] ABOUT\-NLS AUTHORS COPYING ChangeLog INSTALL .EE .LP Brug \fI\-\-\fP for at tillade tilvalg der begynder med \[oq]\-\[cq] eller \[oq]\-\-\[cq] 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. .SS "Skift af brugere" .EX % \f[CB]schroot \-c sid \-u root\fR\[CR] Adgangskode: [sid chroot] (rleigh\[->]root) Kørende logindskal: \[lq]/bin/bash\[rq] # .EE .LP Hvis brugeren \[oq]rleigh\[cq] var i \f[CI]root\-users\fR i \fI\*[SCHROOT_CONF]\fP, eller en af grupperne han tilhørte var i \f[CI]root\-groups\fR, ville de få rootadgang uden godkendelse, men PAM\-godkendelsestrinet bruges stadig. .SS 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 \[oq]plain\[cq] og \[oq]directory\[cq], kan sessioner oprettes men det er ikke strengt nødvendigt. .PP Lad os begynde med at kigge på en chroot, der kan afvikles via en session: .PP .EX % \f[CB]schroot \-i \-c sid\-snap\fR\[CR] \[em]\[em]\[em] Chroot \[em]\[em]\[em] 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\e FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\e IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\e 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 .EE .PP Bemærk at tilvalget \fISession Managed\fP er sat til \[oq]true\[cq]. 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: .PP .EX % \f[CB]schroot \-b \-c sid\-snap\fR\[CR] sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f .EE .PP Sessions\-id'et for den netop oprettede session returneres på standardud. Det er normalt at gemme det således: .PP .EX % \f[CB]SESSION=$(schroot \-b \-c sid\-snap)\fR\[CR] % \f[CB]echo $SESSION\fR\[CR] sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f .EE .PP Sessionen kan bruges som enhver normal chroot. Sådan ser sessionerne ud: .PP .EX % \f[CB]schroot \-i \-c sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f\fR\[CR] \[em]\[em]\[em] Session \[em]\[em]\[em] Navn sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d\e 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\e FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\e IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\e RMPATH)$ Kør opsætningskripter true Skriptkonfiguration script\-defaults Session håndteret true Personalitet linux Monteringsplacering /var/lib/schroot/mount/sid\-snap\-461\e 95b04\-0893\-49bf\-beb8\-0d4ccc899f0f Sti /var/lib/schroot/mount/sid\-snap\-461\e 95b04\-0893\-49bf\-beb8\-0d4ccc899f0f Monteringsenhed /dev/hda_vg/sid\-snap\-46195b04\-0893\-\e 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\-\e 49bf\-beb8\-0d4ccc899f0f LVM\-øjeblikstilvalg \-\-size 2G \-c 128 .EE .PP Nu er sessionen blevet oprettet, kommandoer kan køres i den: .PP .EX % \f[CB]schroot \-r \-c sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f \-\- \e uname \-sr\fR\[CR] I: [sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f chroot] Running \e kommando: \[lq]uname \-sr\[rq] Linux 2.6.18\-3\-powerpc % \f[CB]schroot \-r \-c $SESSION \-\- uname \-sr\fR\[CR] I: [sid\-snap\-fe170af9\-d9be\-4800\-b1bd\-de275858b938 chroot] Running \e kommando: \[lq]uname \-sr\[rq] Linux 2.6.18\-3\-powerpc .EE .PP Når alle kommandoerne til kørsel i sessionen er blevet udført, kan sessionen afsluttes: .PP .EX \f[CR]% \f[CB]schroot \-e \-c sid\-snap\-46195b04\-0893\-49bf\-beb8\-0d4ccc899f0f\f[CB]\[CR] \f[CR]% \f[CB]schroot \-e \-c $SESSION\f[CB]\[CR]\fR .EE .PP Endelig kan sessionsnavnene være lange og besværlige. Et navn kan angives i stedet for at bruge det automatisk oprettede sessions\-id: .PP .EX \f[CR]% \f[CB]schroot \-b \-c sid\-snap \-n mit\-sessionsnavn\f[CB]\[CR] \f[CR]mit\-sessionsnavn\fR .EE .SH FEJLSØGNING Hvis noget ikke fungerer, og det ikke fremgår af fejlbeskederne, hvad der er galt, så prøv at bruge tilvalget \fB\-\-debug=\fP\fIniveau\fP for at udvide fejlbeskederne. Dette giver en del yderligere information. Gyldige fejlsøgningsniveauer er \[oq]none\[cq] og \[oq]notice\[cq], \[oq]info\[cq], \[oq]warning\[cq] og \[oq]critical\[cq] i viste rækkefølge for øgende sværhedsgrad. Jo lavere sværhedsgrad, jo mere loginformation. .PP Hvis du stadig har problemer, så kan udvikleren kontaktes på postlisten: .br \f[CR]Debian\ buildd\-tools\ Developers\fR .br \f[CR]\fR .SH FEJL På arkitekturerne \fBmips\fP og \fBmipsel\fP har Linuxkerner til og med mindst version 2.6.17 ødelagt understøttelse for \fBpersonality\fP(2), som medfører en fejl i indstillingen af personlighed. Dette vil ses som fejlen \[lq]Operation er ikke tilladt\[rq] (EPERM). For at omgå dette problem så indstil \f[CI]personality\fR til \[oq]undefined\[cq], eller opgrader til en nyere kerne. .SH 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. .PP 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 \f[CI]environment\-filter\fR give mulighed for at eksklusionslisten ændres; se \fBschroot.conf\fP(5) for yderligere detaljer. .SH FIL .SS Konfigurationsfiler .TP \f[BI]\*[SCHROOT_CONF]\fR Chrootdefinitionsfil for hele systemet. Denne fil skal være ejet af root\-brugeren, og der må ikke kunne skrives til den af andre. .TP \f[BI]\*[SCHROOT_CONF_CHROOT_D]\fR Yderligere chrootdefinitioner kan placeres i filer under denne mappe. De behandles på præcis samme måde som \fI\*[SCHROOT_CONF]\fP. Hver fil kan indeholde en eller flere chrootdefinitioner. Bemærk at filerne i denne mappe følger de samme navneregler som \fBrun\-parts\fP(8) når kørt med tilvalget \fI\-\-lsbsysinit\fP. .TP \f[BI]\*[SCHROOT_CONF_SETUP_D]\fR Mapper til chrootens opsætningsskript for hele systemet. Se \fBschroot\-setup\fP(5). .TP \f[BI]/etc/pam.d/schroot\fR PAM\-konfiguration. .SS Systemmapper .TP \f[BI]\*[SCHROOT_LIBEXEC_DIR]\fR Mappe indeholdende hjælpeprogrammer brugt af opsætningsskripter. .SS 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. .TP \f[BI]\*[SCHROOT_SESSION_DIR]\fR Mappe der indeholder sessionskonfigurationen for hver aktiv session. .TP \f[BI]\*[SCHROOT_MOUNT_DIR]\fR Mappe brugt til at montere filsystemet brugt af hver aktiv session. .TP \f[BI]\*[SCHROOT_UNDERLAY_DIR]\fR Mappe brugt til union\-kilde for filsystemet (underlag). .TP \f[BI]\*[SCHROOT_OVERLAY_DIR]\fR Mappe brugt til union\-skrivbar overlag for filsystemet. .TP \f[BI]\*[SCHROOT_FILE_UNPACK_DIR]\fR Mappe brugt for udpakning af filchrooter. .SH FORFATTERE Roger Leigh. .SH OPHAVSRET Ophavsret \(co 2005\-2012 Roger Leigh \f[CR]\fR .PP \fB\*[PROGRAM]\fP 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. .SH "SE OGSÅ" \fBdchroot\fP(1), \fBsbuild\fP(1), \fBchroot\fP(2), \fBschroot.conf\fP(5). \fBschroot\-setup\fP(5), \fBschroot\-faq\fP(7), \fBrun\-parts\fP(8), .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: