Nicht-Chroot-Zugang
Wenn Sie kein FTP-Server-Setup haben und dem Benutzer, der sich anmeldet, vertrauen, dass er nicht zu viel auf Ihrem Server herumstochert, würde ich ihm stattdessen ein Konto für SFTP im System zuweisen.
Das CentOS-Wiki enthält ein einfaches Howto mit dem Titel: Einfaches SFTP-Setup , das dies ziemlich schmerzfrei macht.
Ich sage, es ist schmerzfrei, weil Sie buchstäblich nur das Konto erstellen und sicherstellen müssen, dass die Firewall SSH-Verkehr zulässt, sicherstellen, dass SSH der Dienst ausgeführt wird, und Sie ziemlich fertig sind.
Wenn sshd
es noch nicht läuft:
$ /etc/init.d/sshd start
So fügen Sie einen Benutzer hinzu:
$ sudo useradd userX
$ sudo passwd userX
... set the password ...
Wenn Sie mit dem Konto fertig sind:
$ sudo userdel -r userX
Chroot-Zugang
Wenn Sie diesen Benutzer andererseits auf ein bestimmtes Verzeichnis beschränken möchten, bietet der in SSH (openssh) enthaltene SFTP-Server eine Konfiguration, mit der dies ebenfalls einfach aktiviert werden kann. Es ist ein bisschen mehr Arbeit, aber nicht zu viel. Die Schritte werden hier in diesem Tutorial mit dem Titel behandelt: Einrichten von Chroot SFTP unter Linux (Nur SFTP zulassen, nicht SSH) .
Nehmen Sie diese Änderungen an Ihrer /etc/ssh/sshd_config
Datei vor.
Subsystem sftp internal-sftp
## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
Jetzt müssen Sie den chrootierten Verzeichnisbaum erstellen, in den dieser Benutzer gesperrt wird.
$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}
Berechtigungen sollten wie folgt aussehen:
$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing
Die Verzeichnisse der obersten Ebene sehen folgendermaßen aus:
$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser
Vergessen Sie nicht, den sshd
Server neu zu starten :
$ sudo service sshd restart
Erstellen Sie nun das userX-Konto:
$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...
Sie können überprüfen, ob das Konto korrekt erstellt wurde:
$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin
Wenn Sie mit dem Konto fertig sind, löschen Sie es wie folgt:
$ sudo userdel -r userX
... und vergessen Sie nicht, die oben vorgenommenen Änderungen an der Konfigurationsdatei zu entfernen und dann neu sshd
zu starten , um sie wieder zu aktivieren.