Fórum Root.cz

Hlavní témata => Server => Téma založeno: Honza J kdy 27. 08. 2014, 10:13:47

Název: ProFTPD nefunguje na CentOS 7
Přispěvatel: Honza J kdy 27. 08. 2014, 10:13:47
Zdravím pánové a dámy.

Mám takový menší problém s ProFTPd na CentOS7. Moje aktuální konfigurace na CentOS 6.5 funguje zcela bez problému, hledal bych tedy problém v nové verzi CentOS.

Při startu služby mám tento warning:

warning: unable to include '/etc/proftpd/modules.conf': Permission denied

"ls -la"
-rw-r--r--.  1 root root    2527 Mar 27 09:18 modules.conf

a když se pokusím o připojení klientem tak v /var/log/proftpd/proftpd.log se s každým pokusem o připojení píše toto:

AuthOrder: warning: module 'mod_ldap.c' not loaded (v konfiguraci se mám nastaveno ověření uživatelů dle LDAPu)

Měl by někdo nějaký nápad kde může být zakopaný pes?


Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Strašidlo kdy 27. 08. 2014, 10:39:18
Částečně jste si odpověděl sám. Nejdříve bych vyřešil vlastnictví a oprávnění k souboru /etc/proftp/modules.conf.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Dzavy kdy 27. 08. 2014, 10:40:53
Tipoval bych to na selinux
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: aaa kdy 27. 08. 2014, 10:43:51
Tipujem, ze na /etc/proftpd nema ten user prava.

Diagnostika sa spravi tak, ze das nieco ako
su - proftp
a potom skusis vypisat ten subor.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Honza J kdy 27. 08. 2014, 10:58:19
problém s SeLinux opravil problém s oprávněním k souboru, zcela jsem na něj zapomněl,

ale nyní se vyskytlo toto:

systemctl status proftpd.service
proftpd.service - ProFTPD FTP Server
   Loaded: loaded (/usr/lib/systemd/system/proftpd.service; enabled)
   Active: failed (Result: signal) since Wed 2014-08-27 10:53:00 CEST; 8s ago
  Process: 2102 ExecStart=/usr/sbin/proftpd $PROFTPD_OPTIONS (code=killed, signal=SEGV)

Aug 27 10:52:59 ftp.domena.com systemd[1]: Starting ProFTPD FTP Server...
Aug 27 10:53:00 ftp.domena.com proftpd[2102]: 2014-08-27 10:52:59,999 ftp.domena.com proftpd[2102] ftp: 127.0.0.1:21 masquerading as aaa.xx.yyy.zzz
Aug 27 10:53:00 ftp.domena.com proftpd[2102]: 2014-08-27 10:52:59,999 ftp.domena.com proftpd[2102] ftp: ProFTPD terminating (signal 11)
Aug 27 10:53:00 ftp.domena.com proftpd[2102]: 2014-08-27 10:52:59,999 ftp.domena.com proftpd[2102] ftp: FTP session closed.
Aug 27 10:53:00 ftp.domena.com systemd[1]: proftpd.service: control process exited, code=killed status=11
Aug 27 10:53:00 ftp.domena.com systemd[1]: Failed to start ProFTPD FTP Server.
Aug 27 10:53:00 ftp.domena.com systemd[1]: Unit proftpd.service entered failed state.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Honza J kdy 27. 08. 2014, 11:14:13
případně přidám ještě

[root@ftp ~]# journalctl -xn
-- Logs begin at Wed 2014-08-27 11:07:11 CEST, end at Wed 2014-08-27 11:08:04 CEST. --
Aug 27 11:07:44 ftp.domena.com sshd[1965]: pam_unix(sshd:session): session opened for user root by (uid=0)
Aug 27 11:07:54 ftp.domena.com chronyd[686]: Selected source 81.27.xxx.yyy
Aug 27 11:08:04 ftp.domena.com systemd[1]: Starting ProFTPD FTP Server...
-- Subject: Unit proftpd.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit proftpd.service has begun starting up.
Aug 27 11:08:04 ftp.domena.com proftpd[1988]: 2014-08-27 11:08:04,376 ftp.domena.com proftpd[1988] dmz-web-1: 127.0.0.1:21 masquerading as yyy.xxx.ccc.vvv
Aug 27 11:08:04 ftp.domena.com proftpd[1988]: 2014-08-27 11:08:04,377 ftp.domena.com proftpd[1988] dmz-web-1: ProFTPD terminating (signal 11)
Aug 27 11:08:04 ftp.domena.com proftpd[1988]: 2014-08-27 11:08:04,377 ftp.domena.com proftpd[1988] dmz-web-1: FTP session closed.
Aug 27 11:08:04 ftp.domena.com kernel: traps: proftpd[1988] general protection ip:7fec9f465180 sp:7fffa7d4a4e8 error:0 in proftpd[7fec9f43d000+e7000]
Aug 27 11:08:04 ftp.domena.com systemd[1]: proftpd.service: control process exited, code=killed status=11
Aug 27 11:08:04 ftp.domena.com systemd[1]: Failed to start ProFTPD FTP Server.
-- Subject: Unit proftpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit proftpd.service has failed.
--
-- The result is failed.
Aug 27 11:08:04 ftp.domena.com systemd[1]: Unit proftpd.service entered failed state.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Withy14 kdy 27. 08. 2014, 11:57:11
Zkus prosím postnout zprávy z /var/log/messages, co se ti tam oběví.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Withy14 kdy 27. 08. 2014, 12:06:20
Citace od: Withy14 kdy 27. 08. 2014, 11:57:11
Zkus prosím postnout zprávy z /var/log/messages, co se ti tam oběví.
Sorry, nevšiml jsem si řádků výše a ten journalctl mě zmátl. Zkus proftpd spustit přímo s odkazem na konfigurační soubor, jestli ti to "vyblije" stejnou chybu: /path/to/proftpd -c /path/to/proftpd.conf
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Withy14 kdy 27. 08. 2014, 12:21:49
Našel jsem k tomu status code 11, že se to týká perlu, což je divné, protože ten jsem v konfiguraci nenašel, ale tvůj config neznám, zkus jen tak mimochodem spustit proftpd bez LDAPu, jestli ti pojede.
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Withy14 kdy 27. 08. 2014, 12:34:07
Ok, sry za "spamování", ale našel jsem tohle: http://www.proftpd.org/docs/howto/Debugging.html

Zvláště tahle část je asi zajímavá (měla by tě odkázat na modul, který způsobuje pád proFTP)

Debugging Segfaults
If you see a message like the following in your logs:

  golem.castaglia.org (127.0.0.1[127.0.0.1]) - ProFTPD terminating (signal 11)

then you have most likely encountered a segfault. This is a particular bad error, and can be hard to track down.

In version 1.3.1rc1, ProFTPD gained the ability to provide better logging to help track down these sorts of bugs. To enable this ability, you will need to configure proftpd with something like:

  ./configure --enable-devel=stacktrace ...

and run your proftpd like normal. If a segfault occurs, the logs should show something like this:

  golem.castaglia.org (127.0.0.1[127.0.0.1]) - ProFTPD terminating (signal 11)
  golem.castaglia.org (127.0.0.1[127.0.0.1]) - FTP session closed.
  golem.castaglia.org (127.0.0.1[127.0.0.1]) - -----BEGIN STACK TRACE-----
  golem.castaglia.org (127.0.0.1[127.0.0.1]) -
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Honza J kdy 28. 08. 2014, 09:02:41
Přiznám se že ta poslední rada mi moc nedala, ale během testování jsem vyzkoušel veškeré moduly mimo ldap modulu zakomentovat a pak ProFTPd se rozjelo bez problému, ale nedalo se k němu pochopitelně připojit.

loaduji toto:

[root@ftp proftpd]# cat /etc/proftpd/modules.conf
ModulePath /usr/lib/proftpd
ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *
LoadModule mod_ctrls_admin.c
LoadModule mod_ldap.c
LoadModule mod_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_radius.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_dynmasq.c
LoadModule mod_vroot.c
LoadModule mod_exec.c
LoadModule mod_shaper.c
LoadModule mod_ratio.c
LoadModule mod_site_misc.c
LoadModule mod_facl.c
LoadModule mod_unique_id.c
LoadModule mod_ifsession.c


[root@ftp proftpd]# proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_rlimit.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_readme.c
  mod_auth_pam.c
  mod_tls.c
  mod_memcache.c
  mod_cap.c
  mod_ctrls.c
  mod_lang.c


Začínám být ztracený
Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Honza J kdy 28. 08. 2014, 09:48:49
Tak trochu změna, aktuálně jsem z seznamu loadovaných modulů zakomentoval tento:

LoadModule mod_exec.c

a Proftpd se rozběhlo, ale nedaří se připojit, v logu je pouze toto:

ProFTPD terminating (signal 11)
FTP session closed.

Název: Re:ProFTPD nefunguje na CentOS 7
Přispěvatel: Withy14 kdy 28. 08. 2014, 14:51:53
Mohl bys tady postnout log z tohoto:

proftpd -nd10 2>&1 >& /path/to/debug/file

Jinak k té poslední radě: stáhní si zdrojové kódy proftpd, rozbal je, v dané složce dej ./configure --enable-devel=stacktrace, a spusť ./proftpd -c /path/to/proftpd.conf (když ti to dá velký výstup, tak si jej přesměruj do souboru)