GNU/Linux >> Znalost Linux >  >> Linux

Vsftpd selže při ověřování Pam?

Přesunutím osvědčené konfigurace vsftpd na nový server s Fedorou 16 jsem narazil na problém. Zdá se, že vše jde, jak má, ale ověření uživatele se nezdaří. V žádném protokolu nemohu najít žádný záznam, který by uváděl, co se stalo.

Zde je úplný konfigurační soubor:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

FTP mě vyzývá k zadání uživatelského jména a hesla, poskytnu je, přihlášení je nesprávné. Ověřil jsem, že tento uživatel se může přihlásit z ssh. S pam_service se něco pokazilo .

Zdá se, že anonymní (pokud se změní na povoleno) funguje dobře.

SELinux je zakázán.

Zdá se, že Ftpsecure je nakonfigurován dobře... Jsem v naprosté ztrátě!

Zde jsou soubory protokolu, které jsem bez úspěchu prozkoumal:

/var/log/messages
/var/log/xferlog      #empty
/var/log/vsftpd.log   #empty
/var/log/secure

Něco jsem našel v /var/log/audit/audit.log :

type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'

Možná bych se měl podívat na /var/log/wtf-is-wrong.help 🙂

Další informace:

/etc/pam.d/vsftpd vypadá takto:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

Přijatá odpověď:

Páni. Problém jsem vyřešil. Je to konfigurace, ale v /etc/pam.d/vsftpd

Protože relace ssh byly úspěšné, zatímco relace ftp se nezdařily, šel jsem na

/etc/pam.d/vsftpd odstranil vše, co tam bylo, a místo toho umístil obsah ./sshd tak, aby přesně odpovídal pravidlům. Vše fungovalo!

Metodou eliminace jsem zjistil, že problematická linie byla:

    auth       required     pam_shells.so

Jeho odstranění mi umožní pokračovat.

Uvědomuje si, že „pam_shells je modul PAM, který umožňuje přístup do systému pouze v případě, že je uživatelský shell uveden v /etc/shells.“ Podíval jsem se tam a jistě, žádná rána, nic. Toto je podle mého názoru chyba v konfiguraci vsftpd, protože nikde v dokumentaci nemáte upravovat /etc/shells. Výchozí instalace a pokyny tedy nefungují tak, jak je uvedeno.

Půjdu teď najít, kam mohu chybu odeslat.


Linux
  1. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  2. Služba Linux OS „syslog“

  3. Ověření PAM pro starší aplikaci

  1. Sestavení .NET Core v linuxovém kontejneru dockeru se nezdaří kvůli ověření SSL pro Nuget

  2. sshd:Jak povolit ověřování PAM pro konkrétní uživatele pod

  3. FTP nepovoluje uživatele /usr/sbin/nologin

  1. Nutit uživatele pam, aby používali pouze FTPS a blokovali SFTP/SSH

  2. Najít soubor protokolu Firefoxu?

  3. chsh:Ověření PAM se nezdařilo