Ursprünglich gab es beim VSFTPD keine wirkliche Nutzerverwaltung.
Man musste Systembenutzer anlegen und denen die Gruppenmitgliedschaft der Gruppe "ftp" geben. Zusätzlich musste man ihnen das FTP Verzeichnis als Homeverzeichnis zuteilen. Diese Systembenutzer trug man anschließend in die vsftpd.chroot.conf ein. So konnten u.a. die Benutzer auf das FTP Verzeichnis zugreifen. Hört sich kompliziert an, aber wenn man es mehrmals gemacht hat...ging es dann irgendwie...(dank eigener Scripte...) So hatte ich das mit den vorhergehenden Versionen gemacht. Es mag zwar auch andere Möglichkeiten geben, die Nutzer für den FTP Zugriff einzurichten, aber zu diesem Zeitpunkt, schien mir diese als die einfachste. Mit den Versionen ab 1.1.3 ist es nun möglich, so genannte "Virtuelle Nutzer" anzulegen. Die Virtuellen Nutzer, sind Nutzer, die nur für diese eine Anwendung angelegt werden, also keinen Systemaccount besitzen. Diese virtuellen Nutzer ermöglichen mehr Sicherheit, als die Systemnutzer, da sich diese wirklich nur, wie in unserem Falle, am FTP anmelden können. Manch einer mag diesen Begriff auch anders erklären,...aber grundsätzlich kann man die auch so beschreiben. Systembenutzeraccount (der muss sein!) Falls der Nutzer ftpuser noch nicht vorhanden sein sollte, müssen wir diesen anlegen. Sein Homeverzeichnis sollte unbedingt die FTP-Root sein..."/srv/ftp/". Mit diesem Nutzer werden wir den kompletten Bereich im FTP administrieren. Dem Nutzer "ftp" müssen wir das Homeverzeichnis "srv/ftp/pub" zuweisen. Virtuelle Nutzer Um virtuelle Nutzer beim VSFTPD einsetzen / umsetzen zu können sollte "Berkeley DB" auf dem System installiert sein. Das Programm könnt ihr beispielsweise bei Sleepycat.com runterladen. Auf die Installation werde ich nicht weiter drauf einigen, da dies ganz gut in der Online Dokumentation gut beschrieben wird. Aber kommen wir nun zur Umsetzung. Als erstes müssen wir die Nutzerdatenbank erstellen. Dazu erstellen wir eine Datei namens login.txt. Hier schreiben wir die ersten virtuellen Nutzer rein. Die Syntax ist Name und Passwort. z.B. mathias_virt Passwort tim passwort2 Als nächstes müssen wir die richtige Datenbankdatei erzeugen. "db_load -T -t hash -f logins.txt /etc/vsftpd_login.db" Damit erzeugen wir die /etc/vsftpd_login.db und geben dieser Datei die folgenden Zugriffsrechte für den Nutzer (root) "write und execute" mit chmod 600 /etc/vsftpd_login.db Nun erzeugen wir eine PAM Datei (... Access Module) die unsere Nutzerdatenbank nutzt und folgenden Inhalt hat: " auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" Im Anschluß kopieren wir diese in das PAM Verzeichnis (/etc/pam.d/ftp). cp vsftpd.pam /etc/pam.d/ftp Im folgenden Schritt setzen und erstellen wir das Homeverzeichnis für die virtuellen Nutzer, welches logischer Weise "/srv/ftp/pub" ist. mkdir /srv/ftp/virtuell useradd -d /srv/ftp/virtuell Jetzt weisen wir deren Homeverzeichnis folgende Zugriffsrechte und Eigentümer zu. chmod 700 /srv/ftp/virtuell chown virtual /srv/ftp/virtuell chgrp virtual /srv/ftp/virtuell ls -ld /srv/ftp/virtuell ln -s /srv/ftp/virtuell /srv/ftp/pub drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite Nun kopieren wir die "hosts" in das Homeverzeichnis der virtuellen Nutzer cp /etc/hosts /home/ftpsite chown virtual.virtual /home/ftpsite/hosts Als nächstes müssen wir noch die "vsftpd.conf" anpassen. Dazu setzen und ändern wir die folgenden Paramater: chroot_local_user=YES guest_enable=YES guest_username=virtual Nachdem wir die Nutzer alle angelegt haben, können wir uns den Verzeichnissen widmen. |
COMMUNITY
|

