vsftpd user verwaltung
ubuntu 8.04
Einen schönen guten Abend,
habe folgendes Problem, bei dem ich momentan nicht weiterkomme.
Folgende Konstellation: Es dreht sich um einen Ubuntu Server 8.04.1 mit vsFTPd 2.0.6.
Ich würde es gerne hinbekommen, verschiedene FTP- User über das Script (siehe unten) anlegen zu können, welche anschließend in Ihrem Home- Verzeichnis lesen und schreiben können.
Hierzu habe ich eine kleine Anleitung im Internet gefunden. Jedoch ist es mir bis jetzt nicht gelungen, dies funktionstüchtig zu bekommen.
Folgendes ist meinem Beitrag vorausgegangen:
- Der FTP- Daemon läuft in der Grundinstallation und Konfiguration fehlerfrei, d.h. ich kann mit meinem lokal angelegten User mit dem Filezilla- Client von einem anderen Rechner im Netz Daten up- / und downloaden. HIerzu habe ich folgende 3 Direktiven angepasst:
anonymus_enable=NO
local_enable=YES
write_enable=YES
Für mein Problem mit den neuen Usern habe ich bis jetzt folgendes getan:
Änderungen in der vsftpd.conf:
nopriv_user=ftpsecure (stand in dem HOWTO)
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list (default)
chroot_local_user=YES
Folgendes habe ich sonst noch gemacht:
adduser --system --home /var/run/vsftpd/ --no-create-home ftpsecure
addgroup ftpgroup
Anschließend habe ich folgendes Skript angelegt, mit "chmod u+x script.sh" ausführbar gemacht (aus dem HOWTO) und versucht es als root auszuführen:
echo -n "Bitte Benutzernamen eingeben: "
read username
echo "Erstelle Benutzer $username..."
useradd -d /home/$username -g ftpgroup -s /bin/false $username
echo "Erstelle Heimatverzeichnis..."
mkdir /home/$username
echo "Setze Benutzerberechtigungen..."
chown nobody:ftpgroup /home/$username
chmod 770 /home/$username
echo "Erlaube Benutzer den FTP-Zugriff..."
echo $username >> /etc/vsftpd.user_list
echo "Setze Passwort für neuen Benutzer..."
passwd $username
Dies scheint auch zu funktionieren. Jedoch kann ich mich mit den so angelegten Usern (Script wird als root ausgeführt) anschließend auch nach Neustart des vsFTPd über den Filezilla- Client mit den so angelegten Usern nicht authentifizieren. --> Meldung: 530 Login incorrect. Die Directiven mit der userlist scheinen schon irgendwie zu greifen, denn wenn ich die userlist- Direktiven aktiviere kann ich mich mit meinem lokalen user schonmal auch nicht mehr per FTP verbinden. Was mir auch noch auffiel ist, dass ich mich mit den über das Script angelegten Usern nicht lokal anmelden kann, was vermutlich an "-s /bin/false" liegen könnte. Dies ist jedoch auch in Ordnung so. Die FTP- User sollten sich nicht am System anmelden können.
Mir ist dann aufgefallen, dass mit userdel -r username das Home- Verzeichnis nicht gelöscht werden kann, da es dem User nobody gehört und habe im Script "nobody" gegen "$username" getauscht. Der Benutzer läßt sich dann zwar sauber löschen, aber einloggen kann ich mich immer noch nicht.
Hat irgendjemand eine Idee was ich noch probieren könnte oder sieht, wo ich einen Fehler mache?
Wenn es mal so funktionieren sollte, dass sich User einloggen und in Ihrem Home- Verzeichnis eingeschlossen sind, hab ich dann die Möglichkeit über einen Link in ein anderes Verzeichnis zu gelangen? Weil optimal wäre es, wenn jeder User in seinem Home- Verzeichnis eingeschlossen wäre aber auf einen einzigen Ordner zugreifen kann, auf den allgemein jeder FTP- User zugreifen kann (evtl. über einen Link).
Grüße
Jochen
Einen schönen guten Abend,
habe folgendes Problem, bei dem ich momentan nicht weiterkomme.
Folgende Konstellation: Es dreht sich um einen Ubuntu Server 8.04.1 mit vsFTPd 2.0.6.
Ich würde es gerne hinbekommen, verschiedene FTP- User über das Script (siehe unten) anlegen zu können, welche anschließend in Ihrem Home- Verzeichnis lesen und schreiben können.
Hierzu habe ich eine kleine Anleitung im Internet gefunden. Jedoch ist es mir bis jetzt nicht gelungen, dies funktionstüchtig zu bekommen.
Folgendes ist meinem Beitrag vorausgegangen:
- Der FTP- Daemon läuft in der Grundinstallation und Konfiguration fehlerfrei, d.h. ich kann mit meinem lokal angelegten User mit dem Filezilla- Client von einem anderen Rechner im Netz Daten up- / und downloaden. HIerzu habe ich folgende 3 Direktiven angepasst:
anonymus_enable=NO
local_enable=YES
write_enable=YES
Für mein Problem mit den neuen Usern habe ich bis jetzt folgendes getan:
Änderungen in der vsftpd.conf:
nopriv_user=ftpsecure (stand in dem HOWTO)
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list (default)
chroot_local_user=YES
Folgendes habe ich sonst noch gemacht:
adduser --system --home /var/run/vsftpd/ --no-create-home ftpsecure
addgroup ftpgroup
Anschließend habe ich folgendes Skript angelegt, mit "chmod u+x script.sh" ausführbar gemacht (aus dem HOWTO) und versucht es als root auszuführen:
echo -n "Bitte Benutzernamen eingeben: "
read username
echo "Erstelle Benutzer $username..."
useradd -d /home/$username -g ftpgroup -s /bin/false $username
echo "Erstelle Heimatverzeichnis..."
mkdir /home/$username
echo "Setze Benutzerberechtigungen..."
chown nobody:ftpgroup /home/$username
chmod 770 /home/$username
echo "Erlaube Benutzer den FTP-Zugriff..."
echo $username >> /etc/vsftpd.user_list
echo "Setze Passwort für neuen Benutzer..."
passwd $username
Dies scheint auch zu funktionieren. Jedoch kann ich mich mit den so angelegten Usern (Script wird als root ausgeführt) anschließend auch nach Neustart des vsFTPd über den Filezilla- Client mit den so angelegten Usern nicht authentifizieren. --> Meldung: 530 Login incorrect. Die Directiven mit der userlist scheinen schon irgendwie zu greifen, denn wenn ich die userlist- Direktiven aktiviere kann ich mich mit meinem lokalen user schonmal auch nicht mehr per FTP verbinden. Was mir auch noch auffiel ist, dass ich mich mit den über das Script angelegten Usern nicht lokal anmelden kann, was vermutlich an "-s /bin/false" liegen könnte. Dies ist jedoch auch in Ordnung so. Die FTP- User sollten sich nicht am System anmelden können.
Mir ist dann aufgefallen, dass mit userdel -r username das Home- Verzeichnis nicht gelöscht werden kann, da es dem User nobody gehört und habe im Script "nobody" gegen "$username" getauscht. Der Benutzer läßt sich dann zwar sauber löschen, aber einloggen kann ich mich immer noch nicht.
Hat irgendjemand eine Idee was ich noch probieren könnte oder sieht, wo ich einen Fehler mache?
Wenn es mal so funktionieren sollte, dass sich User einloggen und in Ihrem Home- Verzeichnis eingeschlossen sind, hab ich dann die Möglichkeit über einen Link in ein anderes Verzeichnis zu gelangen? Weil optimal wäre es, wenn jeder User in seinem Home- Verzeichnis eingeschlossen wäre aber auf einen einzigen Ordner zugreifen kann, auf den allgemein jeder FTP- User zugreifen kann (evtl. über einen Link).
Grüße
Jochen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 105341
Url: https://administrator.de/contentid/105341
Ausgedruckt am: 22.11.2024 um 10:11 Uhr