PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP Server nur zu bestimmten Zeiten öffnen, sonst Fehlermeldung...



~Gh05t~
18.09.02, 20:04
Hiho,
ich möchte meinen FTP Server (vsftpd) so konfigurieren, dass er nachmittags und abends (also 14:00 - 24:00 Uhr) keine Downloads erlaubt.
Allerdings soll er nicht ganz beendet werden, sondern lediglich der Download der Dateien soll verboten werden (zwecks Leitungsauslastung...).
Wie mache ich das?
Geht es das Login nur über eine Homepage zu machen, dass man das damit irgendwie steuern kann?

PS: Kann mir jemand sagen, wie ich bei vsftpd rausfinden kann, ob gerade ein User eingeloggt ist und wie ich den dann irgendwie kicken kann?

thx

stefaan
18.09.02, 20:53
Servus!

<Überlegung>
Du könntest ja 2 Konfigurationsdateien schreiben, in der einen verbietest du den "GET"-Befehl (oder andere Download-Befehle), die andere darf alles...
Ich kenne deinen ftpd nicht, aber du kannst sicher die Konfigurationsdatei per Kommandozeile mitgeben. Das machst du mit einem entsprechenden Cron-Job
</Überlegung>

Ist mir nur so durch den Kopf gegangen, ohne Garantie und Rückgaberecht :D

Grüße, Stefan

~Gh05t~
18.09.02, 21:43
Ja, die Überlegung ist gut... aber wie kann ich GET verbieten?
Den Rest bekomme ich hin...

stefaan
18.09.02, 22:23
Servus!

Den vsftpd kenne ich nicht, beim proftpd gehts so:


<Directory incoming>
<Limit WRITE>
AllowAll
</Limit>
</Directory>

(Im das Verzeichnis dürfen alle schreiben).

Vielleicht hilft es dir weiter... ;)

Grüße, Stefan

~Gh05t~
19.09.02, 10:43
Ne, das hilft mir nicht wirklich weiter...
Ich finde auch so gut wie keine Informationen zu vsftp, bei der neuen SuSE ist ja kein proftp mehr drauf...

stefaan
19.09.02, 11:59
Servus!

Hier hättest du ein RPM für die aktuelle Version..
Der ist aber für RedHat 7.3, könnte aber unter Suse ebenso gehen..

http://rpm.pbone.net/index.php3/idpl/355883/idpa/355883/stat/4

Grüße, Stefan

~Gh05t~
19.09.02, 15:05
nene, ich habe mich gerade an vsftpd gewöhnt, für suse würde ich nur ne Original RPM nehmen, und die aus der 7.3 geht bei mir nit...
Also vsftp bleibt, (soll angeblich auch n bissl sicherer sein...)
Ich habe nur keine Ahnung wie ich "GET" verbiete...

~Gh05t~
19.09.02, 16:00
Also, ich habe was in der man-page gefunden... klein aber fein:
"see also vsftpd.conf(5)"...:rolleyes:
Naja, da steht dann ein Befehl drin, der nur Usern die in einer Datei aufgelistet (bzw. nicht aufgelistet) sind den Login erlaubt...
Das ist zwar nicht ganz das was ich wollte, erfüllt seinen Zweck allerdings auch.
Dann bleibt nur noch zu wissen, wie ich den CRON einstellen muss...
Ich mach das mit Webmin, das is denke ich am einfachsten, aber wie sage ich dem, dass der um 14:00 Uhr den einen Befehl und um 0:00 Uhr den anderen Befehl ausführt?

/e:
Ich hab es jetzt mal so eingerichtet:
0 0 * * * /etc/vsftpd.change on
0 14 * * * /etc/vsftpd.change off
Is das richtig?

stefaan
19.09.02, 16:31
Servus!

Für Cron würde ich noch ein eigenes Script schreiben, wo du zuerst den derzeit laufenden ftpd beendest und den neuen ftpd mit einer anderen Konfiguration startest:

kill `cat /pfad/zur/ftpd.pid`
/pfad/zum/ftpd -parameter /pfad/zur/einen/config.conf

So kannst du das ganze in 2 Shellscripts schreiben (oder auch eines und mit Parametern arbeiten) und diese dann per Cron aufrufen.
Herausfinden müsstest du, wie du per Kommandozeile deinem vsftpd die Konfiguration übergibst.

Außerdem sollte der ftpd als standalone laufen, über inetd wirds ein wenig schwieriger...

Grüße, Stefan

~Gh05t~
19.09.02, 16:41
nö, ich mach das anders...
Ich hab mir 2 Configfiles gemacht, eine heist vsftpd.conf.on und die andere vsftpd.conf.off...
Dann habe ich mir noch dieses Perl-Script geschrieben (vsftpd.change):


#!/usr/bin/perl
if($ARGV[0] eq "on")
{
system("rm /etc/vsftpd.conf && ln -s /etc/vsftpd.conf.on /etc/vsftpd.conf");
}
if($ARGV[0] eq "off")
{
system("rm /etc/vsftpd.conf && ln -s /etc/vsftpd.conf.off /etc/vsftpd.conf");
}
else
{
}

Dann kann ich einfach mit /etc/vsftpd.change on/off die richtige datei linken...
Man muss dafür den Deamon nicht neustarten.
Trotzdem Thx...:)
Ich wollte nur noch wissen ob der Crontab richtig is...

HangLoose
19.09.02, 17:10
hi

du hast ja anscheinend schon ne lösung gefunden. eine möglichkeit wäre eventuell noch den port über den inetd oder die firewall in der entsprechenden zeit zu sperren. nur mal so als überlegung :).




Dann kann ich einfach mit /etc/vsftpd.change on/off die richtige datei linken...
Man muss dafür den Deamon nicht neustarten


bist du da sicher. ich bin immer davon ausgegangen, das man nach verändern der config den dämon neustarten muß :confused:


zu deinem cronjob

bei deinem eintrag in der etc/crontab fehlt noch der user root und der aufruf des perscriptes

0 0 * * * root deinscript /etc/vsftpd.change on


IMHO ;)



Gruß HangLoose

~Gh05t~
19.09.02, 18:00
ne, ich muss den deamon nicht neustarten...
Das mit dem Crontab:
Die Crontabs sind von Webmin angelegt, und zwar irgendwo anders, nicht in /etc/crontab, da muss der user nicht dabei...
Und das Programm IST /etc/vsftpd.change, mit dem parameter on/off... wollte das nit zu weit weg haben von den Configdateien, so finde ich es wenigstens...;)

HangLoose
19.09.02, 18:22
hi


ne, ich muss den deamon nicht neustarten...

is ja praktisch für deine zwecke ;)


mit webmin hab ich noch keine cronjobs erstellt. aber wenn ich mich recht erinnere mußte/konnte man dort auch einen user einstellen.
wenn das dein script ist, müßte der eintrag so eigentlich stimmen


Gruß HangLoose