So erstellen Sie SFTP -Benutzer für ein Webserver -Dokumentroot

So erstellen Sie SFTP -Benutzer für ein Webserver -Dokumentroot

SFTP (SSH/Secure -Dateiübertragungsprotokoll) ist ein Netzwerkübertragungsstandard, das zum Übertragen, Zugriff und Verwaltung von Dateien über ein Remote -Netzwerk verwendet wird. Es enthält SSH (sichere Shell), wodurch es viel sicherer ist als das FTP -Protokoll.

Dateien werden über einen einzelnen Steuerkanal in SFTP übertragen. Es erfordert Authentifizierung und läuft auf Port 22 aus. In SFTP bietet die SSH -Shell eine Verschlüsselung, mit der Benutzernamen, Kennwörter und andere personenbezogene Daten über SFTP übertragen werden.

In dieser Anleitung lernen wir, SFTP-Benutzer für Webserver-Dokumentroot zu erstellen.

Schritt 1 - SSH installieren (sichere Shell)

SFTP ist ein sehr sicheres Dateiübertragungsprotokoll aufgrund der Verschlüsselung, die SSH für die Daten über das Netzwerk übertragen wird. SSH ist hauptsächlich standardmäßig auf Linux-Verteilungen installiert. Wenn es jedoch nicht in Ihrem System vorinstalliert ist, können Sie den folgenden Befehl verwenden, um ihn zu installieren:

sudo apt installieren ssh  

Wenn bereits installiert.

Schritt 2 - Konfigurieren von SSH für die Verwendung des SFTP -Servercode

Öffnen Sie nun die Konfigurationsdatei von SSH in einem Texteditor, um sie für den SFTP -Servercode zu ändern. Hier werden wir den Nano -Editor verwenden, um die Konfigurationsdatei zu bearbeiten.

sudo nano/etc/ssh/sshd_config  

Suchen Sie die Linie aus „Subsystem SFTP“ aus,.

Kommentieren Sie die Zeile, indem Sie # zu Beginn der Zeile hinzufügen, und schreiben Sie die folgende Zeile nach dieser Zeile, wie im unten angegebenen Screenshot gezeigt:

Subsystem SFTP Internal-SFTP 

Der SSHD verwendet den SFTP -Servercode, anstatt den SFTP -Server auszuführen, indem die obige Zeile geändert wird.

Sobald Sie die Konfigurationsdatei geändert haben, speichern Sie die Datei und beenden.

Nach Änderungen müssen wir den SSHD -Daemon neu starten, um die Änderungen funktionieren zu lassen.

sudo systemctl starten sshd neu  

Schritt 3 - Erstellen eines Benutzers (SFTP -Benutzer)

Es ist eine hervorragende Praxis, einen neuen Benutzer zu erstellen, der nur über SFTP -Zugriff auf das Dokumentenrouch verfügt. Es wird nicht empfohlen, einen Benutzer mit Sudo -Berechtigungen zum Webserver -Dokument -Root hinzuzufügen. Erstellen Sie einen neuen Benutzer mit dem Befehl adduser:

sudo adduser sftpuser  

Das Terminal fordert nach einigen Dingen wie dem Festlegen des Kennworts und der Benutzerinformationen auf. Es wird auch nach einigen anderen Details gefragt. Lassen Sie sie entweder leer oder geben Sie die richtigen Informationen an.

Ein neuer Benutzer mit dem Namen von sftpuser wird erfolgreich erstellt.

Schritt 4 - Erstellen der Übereinstimmung der Benutzeranweisung in der SSH -Konfigurationsdatei

Jetzt beschränken wir diesen Benutzer auf das Dokument -Stammer.

Öffnen Sie die Konfigurationsdatei von SSH in jedem Texteditor, um den Zugriff des Benutzers einzuschränken:

sudo nano/etc/ssh/sshd_config  

Gehen Sie nun zum Ende der Datei und fügen Sie den folgenden Inhalt in die Konfigurationsdatei "SSHD_CONfig" hinzu:

Übereinstimmen der Benutzer SFTPUSER FORCOMMAND INTERNEHTP CHROOTDIRECTORY/VAR/www/passwordAuthentication Ja x11forenwarding NEIN ALLETCPFORDARDING NEIN 

Stellen Sie sicher.

Sobald der obige Inhalt zur SSH -Konfigurationsdatei hinzugefügt wird, speichern und beenden.

Um die Syntax zu überprüfen und zu überprüfen, ob alles gut gelaufen ist, können Sie den Befehl ausführen:

sudo sshd -t  

Wenn kein Fehler aufgetreten sind, können wir den SSH -Service für die Arbeitsänderungen neu laden.

sudo systemctl starten sshd neu  

Schritt 5 - SFTP -Benutzer zur www -data -Gruppe hinzufügen

Jetzt werden wir den Benutzer zur WWW-DATA-Gruppe hinzufügen, indem wir den folgenden Befehl ausführen:

sudo usermod -a -g www -data sftpuser  

Bei einem erfolgreichen Lauf wird keine Ausgabe angezeigt.

Schritt 6 - Erlaubnis zur Erlaubnis des Dokumentstammverzeichnisses einstellen

Bitte befolgen Sie die nachfolgenden Anweisungen sehr sorgfältig, da SFTP in Bezug.

  1. Wir werden zunächst die aktuellen Berechtigungen und das Eigentum an VAR überprüfen:
    sudo ls -ld /var /  
  2. Die Berechtigungen sollten 755 sein und der Eigentümer sollte standardmäßig root sein. Wenn nicht, führen Sie den unten angegebenen Befehl aus, um die richtigen Berechtigungen festzulegen:
    sudo chmod 755 /var /  
  3. Verwenden Sie nun diesen Befehl, um den richtigen Eigentum festzulegen:
    sudo chown root: root /var /  
  4. Wenden Sie in ähnlicher Weise die gleichen Berechtigungen auf den Chroot an:

    sudo chmod 755/var/www/  
  5. Da haben wir "/var/www/" auf das Chroot -Verzeichnis gesetzt. Stellen Sie nun den richtigen Eigentum am Chroot -Verzeichnis fest:
    sudo chown root: root/var/www/  
  6. Setzen Sie die Erlaubnis auf 755, um einer Gruppe in das Dokument -Root -Verzeichnis zu schreiben:
    sudo chmod 755/var/www/html/  
  7. Verwenden Sie den folgenden Befehl unter:
    sudo chown -r www-data: www-data/var/www/html*  
  8. Geben Sie nun 755 Berechtigungen für den in dem Dokumentstamm „/var/www/html“ platzierten Inhalt mit dem Befehl "/var/www/html" an:
    sudo find/var/www/html/-type d -exec chmod 775  \;  
  9. Der obige Befehl gewährt dem SFTP -Benutzer Lesen, Schreiben und ausführbare Berechtigungen der Verzeichnisse.

    Wir müssen auch 664 Berechtigungen an alle Dateien geben, die im Dokument -Root vorhanden sind, damit der Eigentümer und die Gruppe der SFTP -Benutzer die Dateien lesen und schreiben können:

    sudo find/var/www/html/-type f -exec chmod 664  \;  
  10. Stellen Sie nun sicher, dass alle neuen Dateien und Verzeichnisse die WWW-Daten-Gruppe erwerben, die den neu erstellten SFTP-Benutzer erstellt werden:
    sudo find/var/www/html -Typ d -exec chmod g+s  \;  

Glückwunsch! Ihr neuer SFTP -Benutzer wurde erstellt und zum Webserver -Dokument -Stamm hinzugefügt. Sie können sich jetzt bei SFTP anmelden.

Abschluss

In dieser Anleitung haben wir gelernt, SSH zu installieren und zu konfigurieren, um den SFTP-Servercode zu verwenden. Danach haben wir einen neuen Benutzer erstellt, sie auf das Dokumentieren von Root beschränkt und seinen SSH -Zugriff deaktiviert. Anschließend haben wir den Benutzer dem Webserver -Dokument -Root hinzugefügt, damit der Benutzer Dateien im Dokumentroot lesen, schreiben und ausführen können.