[[Vorlage(archiviert)]] {{{#!vorlage Hinweis Scponly ist ab [:Precise:Ubuntu 12.04] nicht mehr in den offiziellen Paketquellen enthalten. Alternative: ab OpenSSH 4.9 das eingebaute sftp-Jail verwenden. Anleitungen: [http://en.wikibooks.org/wiki/OpenSSH/Cookbook/SFTP Wikibooks] {en}, [http://www.online-tutorials.net/internet-netzwerk/openssh-mit-sftp-und-chroot/tutorials-t-29-324.html Online Tutorial] {de}. }}} {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [github:scponly/scponly/wiki:scponly] {en} erlaubt es eine [:FTP:]-ähnliche Up- und Downloadmöglichkeit einzurichten, allerdings über das verschlüsselte [:SSH:]-Protokoll. Damit werden Passwörter und Daten nicht, wie bei FTP, im Klartext übertragen, sondern verschlüsselt. Der Benutzer erhält dabei aber keinen Zugriff auf die Kommandozeile. Außerdem kann jedem Benutzer entweder ein eigenes Verzeichnis zugewiesen werden oder es können gemeinsame Verzeichnisse eingerichtet werden, auf die dann ausgewählte Benutzer Zugriff haben. = Installation = scponly ist bis [:Oneiric:Ubuntu 11.10] über die Paketverwaltung verfügbar und kann über das gleichnamige Paket {{{#!vorlage Paketinstallation scponly, universe }}} installiert[1] werden. = Konfiguration = scponly bringt ein Skript mit, mit dem man einfach und komfortabel neue Benutzer in eine [:chroot:]-Umgebung "einsperren" kann (der Benutzer darf noch nicht existieren, sonst bricht das Script ab). Dieses Skript findet man unter '''/usr/share/doc/scponly/setup_chroot/'''. Führt [2] man nun {{{#!vorlage Befehl cd /usr/share/doc/scponly/setup_chroot sudo gunzip setup_chroot.sh.gz sudo chmod +x setup_chroot.sh sudo ./setup_chroot.sh }}} aus, so wird das Skript entpackt und man wird von einem Wizard durch die Konfiguration geführt. Das Homeverzeichnis wird erstellt, falls es noch nicht existiert und kann im Script angegeben werden (Standard: '''/home/user''') == SUID-Bit setzen == Außerdem muss noch das fehlende SUID-Bit auf '''/usr/sbin/scponlyc''' gesetzt werden ([bug:51085:]). Dies wird durch folgenden Befehl erledigt (bei/ab Lucid nicht mehr nötig): {{{#!vorlage Befehl sudo chmod u+s /usr/sbin/scponlyc }}} == /dev/null im chroot erstellen == (bei lucid nicht nötig) Leider funktioniert nicht bei allen Installation der sftp-Server auf Anhieb, oft ist das Problem hier, dass in der chroot-Umgebung '''/dev/null''' nicht existiert und einige Dateien in '''/lib''' der chroot-Umgebung fehlen. Dies kann man aber mit der folgenden Befehlsfolge beheben: {{{#!vorlage Befehl cd /home/USERNAME sudo mkdir dev cd dev sudo mknod -m 666 null c 1 3 cp /lib/libnss_files* -av /home/USERNAME/lib }}} = Externes Verzeichnis einbinden = Möchte man nun z.B. das Verzeichnis '''/media/stuff''' für den Benutzer mit einbinden, dann erstellt man im jeweiligen Verzeichnis des Benutzers einen neuen Ordner mit dem Befehl {{{#!vorlage Befehl mkdir /home/USERNAME/stuff }}} == Temporär einbinden == Mit dem Befehl: {{{#!vorlage Befehl mount -o bind /media/stuff /home/USERNAME/stuff }}} wird das Laufwerk nun temporär eingebunden. == Dauerhaft einbinden == Will man dem Benutzer auch nach Neustarts Zugriff auf das Verzeichnis gewähren, so muss man es in der [:fstab:] mit folgendem Zusatz einbinden: {{{ /media/stuff /home/USERNAME/stuff none rw,bind 0 0 }}} Das `rw` (read/write) kann man durch ein `ro` (read only) ersetzen[3], wenn man dem Benutzer nur lesend Zugriff gewähren will. = Test = Nun kann man sich mit seinem neu erstellten Benutzer und einem [:SSH: SCP-Client] verbinden und testen, ob der neue Benutzer tatsächlich nur Lese- und Schreibrechte auf das zuvor angegebene Verzeichnis hat. = Problembehebung = * [bug:620019:]: die SFTP-Session wird nach dem Anmelden sofort geschlossen (10.04, 10.10, 11.04, scponlyc) = Links = * [github:scponly/scponly/wiki:Wiki] {en} * [http://hirnwix.blog.de/2007/11/03/scponly_mit_ubuntu_6_01_chrooted_scp_sft~3242039 SCPonly mit Ubuntu 6.10 chrooted scp/sftp] {de} - Blogbeitrag 11/2007 # tag: Netzwerk, Internet