Anzeige:
Ergebnis 1 bis 1 von 1

Thema: anleitung: sftp-user in chroot-umgebung

  1. #1
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069

    anleitung: sftp-user in chroot-umgebung

    hallo!

    durch dieses howto kann man folgendes erreichen:
    einen scp/sftp-server mit openssh3.4 bei dem die user in einer chroot-umgebung sind.

    dieses system hab ich verwendet:
    gentoo linux 1.2
    linux 2.4.19-gentoo-r7
    gcc 2.95.3
    openssh 3.4p1(mit chroot-patch)

    zunächst benötigen wir folgendes:
    openssh3.4p1
    den chroot-patch für openssh3.4

    so, dann fange wir mal an:
    Code:
    wget ftp://mingus.wu-wien.ac.at/pub/OpenB...h-3.4p1.tar.gz
    wget http://chrootssh.sourceforge.net/dow...hroot-3.4.diff
    tar zxf openssh-3.4p1.tar.gz
    cd openssh-3.4p1
    patch -p1 < ../osshChroot-3.4.diff
    jetzt haben wir openssh gepatcht, nun gehts ans kompilieren:
    Code:
    ./configure --prefix=/opt/urtrasicheres_openssh --with-md5-passwords
    make && make install
    jetzt basteln wird die chroot-umgebung:
    die sollte so aussehen:
    Code:
    .
    |-- bin
    |   |-- cp
    |   |-- groups
    |   |-- id
    |   |-- ls
    |   |-- mkdir
    |   |-- mv
    |   |-- rm
    |   |-- rmdir
    |   |-- scp
    |   |-- sftp
    |   |-- sftp-server -> /usr/local/libexec/sftp-server
    |   `-- sh
    |-- dev
    |   |-- null
    |   `-- zero
    |-- etc
    |   |-- ld.so.cache
    |   |-- ld.so.preload
    |   `-- nsswitch.conf
    |-- home
    |   `-- affe
    |-- lib
    |   |-- ld-linux.so.2
    |   |-- libc.so.6
    |   |-- libcrypt.so.1
    |   |-- libdl.so.2
    |   |-- libncurses.so.5
    |   |-- libnsl.so.1
    |   |-- libnss_compat.so.2
    |   |-- libpam.so.0
    |   |-- libpthread.so.0
    |   |-- librt.so.1
    |   `-- libutil.so.1
    `-- usr
        |-- lib
        |   |-- libcrypto.so.0.9.6
        |   `-- libz.so.1
        `-- local
            `-- libexec
                `-- sftp-server
    aber achtung, man sollte alle abhänigkeiten der programm nochmal mit ldd bzw strace nachprüfen.
    /dev/zero bzw /dev/null erstellt man mit
    Code:
    mknod zero c 13 12
    mknod null c 13 2
    jetzt richten wir mal ssh ein:
    dazu muss nur das sftp-subsystem angepasst werden:
    aus meiner sshd_config:
    Code:
    Subsystem       sftp    /usr/local/libexec/sftp-server !dieser pfad ist auf die chroot-umgebung bezogen!
    nun legen wir einen user an der in der chroot-umgebung leben soll.

    Code:
    useradd affe
    passwd affe
    jetzt ganz wichtig der eintrag in der /etc/passwd
    Code:
    affe:x:1006:100::/ssh_jail/./home/affe:/bin/sh
    für das homedir "/ssh_jail/./home/affe" eingetragen.
    dieser eintrag sagt openssh das /ssh_jail die chroot-umgebung ist in den es den user stecken muss und /home/affe ist das home-dir in der chroot-umgebung.

    so, das war es schon.
    jetzt muss man sshd starten und das ganze mit:
    Code:
    sftp affe@deine_ip
    testen.

    viel spass beim chrooten..

    mfg
    richard
    Geändert von derRichard (30.03.03 um 19:43 Uhr)
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •