Titel: kein login ohne shell Beitrag von: tomber am 27. Februar 2006, 11:17:21 hallo zusammen,
hier erstmal meine config: Code: <Anonymous /home/ftp> Group ftpuser AnonRequirePassword on RequireValidShell off # Resume AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on # Wir wollen das alle rauf geladenen Dateien dem Benutzer "ftpuser" gehören # und von Benutzer und Gruppe geschrieben werden können. GroupOwner ftp Umask 770 # Hier beschränken wir die maximale Anzahl Clients, wenn sich mehr anmelden # wollen, dann werden sie mit der Meldung in den Anführungszeichen abgewiesen. # das %m zeigt die maximale Anzahl Benutzer die erlaubt ist, den Rest kann man # mit einer eigenen Meldung ersetzen. MaxClients 5 "Sorry, max %m users -- try again later" <Limit LOGIN> DenyGroup !ftpuser </Limit> </Directory> </Anonymous> RequireValidShell steht auf off. Trotzdem kann ich mich nur mit usern enloggen, die eine gueltige shell haben. Hier der relevante Debug Auszug fuer den user test ohne eigene Shell. Zitat localhost.localdomain - ProFTPD 1.2.10 (stable) (built do mrt 22 18:28:32 CET 2001) standalone mode STARTUP localhost.localdomain (localhost.localdomain[127.0.0.1]) - FTP session requested from unknown class localhost.localdomain (localhost.localdomain[127.0.0.1]) - connected - local : 127.0.0.1:21 localhost.localdomain (localhost.localdomain[127.0.0.1]) - connected - remote : 127.0.0.1:45488 localhost.localdomain (localhost.localdomain[127.0.0.1]) - FTP session opened. localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_rewrite localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_tls localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_delay localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'USER test' to mod_auth localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching CMD command 'USER test' to mod_ratio localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching CMD command 'USER test' to mod_auth localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching POST_CMD command 'USER test' to mod_delay localhost.localdomain (localhost.localdomain[127.0.0.1]) - mod_delay/0.4: delaying for 262 usecs localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching LOG_CMD command 'USER test' to mod_log localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_rewrite localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_tls localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_delay localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_wrap localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_radius localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_auth localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching CMD command 'PASS (hidden)' to mod_auth localhost.localdomain (localhost.localdomain[127.0.0.1]) - USER test (Login failed): Invalid shell: '' localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay localhost.localdomain (localhost.localdomain[127.0.0.1]) - mod_delay/0.4: delaying for 2373740 usecs localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'SYST' to mod_rewrite localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'SYST' to mod_tls localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'SYST' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching PRE_CMD command 'SYST' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching CMD command 'SYST' to mod_core localhost.localdomain (localhost.localdomain[127.0.0.1]) - dispatching LOG_CMD command 'SYST' to mod_log localhost.localdomain - ProFTPD terminating (signal 2) localhost.localdomain (localhost.localdomain[127.0.0.1]) - ProFTPD terminating (signal 2) localhost.localdomain - ProFTPD 1.2.10 standalone mode SHUTDOWN localhost.localdomain - deleting existing scoreboard '/var/run/proftpd/proftpd.scoreboard' localhost.localdomain (localhost.localdomain[127.0.0.1]) - FTP session closed. Wie ich unschwer erkennen kann, beschwert proftpd sich ueber eine invalide shell. Muss ich in der config noch etwas beachten ausser requirevalid shell off? danke fuer eure hilfe, tomber ps wir die /etc/passwd nach bearbeiten direkt neu eingelesen? oder kann ich das so aehnlich wie mit der /home/user/.bashrc mit source machen? Titel: vollstaendige config Beitrag von: tomber am 27. Februar 2006, 11:22:13 Argh... die config ist nicht vollstaendig und ich habe den edit-button nicht gefunden, also sry fuer den doppelpost...
hier die vollstaendige config: Zitat <Anonymous /home/ftp> Group ftpuser AnonRequirePassword on RequireValidShell off # Resume AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on # Wir wollen das alle rauf geladenen Dateien dem Benutzer "ftpuser" gehören # und von Benutzer und Gruppe geschrieben werden können. GroupOwner ftp Umask 770 # Hier beschränken wir die maximale Anzahl Clients, wenn sich mehr anmelden # wollen, dann werden sie mit der Meldung in den Anführungszeichen abgewiesen. # das %m zeigt die maximale Anzahl Benutzer die erlaubt ist, den Rest kann man # mit einer eigenen Meldung ersetzen. MaxClients 5 "Sorry, max %m users -- try again later" <Limit LOGIN> DenyGroup !ftpuser </Limit> RootLogin off # Das hier verbietet den Zugriff auf die Dateien die 'root' gehören. HideUser root <Limit WRITE> DenyAll </Limit> # Dies verbietet den Clienten den Zugriff auf versteckte Dateien. <Limit READ DIRS> IgnoreHidden on </Limit> # Hier definieren wir einen Upload-Ordner, in welchem das Anlegen von Ordnern # und Dateien allen erlaubt ist, <Directory /home/ftp/upload> <Limit READ> DenyAll IgnoreHidden on </Limit> <Limit STOR MKD RMD XMKD XRMD> AllowAll IgnoreHidden on </Limit> </Directory> </Anonymous> |