SFTP einrichten und Benutzer anlegen

edvsb

Registered User
Hallo zusammen,

hoffe das Forum passt hier, war mir da nicht so wirklich sicher (FTP, SSH, Server ??).

Folgendes.... Ich bin einer von denen, der noch einen ganz alten proftpd installiert hat und den nun komplett entfernen möchte. Neu verwendet werden soll dann SFTP, sowohl als Ersatz für den FTP-Zugang als auch für PHP zum Daten übermitteln.

PHP habe ich soweit fertig, dass der die SSH2- und SFTP-Verbindung aufbauen und Daten senden / löschen kann, doch habe ich nun irgendwie ein Problem mit den Benutzern. Glaube ich zumindest, bin mir da nicht mehr sicher, nachdem ich so wie Anleitung nacheinander und durcheinander gelesen habe.

Bisher war der Benutzer immer ftpuser (proftpd) und die Gruppe ftpgroup. Proftpd hatte dann ja die virtuellen Benutzer in der Verwaltung.

Nun habe ich einen Benutzer "sftp01" angelegt und der Gruppe "sftpgoup" zugeteilt (default Home: /home/sftp01). Dieser Benutzer dient zur Verbindung mit einem normalen Programm.
Dann gibt es einen Benutzer "sftp02" (Gruppe sftpgoup, default Home: /home/sftp02), der für die interne Verbindung der beiden Server verwendet werden soll. So, wie es zuvor auch war.

Doch nun stellt sich schon hier das erste Problem. Welche Rechte muss ich denn nun dem Verzeichnis "/var/www/vhosts/domain1.de/public_html" geben, damit beide! Zugriff haben? sftp1:sftpgoup (mit Schreibrechte für Benutzer) reicht da ja nicht aus. Theoretisch müsste ich doch der Gruppe auch Schreibrechte geben, oder?

Allerdings gibt es in der Gruppe noch viele andere User, die mit dem oben genannten vHost gar nichts zu tun haben, also User für domain2.de, 3, 4 usw...

Dann noch eine Frage aus dem Bereich des Chroot:

/etc/ssh/sshd_config
Code:
Subsystem sftp internal-sftp

Match group sftpgroup
         ChrootDirectory /var/www/vhosts/
         X11Forwarding no
         AllowTcpForwarding no
         ForceCommand internal-sftp

reicht da ja nicht wirklich aus. Mit nur einem User geht das, aber nicht mit mehreren. Wie bringe ich das ganze nun dahin, dass jeder Benutzer in sein eigenes Dokumenten-Root kommt. Mit %u komme ich da ja nicht weiter, da SFTP-User-Name und vhost-Name nicht gleich sind.

Möglich wäre es jedoch, den SFTP-Benutzer einfach als domain1.de zu nennen, dann würde es mit dem %u klappen, aber dann kann ich ja keine zwei verschiedenen User für einen vHost anlegen.

Nächster Punkt: Gibt es denn eine Möglichkeit diverse User anzulegen, ohne das gleich als Systemuser zu tun, also ala virtuelle User ?

So, das war jetzt recht viel geschrieben und dennoch nichts wirklich spezielles. Habe so viel gelesen, dass sich mit jeder Antwort wieder zwei neue Fragen aufwerfen. Hoffe mir kann dennoch einer einen Tipp geben.

So, Nachtrag... Eben wieder eine andere Anleitung gefunden.
Dort wird als default Home nicht /home/user gesetzt, sondern direkt /var/www/vhosts/domain1.de und in der sshd_conf dann "ChrootDirectory %h". Ist das der richtige Ansatz?
 
Last edited by a moderator:
So, nun antworte ich mir mal selber, da ich nun doch mal einen Schritt weiter bin, aber dennoch nicht weiß, ob das denn nun so stimmt oder nicht.

Der neue User bekommt nun beim Anlegen direkt das "/var/www/vhosts/domains..." als Home zugeteilt.

in der sshd_conf wird "ChrootDirectory %h" gesetzt.

Nun kommen alle User in Ihr Homedirectory und können dort machen was sie wollen.

Bleibt aber immer noch die Frage offen, wie man 2 User anlegt, die das gleiche Home haben und gegenseitig Dateizugriff bekommen sollen.

Zum anderen stellt sich mir noch immer die Frage nach der Shell beim Anlegen eines Users:
"/usr/lib/sftp-server" oder "/bin/false"? Beides wird in den unterschiedlichen Anleitungen genannt. Beides scheint das gleiche Ergebnis zu bringen. SSH-Login funktioniert bei beiden nicht (wie es sein soll).

Und es stellt sich mir jetzt ganz neu die Frage, warum die SSH-Verbindungen nicht mehr getrennt werden, bzw. warum so viele Prozesse vorhanden sind / bleiben
Code:
 1922 root      20   0 66076 3140 2480 S    0  1.2   0:00.92 sshd: root@pts/0
 2773 root      20   0 66000 3036 2388 S    0  1.2   0:00.02 sshd: sftp11 [priv]
 2778 root      20   0 66000 3032 2388 S    0  1.2   0:00.02 sshd: sftp02 [priv]
 2875 root      20   0 66000 3032 2388 S    0  1.2   0:00.02 sshd: sftp11 [priv]
 2911 root      20   0 66000 3032 2388 S    0  1.2   0:00.02 sshd: sftp01 [priv]
 2575 root      20   0 65932 3000 2384 S    0  1.1   0:00.02 sshd: sftp01 [priv]
 2579 root      20   0 65932 3000 2384 S    0  1.1   0:00.02 sshd: sftp02 [priv]
 2877 sftp11    20   0 66136 1692 1028 S    0  0.6   0:00.00 sshd: sftp11@notty
 2914 sftp01    20   0 66136 1692 1028 S    0  0.6   0:00.00 sshd: sftp01@notty
 2776 sftp11    20   0 66000 1672 1024 S    0  0.6   0:00.00 sshd: sftp11@notty
 2780 sftp02    20   0 66000 1668 1024 S    0  0.6   0:00.00 sshd: sftp02@notty
 2577 sftp01    20   0 65932 1652 1024 S    0  0.6   0:00.00 sshd: sftp01@notty
 2581 sftp02    20   0 65932 1652 1024 S    0  0.6   0:00.00 sshd: sftp02@notty
 2915 sftp01    20   0 66000 1460  784 S    0  0.6   0:00.00 sshd: sftp01@internal-sftp-server
 2878 sftp11    20   0 66000 1440  760 S    0  0.5   0:00.00 sshd: sftp11@internal-sftp-server
 2777 sftp11    20   0 66000 1404  752 S    0  0.5   0:00.00 sshd: sftp11@internal-sftp-server
 2781 sftp02    20   0 66000 1396  744 S    0  0.5   0:00.00 sshd: sftp02@internal-sftp-server
 2578 sftp01    20   0 65932 1384  744 S    0  0.5   0:00.00 sshd: sftp01@internal-sftp-server
 2582 sftp02    20   0 65932 1384  744 S    0  0.5   0:00.00 sshd: sftp02@internal-sftp-server
 
Last edited by a moderator:
Back
Top