
Michael Arnold
0
678
76

Einführung
Scponly ist eine alternative Shell für Systemadministratoren, die Remotebenutzern Zugriff zum Lesen und Schreiben lokaler Dateien gewähren möchten, ohne Remote-Ausführungsberechtigungen bereitzustellen. Funktionell lässt es sich am besten als Wrapper für die bewährte SSH-Anwendungssuite beschreiben. Scponly ist eine sichere Alternative zu anonymem FTP. Der Administrator kann ein sicheres Benutzerkonto mit eingeschränktem Remote-Dateizugriff und ohne Zugriff auf eine interaktive Shell einrichten.
Eine typische Verwendung von scponly ist die Erstellung eines halböffentlichen Kontos. Auf diese Weise kann ein Administrator Dateien auf die gleiche Weise wie bei einem anderen FTP-Setup freigeben, wobei nur der gesamte von ssh bereitgestellte Schutz verwendet wird. Dies ist besonders wichtig, wenn Sie bedenken, dass FTP-Authentifizierungen öffentliche Netzwerke in einem Nur-Text-Format durchlaufen.
Voraussetzungen
Bevor Sie mit diesem Lernprogramm beginnen, müssen Sie einige Voraussetzungen erfüllen:
- Sie benötigen ein frisches CentOS 6 oder 7 Droplet.
- Außerdem müssen Sie alle Befehle als Nicht-Root-Benutzer ausführen.
Installieren und konfigurieren Sie Scponly
Schritt 1:
Es müssen 5 Pakete installiert werden, um das scponly aus dem Quellcode zu erstellen. Diese Pakete sind die folgenden:
- Wget: um Dateien herunterzuladen
- Mann: Manpages lesen
- rsync: um ein erweitertes Kopieren von Dateien zu ermöglichen
- gcc: scponly aus der Quelle zu kompilieren
- openssh-client-tools: verschiedene ssh-Tools verwenden
Um diese Pakete zu installieren, verwenden wir den folgenden Befehl:
sudo yum install wget man rsync gcc openssh-clients -y
Schritt 2:
Jetzt laden wir die neueste Version von Scponly anhand der folgenden Anweisungen herunter. Wir werden mit dem Umzug beginnen / opt Verzeichnis mit dem folgenden Befehl, der für optionale Software verwendet wird:
cd / opt
Und wir werden den folgenden Befehl verwenden, um die neueste Version von Scponly zu installieren:
sudo wget http://sourceforge.net/projects/scponly/files/scponly-snapshots/scponly-20110526.tgz
Und um die Datei zu extrahieren, verwenden wir den folgenden Befehl:
sudo tar -zxvf scponly-20110526.tgz
Schritt 3:
Nachdem Sie die Datei heruntergeladen und extrahiert haben, beginnen wir mit der Erstellung von scponly mit drei Hauptbefehlen: configure, make und make install.
Wir werden mit dem folgenden Befehl in das Verzeichnis wechseln, in dem sich der Quellcode von scponly befindet:
cd / opt / scponly-20110526
Dann verwenden wir den ersten Befehl "configure", um ein Makefile mit unseren ausgewählten Funktionen zu erstellen.
Wir wählen folgende Optionen:
--enable-chrooted-binary:
Installiert chrooted Binaryscponlyc
--enable-winscp-kompatibel:
Aktiviert die Kompatibilität mit WinSCP, einem Windows-SCP / SFTP-Client--enable-rsync-kompatibel:
Aktivieren Sie die Kompatibilität mit rsync, einem sehr vielseitigen Dienstprogramm zum Kopieren von Dateien--enable-scp-kompatibel:
Aktiviert die Kompatibilität mit den scp-Befehlen im UNIX-Stil
Wie es im folgenden Befehl geschrieben steht:
sudo ./configure --enable-chrooted-binary --enable-winscp-kompatibel --enable-rsync-kompatibel --enable-scp-kompatibel --with-sftp-server = / usr / libexec / openssh / sftp-server
Jetzt verwenden wir den zweiten Befehl "make", um die ausgewählten Optionen in die Binärdateien zu integrieren, die in Ihrem System installiert und ausgeführt werden.
Sudo machen
Und wir werden die Binärdateien mit dem folgenden Befehl installieren:
sudo make install
Und wir werden die scponly-Shells mit dem folgenden Befehl zur Datei / etc / shells hinzufügen:
sudo / bin / su -c "echo" / usr / local / bin / scponly ">> / etc / shells"
Jetzt haben wir dem System eine neue Shell namens scponly hinzugefügt und die Binärdatei im Verzeichnis / usr / local / bin / scponly gefunden.
Danach erstellen wir unsere Gruppe namens scponly mit dem folgenden Befehl:
sudo groupadd scponly
Schritt 4:
In diesem Abschnitt erstellen wir ein zentrales Upload-Verzeichnis für die Gruppe scponly. Auf diese Weise können Sie steuern, wo und wie viele Daten auf den Server hochgeladen werden können.
Erstellen Sie ein Verzeichnis mit dem Namen / pub / upload
Dies ist ein Verzeichnis für Uploads:
sudo mkdir -p / pub / upload
Ändern Sie den Gruppenbesitz des / pub / upload
Verzeichnis zu scponly
::
sudo chown root: scponly / pub / upload
Der nächste Schritt ist das Einrichten von Berechtigungen für die / pub / upload
Verzeichnis. Indem Sie die Berechtigungen für dieses Verzeichnis auf 770 setzen, gewähren wir nur den Root-Benutzern und Mitgliedern der scponly-Gruppe Zugriff.
Ändern Sie die Berechtigungen für die / pub / upload
Verzeichnis zum Lesen, Schreiben und Ausführen für den Eigentümer und die Gruppe sowie zum Entfernen aller Berechtigungen für andere:
sudo chmod 770 / pub / upload
Schritt 5:
Um unsere scponly-Konfiguration zu überprüfen, richten wir ein neues Benutzerkonto ein. Wir beginnen also damit, einen Benutzer namens zu erstellen Waf_User und erwähne scponly als alternative Gruppe und / usr / local / bin / scponly
als Shell mit folgendem Befehl:
sudo useradd -m -d / home / Waf_User -s "/ usr / local / bin / scponly" -c "Waf_User" -G scponly Waf_User
Jetzt bearbeiten wir die Berechtigungen für das Home-Verzeichnis von Waf_User mit dem folgenden Befehl:
sudo chmod 500 / home / Waf_User
Zum Abschluss dieses Schritts fügen wir unserem erstellten Benutzer mit dem folgenden Befehl ein Kennwort hinzu:
sudo passwd Waf_User
Schritt 6:
In diesem Schritt prüfen wir, ob unsere scponly-Shell remote funktioniert. Zunächst prüfen wir, ob unser erstellter Benutzer keinen Zugriff auf das Terminal hat. Dazu versuchen wir, uns mit dem folgenden Befehl als Waf_User beim Server anzumelden:
su - Waf_User
Wenn Sie keinen Zugriff haben, drücken Sie Strg + C, um die scponly-Shell zu verlassen. Sie können den Zugriff auch von Ihrem lokalen Computer aus mit dem folgenden Befehl überprüfen:
ssh [email protected] your_IP
Sie werden sehen, dass Sie keinen Zugriff haben. Drücken Sie erneut Strg + C, um die scponly-Shell zu verlassen.
Schritt 7:
Jetzt werden wir überprüfen, ob wir mit unserem erstellten Benutzer Dateien herunterladen können. Wir beginnen mit der Erstellung einer 100-MByte-Datei mit dem folgenden Befehl:
sudo fallocate -l 100m /home/Waf_User/Waf_file.img
Jetzt ändern wir den Besitz der Datei Waf_file.img mit dem folgenden Befehl in Waf_User:
sudo chown Waf_User: Waf_User /home/Waf_User/Waf_file.img
Wechseln Sie dann mit dem folgenden Befehl in das Verzeichnis tmp:
cd / tmp
Dann verwenden wir den folgenden Befehl, um zu unserem Server zu wechseln:
sftp [email protected] your_IP
Verwenden Sie dann die folgenden Befehle, um die Datei herunterzuladen:
ls -l bekomme Waf_file.img
Verwenden Sie nach Abschluss des Downloads den Befehl quit, um Folgendes zu beenden:
Verlassen
Überprüfen Sie, ob die Datei erfolgreich heruntergeladen wurde, bevor Sie zu Ihrem lokalen Computer zurückkehren.
ls -l Waf_file.img
Schritt 8:
Jetzt werden wir überprüfen, ob der Waf_User mit dem Befehl sftp Dateien auf den Server herunterladen kann.
Erstellen Sie im vorherigen Schritt eine 100-Megabyte-Datei mit dem Namen Waf_upload.img
mit dem folgenden Befehl:
fallocate -l 100m /home/Waf_User/Waf_upload.img
Stellen Sie dann von Ihrem lokalen System aus mit dem folgenden Befehl eine Verbindung zu Ihrem Server her:
sftp [email protected] your_IP
Laden Sie dann die Datei mit dem folgenden Befehl hoch:
Setzen Sie Waf_upload.img / pub / upload /
Überprüfen Sie mit dem folgenden Befehl, ob die Datei erfolgreich hochgeladen wurde:
ls -ltr / pub / upload
Sie werden so etwas bekommen:
-rw-r - r-- 1 Waf_User Waf_User 104857600 Juil 27 08:58 Waf_upload.img
Und zum Schluss beenden Sie den Befehl quit:
Verlassen
Fazit
Jetzt haben Sie einen scponly in Ihrem System installiert und konfiguriert. Dieses Tool ist eine eingeschränkte Shell, mit der Benutzer auf scp / sftp und nur auf scp / sftp auf Ihre Box zugreifen können. Zusätzlich können Sie einrichten scponly den Benutzer in ein bestimmtes Verzeichnis zu chrooten, um die Sicherheitsstufe zu erhöhen.
Quell- und Referenzlinks:
- Scponly Homepage
- Digitaler Ozean