Page 1 of 1

VSFtpD und /bin/false

Posted: 2007-10-11 21:00
by bluelagoon
Hallo,

Konkret gehts hier um den VSFtpD.

Hab ich installiert, und für den entsprechenden User einen Systemuser aufm Server angelegt, und in er vsftp.conf entsprechend festgelegt, das die FTP-User auf ihr HomeDir festgenagelt werden.
So. Nun wollte ich aber, das die zwar FTP-Login haben, aber das (da Systemuser) nicht auch via Shell connecten können.
Also hab ich in der /etc/passwd für die entsprechenden User die shell auf /bin/false gesetzt.

Sou. Nun geht zwar das Shell-Login nimmer, aber das FTP-Login auch nicht. Setze ich es wieder auf /bin/bash, geht auch das FTP-Login wieder, allerdings auch das Shell-Login, und zwar ohne Beschränkung aufs HomeDir.

Jetzt hab ich herausgefunden, das man in der VSFTP.conf ein check_shell=No setzen kann, und der FTP-Server dann nicht prüft, ob für den User auch eine gültige Shell vorhanden ist.
Funzt dennoch nicht, da der VSFTP, sofern man ihn via APT-GET auf nem Etch-System installiert das PAM-Modul nutzt, und diese Check_Shell-Anweisung dann keine Funktion hat.

Jetzt soll es dann in der /etc/pam.d/vsftp-Datei dann die Möglichkeit geben, so zu konfen, das FTP Ja und Shell Nein auch funzt .. nur herausgefunden wie, das hab ich noch nicht, und google ist da nicht sehr ergiebig ..

Hat da hier jemand einen Schimmer, wie ich das Anpacken könnte (Bitte ohne Virtuelle User, das soll nich .. )

Re: VSFtpD und /bin/false

Posted: 2007-10-11 21:49
by Roger Wilco
Steht /bin/false denn in /etc/shells drin? Normalerweise würde man da vllt. auch /sbin/nologin nehmen, das IMHO standardmäßig in /etc/shells eingetragen ist.

Du könntest den Benutzern auch eine gültige Shell (z. B. Bash) geben und mit der AllowUsers/DenyUsers/AllowGroups/DenyGroups-Direktive von der Nutzung von SSH abhalten.

Re: VSFtpD und /bin/false

Posted: 2007-10-11 21:56
by bluelagoon
Hallo Roger,

zunächst vielen Dank für Deine Antwort. :-)
Roger Wilco wrote:Steht /bin/false denn in /etc/shells drin?
Nein, die steht nicht in der /etc/shells drin, aber soweit ich das verstanden habe, soll die da auch nicht drin stehen, denn der User soll mit /bin/false ja keine Shell bekommen.
Normalerweise würde man da vllt. auch /sbin/nologin nehmen, das IMHO standardmäßig in /etc/shells eingetragen ist.
nologin hab ich auch schon öfter gelesen, nur ist das Ziel das gleiche, keine gültige Shell (IMHO).
Du könntest den Benutzern auch eine gültige Shell (z. B. Bash) geben und mit der AllowUsers/DenyUsers/AllowGroups/DenyGroups-Direktive von der Nutzung von SSH abhalten.
Das hört sich interessant an .. wo definiere ich das?

Re: VSFtpD und /bin/false

Posted: 2007-10-11 22:10
by Roger Wilco
BlueLagoon wrote:Nein, die steht nicht in der /etc/shells drin, aber soweit ich das verstanden habe, soll die da auch nicht drin stehen, denn der User soll mit /bin/false ja keine Shell bekommen.
Doch, er soll eine gültige Shell bekommen. Eben /bin/false (bzw. die genannte Alternative /sbin/nologin, falls vorhanden), das den User sofort nach dem Login wieder rauswirft. Er soll lediglich keine interaktive Shell wie die Bash bekommen. ;)
BlueLagoon wrote:Das hört sich interessant an .. wo definiere ich das?

Code: Select all

man sshd_config

Re: VSFtpD und /bin/false

Posted: 2007-10-11 22:18
by bluelagoon
Roger Wilco wrote:
BlueLagoon wrote:Nein, die steht nicht in der /etc/shells drin, aber soweit ich das verstanden habe, soll die da auch nicht drin stehen, denn der User soll mit /bin/false ja keine Shell bekommen.
Doch, er soll eine gültige Shell bekommen. Eben /bin/false (bzw. die genannte Alternative /sbin/nologin, falls vorhanden), das den User sofort nach dem Login wieder rauswirft. Er soll lediglich keine interaktive Shell wie die Bash bekommen. ;)

Ahsoooou! Wieder was gelernt, Danke!
BlueLagoon wrote:Das hört sich interessant an .. wo definiere ich das?

Code: Select all

man sshd_config

Ja, habs gefunden, habs über DenyUsers <username> in der /etc/ssh/sshd.conf gemacht, und es funktioniert primaprächtig. ;)
FTP geht wunderbar, und Shell nicht .. grossartig!!

Danke Danke Danke Roger!

Re: VSFtpD und /bin/false

Posted: 2008-01-01 23:32
by cirox
Super hätt ich mal gleich ins rootforum geschaut. Hab tasächlich 2 h wegen son nem FTP Login verbracht mit genau dem gleichen Problem wie oben beschrieben.

/bin/false nach /etc/shells und es klappt.

Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....

Re: VSFtpD und /bin/false

Posted: 2008-01-01 23:37
by Joe User
cirox wrote:Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....
Da muss ich mal Debian verteidigen :twisted: /bin/false ist bei keiner mir bekannten Distri OOTB der /etc/shells gelistet.

Re: VSFtpD und /bin/false

Posted: 2008-01-01 23:48
by cirox
Dann wird das wohl seinen Sinn haben aber kann ja nicht sein, dass ich 2 h brauche um einen user ein Login zu ermöglichen, der sich über pam authentifiziert und kein /bin/bash hat. Ein Hinweis in irgendeiner Doku wäre wohl ok. Ich mein man kann ja nicht alles wissen.

Re: VSFtpD und /bin/false

Posted: 2008-01-02 02:01
by Roger Wilco
cirox wrote:Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....
Weil man dafür normalerweise das genannte nologin benutzt...