Erstellen Sie einen Benutzer und geben Sie ihm Zugriff auf eine bestimmte Website in Ubuntu (Digitalocean+Serverpilot)

Erstellen Sie einen Benutzer und geben Sie ihm Zugriff auf eine bestimmte Website in Ubuntu (Digitalocean+Serverpilot)

Ich bin ein kleiner Neuling in der Programmierung und möchte in diesem Forum um Hilfe bitten, da ich bereits an mehreren Stellen gesucht habe und nichts gefunden habe.

Ich habe einen Ubuntu-Server auf Digitalocean mit installiertem Serverpilot. Mein einziger dort angelegter Benutzer ist „Serverpilot“. Aber ein Programmierer hat um Zugriff auf eine Site gebeten, die ich auf diesem Server installiert habe. Dort wird er eine Vorlage programmieren und einige Änderungen an der Datenbank vornehmen, und da ich dem Benutzer „Serverpilot“ keine Anmeldedaten geben wollte, habe ich ihn gebeten, einen speziellen FTP-Benutzer nur für ihn zu erstellen, damit er auf diese Site (ihre Ordner und Unterordner) zugreifen kann. Ich habe recherchiert, wie das geht, habe einige Tutorials getestet, aber ich stecke immer noch fest.

Ich habe es geschafft, vsftpd zu installieren, und dann fing ich an, mich zusammenzurollen.

Ich möchte, dass dieser neue FTP-Benutzer nur auf eine bestimmte Site im Verzeichnis „/srv/users/serverpilot/apps/cronegame2/public“ zugreifen kann und dass er auf deren Ordner, Unterordner und Datenbank zugreifen und diese ändern kann, mehr nicht. Und dass er sich nur über Port 21 anmelden kann, sodass er nicht auf ROOT zugreifen kann.

Bitte helfen Sie mir, dies zu erreichen.

Antwort1

Um einen FTP-Benutzer mit eingeschränktem Zugriff auf ein bestimmtes Website-Verzeichnis zu erstellen, können Sie die folgenden Schritte ausführen:

Neuen Benutzer für FTP-Zugriff anlegen:

sudo adduser ftpuser

Legen Sie ein Passwort für den neuen Benutzer fest.

Erstellen Sie eine neue Gruppe für den FTP-Zugriff:

sudo groupadd ftpaccess

Fügen Sie den FTP-Benutzer der neuen Gruppe hinzu:

sudo usermod -aG ftpaccess ftpuser

Ändern Sie den Besitz des Website-Verzeichnisses zur neuen Gruppe:

sudo chown -R serverpilot:ftpaccess /srv/users/serverpilot/apps/cronegame2/public

Ändern Sie die Berechtigungen des Websiteverzeichnisses, um der neuen Gruppe Lesen, Schreiben und Ausführen zu ermöglichen:

sudo chmod -R g+rwx /srv/users/serverpilot/apps/cronegame2/public

Konfigurieren Sie vsftpd so, dass nur der Zugriff auf das angegebene Verzeichnis erlaubt ist und der Zugriff auf das Stammverzeichnis eingeschränkt wird:

Bearbeiten Sie die /etc/vsftpd.confDatei und fügen Sie am Ende die folgenden Zeilen hinzu:

# Allow access only to the specific directory
chroot_local_user=YES
local_root=/srv/users/serverpilot/apps/cronegame2/public

# Restrict access to the root directory
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.allowed_users

Erstellen Sie abschließend die Datei /etc/vsftpd.allowed_users und fügen Sie den FTP-Benutzer hinzu:

sudo sh -c "echo 'ftpuser' >> /etc/vsftpd.allowed_users

verwandte Informationen