[VSFTPD] Benutzerverwaltung über vsftpd.user_list

Mean

New Member
Hallo,

ich habe auf meiner NSLU2 Debian laufen. VSFTPD habe ich installiert und ich kann mich mit dem (bei der Debian-Installation) angelegten Benutzer auch auf dem FTP anmelden.

Nun würde ich gerne zur Benutzerverwaltung die vsftpd.user_list verwenden, aber irgendwie klappt das nicht.

Unter /ftpusers/dirk habe ich folgendes stehen:


# User-Config für dirk

# chroot für dirk
local_root=/data/dirk

# Herunterladen von Dateien verbieten
download_enable=NO

write_enable=NO

In der vsftpd.user_list habe ich (wobei ich glaube, daß du die nicht zugegriffen wird):


stehen (das ist auch der Systembenutzer, den ich angelegt habe).

Wie kann ich denn nun

a) neue Benutzer anlegen?
b) diese über die o.g. Dateien verwalten?

Noch eine Frage: Macht es was, daß man ftpusers auf root und nicht unter /etc liegt? Irgendwie bekomme ich beim Erstellen immer die Meldung die Datei würde schon existieren (dabei lege ich ja ein Verzeichnis an).

Vielen Dank und Grüße,

Dirk
 
Ich bin jetzt dahinter gekommen, wie das ganze mit der user_list abläuft,... Nachdem der Schalter erstmal umgelegt war war eigentlich alles ganz einfach einzurichten... ;)
 
Jo, kann ich machen (vielleicht erhöht das ja auch die Hilfsbereitschaft allgemein hier im Forum - IMHO ist die nicht allzu groß):

Man leitet die /bin/false in /bin/ftp um:
Code:
cp /bin/false /bin/ftp
echo "/bin/ftp" >> /etc/shells
Man legt lokale Benutzer an, am besten mit diesem Skript:
Code:
#!/bin/bash

echo -n "Bitte Benutzernamen eingeben: "
read username
echo "Erstelle Benutzer $username..."
useradd -d /data/ftp/$username -g ftpgroup -s /bin/ftp $username
echo "Erstelle Heimatverzeichnis..."
mkdir /data/ftp/$username
echo "Setze Benutzerberechtigungen..."
chown ftpsecure:ftpgroup /data/ftp/$username
chmod 770 /home/ftp/$username
echo "Erlaube Benutzer den FTP-Zugriff..."
echo $username >> /etc/vsftpd.user_list
echo "Setze Passwort für neuen Benutzer..."
passwd $username
Editiert die /etc/passwd und fügt beim Benutzernamen hinter dem Home-Path
":/bin/ftp" an (damit sich die FTP-Benutzer nicht lokal anmelden und keine Shell zur Verfügung haben).

Jo, ist eigentlich recht easy.

Was man noch machen könnte ist, den neuen Benutzer in der /etc/group den Benutzer zur Gruppe ftpuser hinzufügen.
 
Man leitet die /bin/false in /bin/ftp um

Was soll das bringen? Der einzige Effekt ist, dass Du das nächste Mal, wenn Du von der shell aus den ftp-Client aufrufen willst, Probleme bekommst und Dich wunderst, warum es nicht funktioniert :eek:
 
Was soll das bringen? Der einzige Effekt ist, dass Du das nächste Mal, wenn Du von der shell aus den ftp-Client aufrufen willst, Probleme bekommst und Dich wunderst, warum es nicht funktioniert :eek:

Das habe ich mich auch gefragt. Ich habe es aber in einer Anleitung gefunden, nachdem ich bereits beim Stöbern im INet gefunden habe, daß es Probleme mit /bin/false gab/gibt und ich mich dann auch nicht einloggen konnte, sobald ich /bin/false hinter den Home-Pfad geschrieben habe.

Dazu muß man sagen, daß ich lokale Benutzer gesperrt habe...
 
Hallo,

AFAIK geht es vsftpd nur darum, dass die Benutzer eine gültige Shell haben. Und gültige Shell heisst in diesem Fall, sie muss in /etc/shells hinterlegt sein (was /bin/false häufig NICHT ist).

Somit bin ich mir recht sicher, dass man deine Schritte auf das eintragen von /bin/false in /etc/shells verkürzen könnte und dem jeweiligen ftp user /bin/false als Shell geben.

MfG
 
Back
Top