VSFtpD und /bin/false

ProFTPd, vsftpd, pure-ftpd
Post Reply
bluelagoon
Posts: 15
Joined: 2007-02-26 09:16
 

VSFtpD und /bin/false

Post 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 .. )
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: VSFtpD und /bin/false

Post 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.
bluelagoon
Posts: 15
Joined: 2007-02-26 09:16
 

Re: VSFtpD und /bin/false

Post 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?
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: VSFtpD und /bin/false

Post 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
bluelagoon
Posts: 15
Joined: 2007-02-26 09:16
 

Re: VSFtpD und /bin/false

Post 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!
cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin
 

Re: VSFtpD und /bin/false

Post 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 ....
Last edited by cirox on 2008-01-01 23:56, edited 1 time in total.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: VSFtpD und /bin/false

Post 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.
cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin
 

Re: VSFtpD und /bin/false

Post 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.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: VSFtpD und /bin/false

Post 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...
Post Reply