Inloggen op FTP stuk na overstap op ubuntu 12.04LTS

Pagina: 1
Acties:

  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
Goedenavond!

Van de week heb ik de overstap gemaakt naar 12.04 LTS op mijn hobby server. Tot mijn verbazing bleek vsftpd inkomende connecties te weigeren. Op het moment dat er wordt ingelogd vanaf een ftp client krijgt deze de melding dat de gebruikersnaam/wachtwoord combinatie incorrect zijn. Dit is vreemd want ik heb hier niets aan veranderd.

Ik heb toen der tijd vstfpd opgezet in combinatie met MySQL met deze guide. Ik heb het hele zaakje nog is na gelopen om mogelijke problemen uit te sluiten.

Ik had er toen voor gekozen om vsftpd te configuren met MySQL omdat het gebruikersbeheer op die manier mij erg aan sprak. Ik heb dan ook een vermoeden dat hier het probleem zit. Op 1 of andere manier kan vsftpd niet controleren of een gebruiker voor komt in de mysql tabel "accounts". Zo kom ik in de log bestanden van vsftpd het volgende tegen:

code:
1
2
3
4
5
6
7
Tue Sep 11 21:09:33 2012 [pid 1] [gambit] FAIL LOGIN: Client "192.168.1.9"
Tue Sep 11 21:10:06 2012 [pid 2] CONNECT: Client "192.168.1.9"
Tue Sep 11 21:10:09 2012 [pid 1] [gambit] FAIL LOGIN: Client "192.168.1.9"
Tue Sep 11 21:20:29 2012 [pid 2] CONNECT: Client "192.168.1.9"
Tue Sep 11 21:20:31 2012 [pid 1] [gambit] FAIL LOGIN: Client "192.168.1.9"
Tue Sep 11 22:39:59 2012 [pid 2] CONNECT: Client "192.168.1.9"
Tue Sep 11 22:40:01 2012 [pid 1] [gambit] FAIL LOGIN: Client "192.168.1.9"


Ik heb vervolgens gechecked of de mysql gebruiker die vsftpd gebruikt nog in kon loggen in mysql en de gebruikerstabel op kon vragen, dat werkte allemaal nog prima. De error log van mysql is dan ook vrijwel leeg

vervolgens viel mijn oog op het volgende uit de gebruikte guide, het bestand /etc/pam.d/vsftpd waar de parameters staan beschreven om gegevens uit MySQL te lezen:

code:
1
2
auth required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2


Ik heb dus de gebruiker met wachtwoord (even vervangen voor ****) gecontroleerd en die werken. De columnamen heb ik gechecked en die kloppen ook nog steeds. Wat ik dus niet zeker weet of het misschien aan het bestand pam_mysql.so zou kunnen liggen. Na een google op "pam_mysql.so + 12.04 LTS" leek de eerste hit erg overeen te komen met mijn probleem. Bij mij krijg ik echter geen error "Invalid reply: "libgcc_s.so.1 must be installed for pthread_cancel to work". Hij geeft bij mij alleen aan dat de gebruikersnaam/ww combinatie niet geldig is. Vervolgens nog een apt-get update uitgevoerd om te kijken of ik nog bepaalde updates mis mbt mysql maar dat was niet het geval.

Mijn volgende verdenking was de conf file van vsftpd, maar die ziet er ook niet vreemd uit naar mijn idee:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=ftp
guest_enable=YES
guest_username=vsftpd
local_root=/linda/ftptest/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
pasv_enable=YES
pasv_min_port=54900
pasv_max_port=55000
#pasv_address=127.0.0.1
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem


De laatste regel verwijst immers naar het juiste bestand met de correcte parameters. Ik zou dus niet weten waar het nog meer aan zou kunnen liggen. Waar het iig niet aan ligt zijn de directories waar een gebruiker in terecht komt. Deze zijn namelijk nog altijd onveranderd gebleven en de ftp client zou dan ook een andere error moeten geven dat bv de directory niet geladen zou kunnen worden.

Ik ben erg benieuwd of jullie mischien iets zien dat ik zelf over het hoofd zie.

Alvast bedankt.

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Via welk adres maakt vsftpd verbinding met je MySQL database? Is dat het IP adres van je server, of localhost? Luistert MySQL ook op dat adres?

Commandline FTW | Tweakt met mate


  • lordgandalf
  • Registratie: Februari 2002
  • Laatst online: 02-10 16:23
In je config zie ik geen mysql voorbij komen dus dan is het logisch dat h=je niet kan inloggen met je login die in de database staat.
Dus check eens of je nog een config heb met database stuff en anders moet je die config toevoegen/aanmaken

Steam: Profile / Socialclub: Profile / Uplay: minedwarf / Origin: lordgandalf3


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
De gegevens die vsftpd gebruikt om verbinding te maken met MySQL staat beschreven in de laatste regel van de conf file:

code:
1
rsa_cert_file=/etc/vsftpd/vsftpd.pem


Die verwijst dus naar het bestand met de volgende inhoud:

code:
1
2
auth required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2


Zo heeft het daarvoor ook altijd gewerkt.

vsftpd maakt dus verbinding via de host "localhost". Wanneer ik een netstat uitvoer op mysql laat deze ook zien dat hij draait op localhost.

code:
1
tcp        0      0 localhost:mysql         *:*                     LISTEN      1309/mysqld

  • CherandarGuard
  • Registratie: Oktober 2001
  • Laatst online: 14-10-2024
Nyxium schreef op woensdag 12 september 2012 @ 11:36:
De gegevens die vsftpd gebruikt om verbinding te maken met MySQL staat beschreven in de laatste regel van de conf file:

code:
1
rsa_cert_file=/etc/vsftpd/vsftpd.pem


Die verwijst dus naar het bestand met de volgende inhoud:

code:
1
2
auth required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
Euh, nee. Je haalt nu PAM modules en PEM encoded certs door elkaar. De regel "pam_service_name=ftp" moet verwijzen naar het bestand waar genoemde regels in moeten staan.
Heb je in /etc/pam.d ook echt een bestand genaamd 'ftp' met die regels er in?

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

En anders backup maken van je config files, dpkg-reconfigure vsftpd-mysql en kijk wat je krijgt. Of kijken in /usr/share/vsftpd-mysql/examples oid naar voorbeelden van config. Het is iig niet meer hoe je 't voor de upgrade had.

Commandline FTW | Tweakt met mate


  • Demo
  • Registratie: Juni 2000
  • Laatst online: 30-09 11:31

Demo

Probleemschietende Tovenaar

lordgandalf schreef op woensdag 12 september 2012 @ 07:46:
In je config zie ik geen mysql voorbij komen dus dan is het logisch dat h=je niet kan inloggen met je login die in de database staat.
Dus check eens of je nog een config heb met database stuff en anders moet je die config toevoegen/aanmaken
De database config staat in die PAM-files. Blijkbaar probeert vsftpd via PAM te authenticeren en dus zullen de regels in /etc/pam.d/vsftpd uitgevoerd worden. Als die verwijzen naar pam_mysql, zal er tegen de opgegeven database geauthenticeerd worden ipv de lokale accounts.

Nyxium: kloppen de database/tabel/usercolumn/passcolumn die in de config zijn opgegeven? En probeer eens 127.0.0.1 ipv localhost, het zou zomaar kunnen dat vsftpd nu over IPv6 probeert tegen MySQL te praten (dat is mij laatst overkomen) of via een Unix-socket.

Unix doesn't prevent a user from doing stupid things, because that would necessarily prevent them from doing brilliant things.
while true ; do echo -n "bla" ; sleep 1 ; done


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
@CherandarGuard ik had dat bestand inderdaad door elkaar gehaald.

In /etc/pam.d/ is het bestand vsftpd aanwezig met de gegevens:

code:
1
2
auth required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=**** host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2


In de vsftpd.conf stond dus een fout:

code:
1
pam_service_name=ftp


Nu vervangen voor:
code:
1
pam_service_name=vsftpd


vsftpd opnieuw opgestart maar ik krijg nog steeds error dat login niet correct is.

@Demoniac de database, tabel en kolomnamen kloppen allemaal. De gegevens die vsftpd zou moeten gebruiken zijn correct. Ik heb localhost vervangen voor 127.0.0.1 en vervolgens hele zaakje weer opnieuw opgestart maar dit gaf geen verbetering.

@Hero of Time heb ook alles gereconfigured maar dat mocht ook niet baten

  • lordgandalf
  • Registratie: Februari 2002
  • Laatst online: 02-10 16:23
Wat krijg je in de log van vsftpd voor fout melding ??

Steam: Profile / Socialclub: Profile / Uplay: minedwarf / Origin: lordgandalf3


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
nog steeds hetzelfde:

code:
1
2
3
4
5
6
7
Wed Sep 12 13:57:39 2012 [pid 1] [testuser] FAIL LOGIN: Client "192.168.1.9"
Wed Sep 12 13:59:26 2012 [pid 2] CONNECT: Client "192.168.1.9"
Wed Sep 12 13:59:26 2012 [pid 1] [testuser] FAIL LOGIN: Client "192.168.1.9"
Wed Sep 12 13:59:29 2012 [pid 2] CONNECT: Client "192.168.1.9"
Wed Sep 12 13:59:29 2012 [pid 1] [testuser] FAIL LOGIN: Client "192.168.1.9"
Wed Sep 12 14:02:38 2012 [pid 2] CONNECT: Client "192.168.1.9"
Wed Sep 12 14:02:38 2012 [pid 1] [testuser] FAIL LOGIN: Client "192.168.1.9"

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

En de mysql client starten naar localhost, werkt dat? Werkt het ook naar 127.0.0.1? En als laatste test, werkt dat ook naar 192.168.1.9? Als dat laatste je FTP server is. Iets in de MySQL logs?

Commandline FTW | Tweakt met mate


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
mysql client kan alleen verbinding maken wanneer ik in de my.cnf een # plaat voor "bind adress" of als ik er het netwerk ip van de ubuntu machine zelf neerzet (192.168.1.4).

Het adres 192.168.1.9 komt overeen met de laptop waarmee ik probeer in te loggen op de ftp server

wanneer ik via ssh op mysql inlog met de vsftpd gegevens:
mysql -u vsftpd -p en vervolgens het ww in vul kom ik gewoon binnen

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Ok, en dan van SSH naar localhost FTP'en, werkt dat? Dus je start een ftp client vanaf de machine waar de server op draait.

Commandline FTW | Tweakt met mate


  • Nyxium
  • Registratie: September 2009
  • Laatst online: 10-11-2024
nope, dan geeft die ook nog steeds "login is incorrect"

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Debugging aanzetten of vsftpd in een aparte shell starten (via screen of een tweede putty) en dan kijken naar de output.

Heb je ook al bugreports gelezen? Wie weet heeft Ubuntu gewoon de boel gesloopt. Dit soort rariteiten was voor mij de reden dat ik naar Debian ben gegaan met server software. Desktop is een andere reden dat ik Debian gebruik.

Commandline FTW | Tweakt met mate

Pagina: 1