VSFtpD und /bin/false
-
bluelagoon
- Posts: 15
- Joined: 2007-02-26 09:16
VSFtpD und /bin/false
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 .. )
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 .. )
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: VSFtpD und /bin/false
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.
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.
-
bluelagoon
- Posts: 15
- Joined: 2007-02-26 09:16
Re: VSFtpD und /bin/false
Hallo Roger,
zunächst vielen Dank für Deine Antwort. :-)
zunächst vielen Dank für Deine Antwort. :-)
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.Roger Wilco wrote:Steht /bin/false denn in /etc/shells drin?
nologin hab ich auch schon öfter gelesen, nur ist das Ziel das gleiche, keine gültige Shell (IMHO).Normalerweise würde man da vllt. auch /sbin/nologin nehmen, das IMHO standardmäßig in /etc/shells eingetragen ist.
Das hört sich interessant an .. wo definiere ich das?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.
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: VSFtpD und /bin/false
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: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.
BlueLagoon wrote:Das hört sich interessant an .. wo definiere ich das?
Code: Select all
man sshd_config-
bluelagoon
- Posts: 15
- Joined: 2007-02-26 09:16
Re: VSFtpD und /bin/false
Roger Wilco wrote: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: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.
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
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 ....
/bin/false nach /etc/shells und es klappt.
Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....
Last edited by cirox on 2008-01-01 23:56, edited 1 time in total.
Re: VSFtpD und /bin/false
Da muss ich mal Debian verteidigen :twisted: /bin/false ist bei keiner mir bekannten Distri OOTB der /etc/shells gelistet.cirox wrote:Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....
Re: VSFtpD und /bin/false
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.
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: VSFtpD und /bin/false
Weil man dafür normalerweise das genannte nologin benutzt...cirox wrote:Nun frag ich mich an der Stelle warum der Debian Maintainer das nicht mit aufnimmt ....
