nur FTP zugriff kein SFTP

Numax

New Member
Moin,
ich hab da mal ne Frage^^

Ich habe einen Rootserver (Debian 5.0)
und nutze das Programm Proftpd.
Nun kann man sich allerdings mit dem Port 21 (FTP) und dem Port 22 (SFTP) einloggen.
Wie kann ich das nun einstellen das bestimmte User nur über den Port 21 Connecten können?

Vielen Dank im Vorraus

PS.: könnte mir evtl. noch einer sagen wie man den Speicherplatz für einen User beschränkt.
 
Wenn Du den Benutzern "/bin/false" als Shell gibst (-> man chsh), können sie sich nicht mehr via ssh/sftp einloggen. Ob sie sich dann noch auf den FTP-Server einloggen können müsstest Du ausprobieren -- ich habe sicherlich seit 10 Jahren keinen FTP-Server mehr benutzt (ausgenommen annonymous-FTP).

Ansonsten könntest Du die ssh so konfigurieren, dass nur noch ein Einloggen mit einem ssh-Key möglich ist, und den Benutzern keinen erstellen. Das ~/.ssh-Verzeichnis der Benutzer müsste dann allerdings entsprechend geschützt werden.
 
Re.:

Also wie genau geht das, einen benutzer auf /bin/false setzen?

Denn ich habe das jetzt so gemacht wie ich es auf einer anderen Seite gefunden habe.

/etc/passwd editiert und bei dem ensprechenden User aus /bin/sh /bin/false gemacht, dann gespeichert und hochgeladen.

Nun habe ich allerdings ein GROßES PROBLEM, ich kann mich mit keinem User mehr einloggen (nichteinmal root).

den einzigen zugriff den ich noch habe ist über webmin.

Ich habe den server auch schon mehrfach neugestartet, aber es ist immernoch so.
*verzweifelt*

Ich hoffe da gibts noch ein möglichkeit mir wieder zugriff zu verschaffen.
 
Ich hatte nicht umsonst geschrieben, dass Du es mit "chsh" machen solltest.

Wahrscheinlich hat Windows seine blöden ^M eingefügt. Starte den Server im Rescue-Modus. Bearbeite dann die passwd-Datei auf dem Server mit dem Programm "dos2unix" (oder entferne die ^M (=1 Zeichen, 0xd) mit einem Editor wie z.B. "vi") und achte darauf, dass die Datei Besitzer/Gruppe root root hat und die Berechtigungen 0600 sind.
 
Last edited by a moderator:
Es stehen dort keine Zeichen die da nicht sonst auch stehen würden.
Benutzerrechte sind bereits 0600 und beides auf root.
Trotzdem geht es nicht :(
Haste noch eine andere idee?

Ansonsten schonmal Danke

EDIT: falls es hilft: beim einloggen als root kommt die meldung "Access Denied"
 
Last edited by a moderator:
Die Frage ist, mit welchem Programm Du die Datei[1] anschaust. Mit manchen Programmen werden die 0xd-Zeichen einfach nicht angezeigt.
Wenn Du die Datei auf den Windows-Rechner übertragen hast, wirst Du sie erst Recht nicht sehen, da dort newlines mit den beiden Zeichen 0xa 0xd kodiert werden, während sie unter allen UNIX-basierten Betriebssystemen lediglich mit dem Zeichen 0xa kodiert sind.

[1] Und beim Betrachten vom dem Rescue-System aus, kann es leicht passieren, dass man die Datei des Rescue-Systems anschaut und nicht die des Servers.

Poste mal die Zeile von root aus der passwd des Servers per cut&paste hier.
 
Das sieht ja schonmal recht gut aus. Was ist die Ausgabe von
Code:
grep root /[I]rescuemounpoint[/I]/etc/passwd | od -c
(rescuemountpoint entsprechend anpassen).

PS: Bitte beachte künftig auch Punkt 3.2 der Nutzungsbedingungen.
 
Die Ausgabe lautet wie folgt:
 

Attachments

  • putty.png
    putty.png
    1.7 KB · Views: 116
Das sieht zumindest gut aus..

Was sagen die Logfiles zum Zeitpunkt eines login-Versuchs (sowohl von root als auch von einem nicht-privilegiertem Benutzer mit gültiger Shell)?

/etc/shadow hast Du ja nicht verändert, oder? Sonst irgendwelche Dateien?
 
/etc/shadow hab ich nicht verändert. (Ist das nicht die Datei die die Passwörter verwaltet?)


Welches Logfile genau?


PS.: Ich habe gerade versucht mich erneut einzuloggen und jetzt geht es. Frag mich nicht warum, aber es geht^^


Dann kann ich das jetzt mal mit chsh versuchen, wäre schön wenn du mal genau sagtst wie man das macht, damit ich nicht dabei noch etwas falsch mache :D
 
Code:
man chsh
gibt Dir die genaue Anleitung. Bei der auf meinem Rechner installierten Version wäre das demnach
Code:
chsh -s /bin/false [I]user[/I]
 
Re.:

Moin,

also habe es gerade mal mit chsh ausprobiert.
Mit /bin/false geht es nicht, denn dann kann der user sich garnicht mehr einloggen. Gibts wohl ne andere shell oder jemand ne idee eine zu erstellen?

MfG Numax
 
Back
Top