scponly mit chroot

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von greenhawk, 12.08.2009.

  1. #1 greenhawk, 12.08.2009
    Zuletzt bearbeitet: 23.08.2009
    greenhawk

    greenhawk Mitglied

    Dabei seit:
    06.09.2008
    Beiträge:
    47
    Zustimmungen:
    0
    [gelöst] scponly mit chroot

    Hallo,

    ich hab mal ne Frage zu scponly mit chroot unter Debian Lenny.
    Ich hab hier 2 verschiedene Howto's vor mir, einmal basler.netsession.info und zum anderen LinuxWiki.

    Grundsätzlich verstehe ich auch, wie das alles funktionieren soll, aber was mir ein wenig Kopfzerbrechen bereitet, ist die Ausführung von setup_chroot.sh.

    Was mir als erstes komisch vorkommt, ist der Fakt, dass die Datei bei Debian in /usr/share/doc/ liegt. Wieso liegt ein ausführbares Script im Doku-Ordner?
    Zum zweiten, hätte ich gerne von jemandem, der das schon mal durchgespielt hat gewusst, ob ich alle im LinuxWiki beschriebenen Extrasachen in die Datei einbauen muss oder ob das aus dem ersten Howto (/dev/null im chroot anlegen) genügt.

    Danke.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Gast1

    Gast1 Guest

    Weil es als Beispiel dienen soll?

    Wenn die Debian-Jungs das Ganze schlau gemacht haben, dann ist das Script dort nicht ausführbar installiert und wer es nutzen/abwandeln möchte, der kann es in $PATH kopieren, anpassen und mit dem x-Bit versehen.
     
  4. #3 greenhawk, 13.08.2009
    Zuletzt bearbeitet: 13.08.2009
    greenhawk

    greenhawk Mitglied

    Dabei seit:
    06.09.2008
    Beiträge:
    47
    Zustimmungen:
    0
    Ok, das leuchtet ein. Ausführbar war das Script auch nicht.
    Ich hab es jetzt genutzt, um den user mit chroot anzulegen, was auch problemlos funktioniert hat. Mal sehen, was beim ersten Kontakt mit nem Windowsrechner passieren wird.


    EDIT:
    Ich habe jetzt mal versucht, mich als scpuser auf meinem Linux-Rechner anzumelden, bekomme dabei aber den Fehler
    Code:
    WinSCP: this is end-of-file:0
    Das Problem ist hier, dass WinSCP irgendwelche nichtvorhanden Gruppen sucht. Das kann man lösen, indem man die datei groups.c aus /usr/share/doc/scponly benutzt, um diese Gruppen zu erstellen bzw. eine bestimmte Datei groups nach (in meinem Fall) /home/scpdata/bin/groups kopiert.
    Komisch ist allerdings, dass in der chroot-Umgebung unter /usr/bin/ eine Datei groups liegt.

    Ich seh hier grad nicht mehr so richtig durch. Kann mir da mal jemand helfen?


    EDIT:
    Also ich habe jetzt nochmal zu diesem leidigen Problem recherchiert und folgendes rausgefunden:

    Da es hier nur um die Kompatibilität zu WinSCP 2.0 geht und aktuell schon Verison 4 Standard ist, kann die Kompatibilität zu WinSCP 2.0 einfach ausgeschalten werden.
    Die Frage ist natürlich, wie man das macht. Es gibt halt die Konfigurationoption --disbale-winscp-compat. Aber wie kann ich die an APT übergeben? Mit -o= hab ich's schonmal versucht, aber ich glaube so geht das nicht.

    Außerdem hieß es in einer Debian-Mailingliste, dass die Version 4.8 von scponly diesen Bug beheben würde. Ich hab mir daraufhin einfachmal die 4.8 installiert und alles neu eingerichtet. Das Resultat war das selbe.

    Mir fällt halt nur noch ein, dass ich evtl. einen Fehler beim Anlegen des Null-Devices mache. So hab ich's gemacht:
    Code:
    cd /home/scpdata
    mkdir dev
    cd dev
    mknod -m 666 null c 1 3
    
    Und, dass dieser Ordner dann root gehört, ist ja auch richtig.

    Hat da jemand noch einen Rat?
     
  5. #4 greenhawk, 14.08.2009
    Zuletzt bearbeitet: 18.08.2009
    greenhawk

    greenhawk Mitglied

    Dabei seit:
    06.09.2008
    Beiträge:
    47
    Zustimmungen:
    0
    Erfolg: chrooted scponly funktioniert

    Sooo, ich hab's jetzt tatsächlich geschafft. Glaub ich zumindest.

    Hier mal ein kleines Howto für chrooted scponly:

    0. Open-SSH-Server muss installiert sein und laufen.

    1. scponly-4.8-Quellen runterladen (scponly-Seite), checken, auspacken und ins neue Verzeichnis wechseln.

    2. Konfigurieren:
    Code:
    ./configure --disable-winscp-compat --enable-scp-compat --enable-chrooted-binary
    siehe auch: Erklärung der Konfigurationsoptionen

    3. Installieren (als root):
    Code:
    make && make install
    4. scponly in die Liste der Shells eintragen (als root):
    Code:
    echo "/usr/local/bin/scponly" >> /etc/shells
    5. chroot-Umgebung erstellen:
    Code:
    cd [Quellen-Verzeichnis von scponly]
    make jail
    -> Username angeben (z.B.: scpu)
    -> Wurzelverzeichnis für User angeben (z.B.: /home/scpu)
    -> schreibares Unterverzeichnis angeben (Erklärung)
    -> Passwort angeben

    6. Null-Device anlegen (wegen Interoperabilität mit WinSCP):
    Code:
    cd /home/scpu
    mkdir dev
    cd dev
    mknod -m 666 null c 1 3
    
    Ich habe das ganze mal mit localhost getestet und es hat funktioniert.
    Das Problem ist nur, dass nur root den Inhalt des schreibbaren Verzeichnisses von scpu löschen kann, weil andere User keine Berechtigung dazu haben und scpu als Shell ja scponly benutzt.¹
    Das heißt also, ich kann lediglich aus diesem Verzeichnis Dateien kopieren, die dorthin übertragen wurden. Das bissl unpraktisch, weil ich mich nicht jedes Mal als root einloggen will, nur um die Dateien da wegzulöschen.
    Gibt's da eine elegante Variante?

    ¹ deshalb ist es auch normal, dass man sofort wieder abgemeldet wird, wenn man versucht, sich normal als dieser User in der Konsole anzumelden

    EDIT

    Dieses kleine Problemchen lässt sich folgendermaßen lösen:
    Der für SCP angelegte Benutzer (hier scpu) hat ja, wie jeder User, eine eigene Gruppe.
    Die ist in der Datei /etc/group gelistet.
    In diese Gruppe trägt man dann alle User ein, die Zugriff auf die Daten im schreibbaren Unterverzeichnis von scpu (hier data) haben sollen, also in etwa so:
    Code:
    scpu:x:1002:alibaba,jesus # Alibaba und Jesus haben Zugriff auf Ordner data
    Außerdem muss man noch dafür sorgen, dass man auch Schreibrechte im Ordner hat (als root):
    Code:
    cd /home/scpu
    chmod g+w data/ # Gruppe (g) bekommt (+) Schreibrechte (w)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

scponly mit chroot

Die Seite wird geladen...

scponly mit chroot - Ähnliche Themen

  1. chroot und zenwalk und netzwerk

    chroot und zenwalk und netzwerk: Hallo Habe mir mein Test-Zenwalk per netpkg veraut, kernel panic nat sinking. Wie bekomme ich unter zenwalk/slackware nach chroot, das...
  2. Liste der installierten Programme erstellen, aber von extern, ohne chroot ?

    Liste der installierten Programme erstellen, aber von extern, ohne chroot ?: Hallo Gibt es eine Möglichkeit, die installierten Programme z.B. bei Debian, Archlinux in eine eine Liste zu schreiben, ohne angemeldet zu...
  3. Endlosschleife /var/named/chroot

    Endlosschleife /var/named/chroot: Hallo, ich habe ein kleines Problem auf meinem Root Server mit Centos 6.2 habe ich seit neustem eine Endlosschleife in dem Verzeichnis...
  4. Neues debootstraped Linux mit chroot und kexec starten

    Neues debootstraped Linux mit chroot und kexec starten: Hallo, ich habe einen alten PC den ich gerne zum Server machen will. Zur Zeit ist DamnSmallLinux drauf und leider funktioniert der Rechner nur...
  5. kein /bin/bash in chroot

    kein /bin/bash in chroot: Hallo, ich möchte einen User, der sich über ssh anmeldet, in ein chroot einsperren. Ich habe es auch soweit eingerichtet, nur bekomme ich beim...