Deutsch| English
  #1  
Alt 20.05.2009, 00:46
Benutzer
 
Registriert seit: 20.05.2009
Ort: Frankfurt am Main
Beiträge: 33
sirrus eine Nachricht über ICQ schicken sirrus eine Nachricht über Skype™ schicken
Standard OpenSSH mit chroot auf debian Art unter Lenny

Bisher habe ich hier keine Debian korrekte Anleitung gefunden. Deswegen hier mal eine Anleitung, wie man das richtig mit debian macht:

Installation der Debian Helper

apt-get install debian-builder

Source und Abhängigkeiten holen
apt-get build-dep openssh-server
apt-get source openssh-server


Erst einmal in das Verzeichnis wechseln und bauen
dpkg-buildpackage

Dann Patchen - Datei chroot-51.patch
Code:
--- orig/session.c   2009-05-19 16:46:39.000000000 +0200
+++ session.c       2009-05-19 16:38:07.000000000 +0200
@@ -91,6 +91,8 @@
#include "monitor_wrap.h"
#include "sftp.h"

+#define CHROOT
+
#if defined(KRB5) && defined(USE_AFS)
#include <kafs.h>
#endif
@@ -1451,6 +1453,11 @@
void
do_setusercontext(struct passwd *pw)
{
+#ifdef CHROOT
+       char *user_dir;
+       char *new_root;
+#endif /* CHROOT */
+
      char *chroot_path, *tmp;

#ifdef WITH_SELINUX
@@ -1500,6 +1507,25 @@
                      exit(1);
              }
              endgrent();
+#ifdef CHROOT
+        user_dir = xstrdup(pw->pw_dir);
+        new_root = user_dir + 1;
+
+        while((new_root = strchr(new_root, '.')) != NULL) {
+                new_root--;
+                if(strncmp(new_root, "/./", 3) == 0) {
+                        *new_root = '\0';
+                        new_root += 2;
+
+                        if(chroot(user_dir) != 0)
+                                fatal("Couldn't chroot to user's directory %s",user_dir);
+                        pw->pw_dir = new_root;
+                        break;
+                }
+
+                new_root += 2;
+        }
+#endif /* CHROOT */
# ifdef USE_PAM
              /*
               * PAM credentials may take the form of supplementary groups.
@@ -1691,7 +1717,6 @@
                      display_loginmsg();
#endif /* HAVE_OSF_SIA */
      }
-
#ifdef USE_PAM
      if (options.use_pam && !options.use_login && !is_pam_session_open()) {
                debug3("PAM session not opened, exiting");
Patchen
patch –I chroot-51.patch session.c

Erneut Bauen
./debian/rules clean
./debian/rules build
./debian/rules binary


Das dann im übergeordneten Ordner entstandene openssh-server*.deb installieren.

dpkg -i ../openssh-server*.deb

Für ISPConfig ist weiter nichts zu tun - in /etc/passwd sollten Benutzer mit Shell Zugriff am Ende mit /./ versehen sein, was den chroot Patch veranlasst in das "Gefängnis" zu wechseln.

Grüße,
Andreas

Geändert von sirrus (25.05.2009 um 01:14 Uhr).
Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 10:17 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0