ubuntuusers.deWikiscponly

scponly

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

./scponly.png scponly {en} erlaubt es eine FTP-ähnliche Up- und Downloadmöglichkeit einzurichten, allerdings über das verschlüsselte SSH-Protokoll [5]. 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 User Zugriff haben.

Installation

scponly ist über die Paketverwaltung verfügbar, und kann über das gleichnamige Paket

  • scponly (universe [4])

Wiki/Vorlagen/Installbutton/button.png

installiert[1] werden.

Konfiguration

scponly bringt ein Skript mit, mit dem man einfach und komfortabel neue Benutzer in eine s.g. chroot-Umgebung "einsperren" kann.

Dieses Skript findet man unter /usr/share/doc/scponly/setup_chroot/. Führt [2] man nun

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. der Benutzer darf noch nicht existieren (Script bricht ab) das Homeverzeichnis wird notfalls erstellt 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. (51085) Dies wird durch folgenden Befehl erledigt (bei/ab Lucid nicht mehr nötig):

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 bei Maverick einige Dateien in /lib der chroot-Umgebung fehlen. Dies kann man aber mit der folgenden Befehlsfolge beheben:

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

mkdir /home/USERNAME/stuff 

Temporär einbinden

Mit dem 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 SCP-Client verbinden und testen, ob der neue Benutzer tatsächlich nur Lese- und Schreibrechte auf das zuvor angegebene Verzeichnis hat.

Bugs

620019 SFTP-Session wird nach dem Anmelden sofort geschlossen (10.04,10.10,11.04,scponlyc)

Diese Revision wurde am 22. August 2011 um 20:27 Uhr von lagerimsi erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Netzwerk, Internet

Passwort vergessen?