Bereit für ein Abenteuer ins Reich der SFTP-only Accounts? Ein Ort, wo Chroot, Umask und saubere Rechte das Gesetz sind und jeder Schritt von entscheidender Bedeutung sein kann. Hier, in der tiefsten Dunkelheit des IT-Universums, wagen wir uns heute hinein. Keine Bange, wir, die PLUTEX IT-Superhelden, sind an deiner Seite!
Du kennst das Dilemma: Du willst deinen Kunden Uploads ermöglichen, aber ohne Shell-Zugriff und ohne dich in ein Minenfeld aus Berechtigungs-Fallen zu begeben. Klingt nach einem unmöglichen Unterfangen, richtig? Falsch! Die Lösung liegt in SFTP-only Accounts, Chroot und Umask. Lass uns den Ärger hinter uns lassen und in eine Welt eintauchen, in der Uploads ein Kinderspiel sind!
Zunächst brauchen wir einen neuen Benutzer. Aber nicht irgendeinen Benutzer - einen, der nur SFTP-Zugang hat. Hier ist das Zauberwort "nologin". Gib das Folgende ein:
`useradd -s /usr/sbin/nologin neueruser`
Gut gemacht, du hast soeben einen neuen Benutzer erstellt, der keinen Shell-Zugriff hat.
Nun zum Chroot. Mit Chroot können wir einen Benutzer in seinem Home-Verzeichnis "einsperren", sodass er keinen Zugriff auf das gesamte Dateisystem hat. Das klingt ein bisschen drastisch, aber es ist eine großartige Möglichkeit, deine Daten zu schützen. Denke daran, das Home-Verzeichnis sollte dem Root gehören und nicht vom Benutzer beschreibbar sein. Also, auf geht's:
`chown root:root /home/neueruser && chmod 755 /home/neueruser`
Jetzt ist unser neuer Benutzer sicher in seinem eigenen kleinen Verlies.
Jetzt, wo unser Benutzer eingeschlossen ist, wollen wir sicherstellen, dass er auch Dateien hochladen kann. Dafür brauchen wir ein Verzeichnis, das dem Benutzer gehört und in dem er schreiben kann. Entwerfen wir also ein solches:
`mkdir /home/neueruser/uploads && chown neueruser:neueruser /home/neueruser/uploads`
So, jetzt ist unser Benutzer bereit, Dateien hochzuladen!
Aber warte, es gibt noch ein Detail, das wir nicht vergessen dürfen: die Umask. Mit Umask können wir die Berechtigungen für neu erstellte Dateien und Verzeichnisse festlegen. Für unser Beispiel wollen wir, dass Dateien mit den Rechten 644 und Verzeichnisse mit den Rechten 755 erstellt werden. Also, lass uns das einrichten:
`echo 'umask 022' >> /etc/profile`
Und voilà, wir haben eine saubere Berechtigungsstruktur!
So, das war's! Mit ein paar Befehlen und etwas IT-Magie haben wir einen SFTP-only Account erstellt, der Uploads ermöglicht, ohne Shell-Zugriff und ohne Berechtigungs-Fallen. Wir hoffen, du hast dieses Abenteuer genauso genossen wie wir. Bis zum nächsten Mal, IT-Superheld!