GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So erstellen Sie einen SFTP-Benutzer mit bestimmten Verzeichnisberechtigungen in Ubuntu 20.04

SFTP steht für Secure File Transfer Protocol, das wir für die sichere Datenübertragung zu und von Ihrem lokalen System verwendet haben. Es funktioniert über das SSH-Protokoll und gilt daher als sicherer als das einfache FTP (File Transfer Protocol). Die Datenübertragung ist eine routinemäßige Aufgabe jedes Systemadministrators und anderer Entwickler, die Änderungen an ihrem Code vornehmen müssen.

Daher zeigen wir im heutigen Artikel die detaillierten Schritte zum Konfigurieren des SFTP-Servers und zum Erstellen von Benutzern mit ihren angegebenen Verzeichnisberechtigungen.

Für die Demonstration verwenden wir Ubuntu 20.04 LTS für die SFTP-Einrichtung, aber ähnliche Schritte können durchgeführt werden, falls Sie das RHEL/CentOS-Betriebssystem verwenden.

Voraussetzungen:

Ausgehend von den Voraussetzungen müssen wir sicherstellen, dass wir sudo- oder root-Benutzerrechte auf dem Server haben, auf dem wir SFTP-Benutzer erstellen müssen.

Beginnen wir damit, uns mit ssh beim System anzumelden, wofür Sie das Putty- oder Shell-Terminal Ihres Linux-Desktops verwenden können.

# ssh -i key.pem [email protected]_server_ip
# sudo -i

Sie können sich auch direkt bei Ihrem System anmelden, aber stellen Sie sicher, dass Sie Ihren eigenen Benutzernamen und Ihre eigenen Anmeldeinformationen verwenden.

Schritt 1:Neuen Nur-SFTP-Benutzer erstellen

Das Erstellen eines neuen Benutzers für SFTP ist so ähnlich wie das Hinzufügen anderer allgemeiner Benutzer. Aber um die Verwendung nur für SFTP-Zwecke einzuschränken, werden wir sie keiner Login-Shell zuweisen.

Führen Sie den folgenden Befehl aus, um einen SFTP-Benutzer zu erstellen, indem Sie sein benutzerdefiniertes Home-Verzeichnis angeben.

# useradd -m -d /home/example.com sftp_user

Legen Sie das Passwort des neu erstellten Benutzers mit dem Befehl „passwd“ wie unten beschrieben fest.

# passwd sftp_user

Stellen Sie sicher, dass Sie aus Sicherheitsgründen ein komplexes Passwort festlegen. Weisen Sie ihm dann eine Nologin-Shell zu, indem Sie die Datei „passwd“ wie unten beschrieben ändern.

# vim /etc/passwd
sftp_user:x:1001:1001::/home/example.com:/usr/sbin/nologin

Speichern und schließen Sie mit :wq! Um Änderungen zu übernehmen.

Schritt 2:Verzeichnisberechtigungen einrichten

Nach dem Erstellen des neuen Benutzers müssen wir die richtigen Verzeichnisberechtigungen und Eigentumsrechte für das Verzeichnis des Benutzers einrichten, das wir im ersten Schritt erstellt haben.

# chmod 755 /home/example.com/
# chown root:root /home/example.com

Schritt 3:Verzeichniszugriff einschränken

Jetzt haben wir einen neuen Nur-SFTP-Benutzer eingerichtet, als Nächstes müssen wir seinen Verzeichniszugriff einschränken, damit er auf den angegebenen Home-Ordner zugreifen kann, den wir erstellt haben.

Dazu ändern wir die ssh-Konfigurationsdatei, indem wir die folgenden Parameter hinzufügen.

# vim /etc/ssh/sshd_config
subsystem sftp internal-sftp

Match User sftp_user

ChrootDirectory %h

AllowTCPForwarding no

X11Forwarding no

PasswordAuthentication yes

ForceCommand internal-sftp

Stellen Sie vor dem Speichern der vorgenommenen Änderungen sicher, dass Sie Ihren Benutzernamen zu „Match User“ hinzufügen, wobei „%h“ das Home-Verzeichnis Ihres neu erstellten Benutzers innerhalb der eingeschränkten Umgebung darstellt. Dieses 'ChrootDirectory' stellt sicher, dass Ihr SFTP-Benutzer keinen Zugriff auf andere Verzeichnisse hat.
Speichern Sie die ssh-Konfigurationsdatei, überprüfen Sie die Syntax, wenn es ein Problem gibt, und starten Sie dann ihre Dienste neu und bestätigen Sie, ob sie mit dem ausgeführt wird unten Befehle.

# ssh -t
# systemctl restart sshd
# systemctl status sshd

Hier sehen Sie, dass zunächst ein Fehler in der ssh-Konfigurationsdatei aufgetreten ist, den wir behoben haben, indem wir den zusätzlichen Eintrag auskommentiert und „sshd service.

neu gestartet haben

Schritt 4:SFTP-Anmeldung testen

An diesem Punkt sind wir bereit, unseren SFTp-Benutzer zu verwenden, aber vorher testen wir ihn, um sicherzustellen, dass er nur SFTP-Zugriff hat, indem wir den Befehl ssh verwenden.

# [email protected]

Wobei xx durch Ihre eigene Server-IP ersetzt werden muss. Als Ergebnis sollten Sie den unten gezeigten Verbindungsfehler erhalten.

Schritt 5:Verwendung des SFTP-Clients

Es stehen einige SFTP-Clients zur Verfügung, die für das plattformübergreifende Betriebssystem verwendet werden können, und Sie können Ihren Favoriten verwenden. Wir werden es mit FileZilla testen, einem der besten und nützlichsten verfügbaren FTP/SFTP-Clients. Sie können es einfach über den offiziellen Link herunterladen.

Lassen Sie uns es in Ihrem System öffnen und geben Sie die IP-Adresse Ihres SFTP-Servers zusammen mit Ihrem erstellten Benutzernamen und Passwort ein.

Nach erfolgreicher Anmeldung können Sie nur auf Ihr angegebenes Verzeichnis zugreifen, in dem Sie die Daten hoch- oder herunterladen können.

Schlussfolgerung:

In diesem Artikel haben wir die detaillierten Schritte zur Einrichtung und zum neuen SFTP-Server behandelt, indem wir die ssh-Konfigurationsänderungen vorgenommen, neue Benutzer hinzugefügt und die erforderlichen Verzeichnisberechtigungen zugewiesen haben. Sie können beliebig viele Benutzer hinzufügen oder einfach eine neue Gruppe erstellen und neue Benutzer in diese Gruppe aufnehmen.


Ubuntu
  1. So erstellen Sie einen Postgres-Benutzer

  2. So erstellen Sie einen Sudo-Benutzer unter Ubuntu

  3. So erstellen Sie einen Benutzer mit einem benutzerdefinierten Home-Verzeichnis in Linux

  4. Centos – Wie erstelle ich einen Sftp-Benutzer in Centos?

  5. So erstellen und löschen Sie Benutzer unter Ubuntu 16.04

So installieren und erstellen Sie ein Blog mit Hexo unter Ubuntu 20.04

So erstellen Sie einen inhaftierten ssh-Benutzer mit Jailkit unter Debian/Ubuntu

So löschen Sie ein Verzeichnis in Ubuntu 20.04

So erstellen Sie Linux-Betriebssystemvorlagen mit KVM unter Ubuntu 20.04

So erstellen Sie einen Sudo-Benutzer in Ubuntu Linux

So erstellen Sie einen neuen Benutzer und erteilen Berechtigungen in MySQL