Sie können nur unter dem Dokumentenstamm arbeiten.
Das Dokumentstammverzeichnis lautet / var / www / html.
Melden Sie sich mit Passwortauthentifizierung an. --SSH ist nicht verfügbar.
useradd sftp-user
passwd sftp-user
usermod -d / sftp-user
usermod -g apache sftp-user
chown sftp-user:apache /home/sftp-user
Punkt: Setzen Sie die Eigentümergruppe auf Apache und die Berechtigung auf 775, um einen Apache-Berechtigungsfehler zu vermeiden.
vim /etc/ssh/sshd_config
Korrekturen
#PasswordAuthentication no //Auskommentieren
#Subsystem sftp /usr/libexec/openssh/sftp-server //Auskommentieren
Subsystem sftp internal-sftp
Match User sftp-user
ChrootDirectory /var/www/sftp
ForceCommand internal-sftp -u 0002
PasswordAuthentication yes
Parameter | Erläuterung |
---|---|
Match | Geben Sie den Bedingungsbereich an, indem Sie Benutzer oder Gruppe angeben |
ChrootDirectory | Verzeichnispfad zu chroot |
ForceCommand | Erzwungene Befehlseinstellung |
PasswordAuthentication | Gibt an, ob eine Kennwortauthentifizierung durchgeführt werden soll |
Hinweis: Wenn sftp-user eine Datei mit ForceCommand internal-sftp -u 0002 hochlädt Die Gruppe ist autorisiert. Wenn es nicht eingestellt ist, ist es 755, aber nach dem Einstellen ist es 775. (Ermöglicht das Schreiben durch Apache, indem der Gruppe Berechtigungen erteilt werden.)
Starten Sie nach der Korrektur neu.
systemctl restart sshd
Das erste, was ich unterdrücken möchte, ist die Autorität des für chroot angegebenen Verzeichnisses
darüber.
Aufgrund dieser Einschränkung ist die Verzeichnisstruktur wie folgt.
var └ www ├ Dokumentenstamm └ Verzeichnis als chroot angegeben └ Verzeichnis für die delegierende Berechtigung (Mounten des Dokumentstamms)
chown sftp-user:apache /var/www/html/
chmod 775 /var/www/html/
mkdir /var/www/sftp
chown root:root /var/www/sftp/
chmod 755 /var/www/sftp/
mkdir /var/www/sftp/sftp-user
chown sftp-user:apache /var/www/html/sftp-user
chmod 775 /var/www/html/sftp-user
Wenn Sie kein Verzeichnis zum Übertragen von Berechtigungen erstellen und das Dokumentstammverzeichnis direkt unter chroot platzieren, kann es nur vom Stammbenutzer betrieben werden.
mount -B /var/www/html /var/www/sftp/sftp-user
Möglichkeit | Erläuterung |
---|---|
B | Jedes Verzeichnis kann unter einem anderen Verzeichnis bereitgestellt werden |
Dateien und Verzeichnisse, die dem Dokumentstamm ähnlich sind, werden unter / var / www / sftp / sftp-user / hinzugefügt. Nach dem Hochladen der Dateien werden sie einander hinzugefügt.
Wenn Sie es neu starten, wird es nicht gemountet. Stellen Sie es also ein.
vim /etc/fstab
hinzufügen
/var/www/html /var/www/sftp/sftp-user none bind 0 0
Ein Artikel, der sorgfältig über fstab geschrieben wurde, ist hier
das ist alles. Erstellen Sie einen SFTP-Benutzer, wenn Sie nicht auf dem Server sein möchten.
Recommended Posts