cygwin: chroot jail - kann keinen Befehl ausführen

cygwin: chroot jail - kann keinen Befehl ausführen

Ich habe Cygwin installiert mitApache, PHP, Mercurial, MYSQL, OpenSSH, PYTHON

Ich habe sshd_config auf chroot jail aktualisiert, um auf benutzerdefinierte Ordner zugreifen zu können

Beispiel:

Übereinstimmungsgruppe sftp_users

Chroot-Verzeichnis /home/%u

SSH/SFTP funktioniert wie gewünscht.

Nach meiner Verbindung mit SSH bekomme ich bash. Wenn ich dort einen Befehl wie ' ausführen möchte, 'dir, hg, mysql, whateverbekomme ich einfachcommand not found

Ich habe tagelang gegoogelt und die folgenden Schritte ausprobiert

  1. Kopieren aller Dateien von C:/cygwin/bin'C:/cygwin/home/username/bin' und ähnlich dev,etc,lib,sbin,tmp,usr,var- das gibt mir tatsächlich einen anderen Fehler, so etwas wieerror while loading shared libraries
  2. Ich habe versucht, ein Update durchzuführen, fstababer C:/cygwin/bin /bin ntfs binary 0 0selbst das hat keine Änderung an meinem SSH-Verbindungsbefehl bewirkt
  3. Ich habe versucht, beim Herstellen der SSH-Verbindung einen Pfad hinzuzufügen, plink.exe ssh -pw xxx username@hostname -v C:/cygwin/bin/pythonund ich habe auch versuchtplink.exe ssh -pw xxx username@hostname -v ../bin/python
  4. Wenn ich sshd_configdie Standardeinstellung ändere, funktioniert der Befehl zwar irgendwie, aber ich erhalte eine Ausgabe ähnlich der Abbildung unten. Eingabeaufforderungsantwort nach Plink-SSH-Verbindung - kabelgebunden

Helfen Sie mir, das könnte mein Leben retten.

Antwort1

Cygwin stellt eine DLL bereit, die Linux- und POSIX-Aufrufe auf Windows-API-Aufrufe umstellt. Tools wie chroot sind auf einen geeigneten Linux-Benutzerbereich angewiesen und lassen sich bei der Verwendung von Workarounds wie cygwin nicht gut umstellen. Wenn Sie dies jedoch wirklich tun möchten, ist es möglich, sieheHierfür das, was erforderlich sein könnte.

Ich empfehle stattdessen die Verwendung einesechter Linux-Benutzerbereichzusammen mit den neuerenWindows-Subsystem für Linux. Dies bietet eine echte Linux-kompatible Kernel-Schnittstelle, die von Microsoft unterstützt wird, zusammen mit dem echten Linux-Benutzerbereich, den Sie auf einem normalen Linux-System erhalten würden. Die von Ihnen erwähnten Tools sollten in diesem Setup alle gut funktionieren, chroot und alles.

verwandte Informationen