• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Breadcrumb

  • Hjem
  • forums
  • Chroot SSH ?

Hvad kan du med 100% sikkerhed sige, at du har stemt?

Valgmuligheder

Snak med

Opret dig!

Af z4ndx | 03.10.2010 21:17

Chroot SSH ?

Hjælp generelt
Hej..
Er her nogen der kender en go måde at chroot'e users til ders home dir på min server? Jeg har prøvet denne guide til Debian Lenny men den spiller ikke helt. http://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny
Jeg kunne ikke køre nogle programmer også opretter den en masse etc, bin mapper i ens home. Det vil jeg ikke have.

Mit fortrukne OS er Debian men bruger da gerne andre for at få det til at fungere.

Hvordan fixer jeg lige det bedst ?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer14

14 år 8 måneder siden

Permalink

Indsendt af m_abs den 3. oktober 2010 kl. 21:59

Permalink

Fra din korte beskrivelse

Fra din korte beskrivelse tror jeg, du har misforstået et par ting omkring chroot.

Chroot er et lukket miljø, som processer kan kører i for ikke at kunne få adgang til resten af fil systemet.
Det har den konsekvens at du skal have kopieret en masse programfiler ind i din chroot, herunder noget fra bin. Dette kan _ikke_ undgås, uden disse filer og mappe, så kan din chroot ikke fungere.

Det kan måske hjælpe dig at se det der er i chroot som et separat system fra resten af dit OS.

Når du ikke kan køre nogle programmer, så antager jeg der er fordi du ikke har kopiere dem ind i dit chroot.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af divineant den 4. oktober 2010 kl. 01:04

Permalink

#1 har helt ret i alt hvad

#1 har helt ret i alt hvad han siger, men det betyder ikke at du bliver nød til at at kopiere hele coreutils ind i din chroot for at få en brugbar shell, du kan bruge busybox istedet. Hvis dine brugere skal kunne bruge andre programmer skal disse selvfølgelig også installeres i din chroot.


#!/bin/bash
chroot=`which chroot 2>/dev/null | cut -f2`
busybox=`which busybox 2> /dev/null | cut -f2`
[ -z "$chroot" ] && missing="chroot"
[ -z "$busybox" ] && missing="busybox $missing"
[ ! -z "$missing" ] && echo "Installer: $missing" && exit
mkdir -p jail/bin
install -m755 $busybox jail/bin/
export PS1="chroot> "
export PATH="/bin"
$chroot jail/ /bin/busybox sh
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af kajo den 4. oktober 2010 kl. 07:46

Permalink

chroot ssh

Hej,

Jeg bruger følgende metode http://www.linuxin.dk/node/16458. Det er godnok ubuntu, men mon ikke det går.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af z4ndx den 4. oktober 2010 kl. 18:57

Permalink

Hmm måske jeg har

Hmm måske jeg har misforstået chroot lidt..
Det jeg gerne vil er at når jeg laver en bruger til en ven at han kan få shell adgang og bruge de programmer der nu er som irssi eller centerim osv. UDEN at han kan komme ud af sin hjemme mappe.

divineant @ kan du ikke forklar lidt mere om Busybox ? Lyder interessant...
Hvordan virker det? Hvordan kan jeg bruge det ?

kajo @ Ser fint ud men der må være en måde man kan låse den inde i ders hjemme mappe uden at skulle lave en extra mappe i den.

  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af m_abs den 5. oktober 2010 kl. 00:01

In reply to Hmm måske jeg har by z4ndx

Permalink

Det jeg gerne vil er at når

Det jeg gerne vil er at når jeg laver en bruger til en ven at han kan få shell adgang og bruge de programmer der nu er som irssi eller centerim osv. UDEN at han kan komme ud af sin hjemme mappe.
Det er det som chroot lader dig gøre. MEN de programmer han skal kunne kører skal ligge inde i dit chroot, sammen med alle biblioteker og evt. andre filer.

kajo @ Ser fint ud men der må være en måde man kan låse den inde i ders hjemme mappe uden at skulle lave en extra mappe i den.
Du kan kun undgå det ved at have dem på et højere niveau.
Fx. kan du lave en chroot i stien /chroot, men have brugerens home til at være /chroot/$USER. Så skal etc, bin, lib, usr/lib, dev osv. ligge i /chroot.

Jeg vil anbefale dig at kigge på jailkit, http://olivier.sessink.nl/jailkit/
Det er en samling scripts til at sætte chroot op til brugere, jeg bruger det på en webserver* til at låse hvert domæne inde.

Jailkit kan sættes op til at kopiere program filerne ind i din chroot,

Personligt ville jeg holde mig fra busybox, med mindre diskpladsen er et problem. De utils der er i busybox er meget begrænset ifht. dem du måske er vant til fra coreutils.

*) Inde i hver af mine chroots har jeg følgende mappe struktur:
/etc - Indeholder config-filer specifik for min chroot.
/bin - indeholder sh, bash, cp osv.
/lib - Indeholder libs for /bin
/home/$USER - Domænets standard brugers home-dir, fx. web1
/usr
/usr/bin - Indeholder php5-cgi og andre eksekverbare filer nødvendig for webhotellet
/usr/lib - Libs for /usr/bin
/usr/share - filer som php skal bruge for at køre ordenligt.
/tmp
/log
/dev - en meget begrænset udgave af dev, har null, zero, urandom og et par andre men ingen disk-enheder.

Hvert domæne har en standard bruger som apache skifter til ved hvert kald og en bruger til sftp/ssh.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af divineant den 4. oktober 2010 kl. 22:18

Permalink

Kort fortalt er busybox en

Kort fortalt er busybox en statisk linket letvægtsudgave af coreutils. dvs sh,ls, mv, cp osv samlet i et program, uden behov for eksterne biblioteker.

Scriptet jeg skrev i #2 er en hurtig demo som opretter et chroot jail som benytter busybox, prøv at kør den, og se hvad der sker.

sudo sh jailme.sh

  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af z4ndx den 5. oktober 2010 kl. 06:41

Permalink

divineant @ Har installert

divineant @ Har installert busybox for lige at se hvad det er men jeg får denne fejl meddelse når jeg prøver at kører jailme.sh
/usr/sbin/chroot: cannot run command `/bin/busybox': No such file or directory

Og det forstår jeg ikke.. /bin/busybox er der..

ls -l /bin | grep busy
-rwxrwxr-x 1 root root 376108 8 sep 2008 busybox

Hvad er det der er ivejen ? ..

m_abs @ Vil kigge på de scripts i aften når jeg kommer hjem fra arbejde :) Tak
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af m_abs den 5. oktober 2010 kl. 07:49

Permalink

#7
Du mangler nok nogle

#7
Du mangler nok nogle biblioteker. Prøv uden for chroot:
ldd /bin/busybox

Det kan også være at du mangler de symlinks som busybox skal bruge, såvidt jeg husker så linker fx. cp, sh, ln, mv osv til busybox inde i din bin-mappe.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af z4ndx den 5. oktober 2010 kl. 09:37

Permalink

Uden for chroot ? .. Hva

Uden for chroot ? .. Hva mener du ? .. jeg kørte bare scriptet med min egen bruger med sudo self.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af divineant den 5. oktober 2010 kl. 11:49

Permalink

#8 tricket med busybox er at

#8 tricket med busybox er at den er statisk linket og derfor ikke har behov for nogen librarys. Den laver heller ikke nogen symlinks, alle kommandoer virker som builtin når man kører busybox sh.

#7, Det lyder da mystisk.
Den /bin/busybox chroot refererer til er i ikke /bin/busybox, men derimod jail/bin/busybox, som jo bliver til /bin/busybox inden i chrooten.

kan du ikke sikre dig at scriptet rent faktisk opretter følgende struktur

jail/
jail/bin
jail/bin/busybox


og så manuelt køre

sudo chroot jail /bin/busybox sh



  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af m_abs den 5. oktober 2010 kl. 14:35

Permalink

#8 tricket med busybox er at

#8 tricket med busybox er at den er statisk linket og derfor ikke har behov for nogen librarys. Den laver heller ikke nogen symlinks, alle kommandoer virker som builtin når man kører busybox sh.
I de maskiner jeg har med busybox er alle filer i /bin synlinks til /bin/busybox.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af divineant den 5. oktober 2010 kl. 15:32

Permalink

Uden at vide noget om det

Uden at vide noget om det så vil jeg gætte på at det er for at have kompatibillitet med scripts som bruger fulde stier.
Nu ved jeg ikke hvorfor mit script i #2 ikke virker for #7, men hos mig virker det ganske glimrende.
  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af z4ndx den 5. oktober 2010 kl. 16:57

Permalink

Kan stadig ikke få det

Kan stadig ikke få det busybox til at virke...
Filerne er der.

$ ls -l /home/z4ndx/jail/bin/
-rwxr-xr-x 1 root root 376108 5 okt 16:31 busybox


Fra min home mappe.

sudo chroot jail /bin/busybox sh
chroot: cannot run command `/bin/busybox': No such file or directory


  • Log ind eller opret dig for at tilføje kommentarer

14 år 8 måneder siden

Permalink

Indsendt af z4ndx den 5. oktober 2010 kl. 17:17

Permalink

Hmm.. Sku jeg kører dit

Hmm.. Sku jeg kører dit script uden sudo ? ..
Prøvede lige uden sudo også skrev den bare "Installer: chroot"
Hva så nu ?
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

"Intet realistisk alternativ" - mig i r*ven 10
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ingen Mint 3
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1
ExplainingComputers? 2
Nextcloud på mobilen 1
Læsning af databasefil i Firefox 1
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 1
Ny Linuxin på vej :) 43
5G 9
Edit 12
PCLinuxOS 23
Fairphone? 9
2 stk Jolla C2 sælges 2
En farverig APT 3.0 udgivelse imponerer med sine nye funktioner 5

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !