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

Beschränken Sie den FTP-Zugriff nur auf /var/www mit Vsftpd?

Ich verwende vsftpd als FTP-Server auf meinem Linux (Rasbian), ich melde mich als Root-Benutzer am Computer an.

Ich möchte immer noch darauf beschränkt sein, nur /var/www zu verwenden, wie kann ich vsftpd conf konfigurieren, um dies zu erreichen?

Akzeptierte Antwort:

Methode 1:Ändern des Home-Verzeichnisses des Benutzers

Stellen Sie sicher, dass die folgende Zeile vorhanden ist

chroot_local_user=YES

Setzen Sie das HOME-Verzeichnis des Benutzers auf /var/www/ , wenn Sie für einen bestehenden Benutzer wechseln möchten, können Sie Folgendes verwenden:

usermod --home /var/www/ username

Legen Sie dann die erforderliche Berechtigung für /var/www/ fest

Methode 2:Verwenden Sie user_sub_token

Wenn Sie das Home-Verzeichnis des Benutzers nicht ändern möchten, können Sie Folgendes verwenden:

chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER

Über user_sub_token :

Generieren Sie automatisch ein Home-Verzeichnis für jeden virtuellen Benutzer, basierend auf einer Vorlage.
Zum Beispiel, wenn das Home-Verzeichnis des realen Benutzers, der über guest_username angegeben wird,
/ftphome/$USER ist und user_sub_token auf $ gesetzt ist USER, wenn sich der virtuelle Benutzer test
anmeldet, landet er (normalerweise per chroot()) im Verzeichnis /ftphome/test.
Diese Option wirkt sich auch aus, wenn local_root user_sub_token enthält.

Verzeichnis erstellen und Berechtigungen einrichten:

mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test

Starten Sie einmal vsftpd neu und testen Sie Ihr Setup.

Beispielerfolgsausgabe:

[[email protected] tmp]# ftp localhost
Connected to mail.linuxian.local.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput vhosts
mput vhosts? 
227 Entering Passive Mode (127,0,0,1,146,41)
150 Ok to send data.
226 File receive OK.
24 bytes sent in 3.3e-05 seconds (7.1e+02 Kbytes/s)
ftp> ls -rlt
227 Entering Passive Mode (127,0,0,1,97,90)
150 Here comes the directory listing.
-rw-r--r--    1 787      787            24 Oct 11 19:57 vhosts
226 Directory send OK.
ftp> 221 Goodbye.

Linux
  1. Verwendung von –exclude mit dem Du-Befehl?

  2. Nur bestimmte Zeichenfolgen finden (Domäne) Eine andere Datei extrahieren?

  3. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  4. Verwenden Sie ein Git-Repository auf /var/www/html/

  5. Django static_root in /var/www/... - keine Berechtigungen für collectstatic

So beschränken Sie den Zugriff des Benutzers auf das Linux-System

Debian – Kann Sftp-Benutzer nicht erstellen Debian 7?

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

unix:///var/run/supervisor.sock keine solche Datei

Was ist der beste Weg, um Berechtigungen für die www-Benutzerdaten von Apache 2 in /var/www zu handhaben?

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?