Fedora 16を使用して証明されたvsftpd設定を新しいサーバーに転送する際に問題があります。すべてが期待どおりに機能しているようですが、ユーザー認証は失敗します。何が起こったかを示すログエントリが見つかりません。
完全な構成ファイルは次のとおりです。
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はユーザー名とパスワードを要求して提供しましたが、ログインが正しくありませんでした。 SSH経由でユーザーがログインできることを確認しました。何か問題が発生しましたpam_service
。
匿名(許可に変更した場合)がうまく機能しているようです。
SELinuxが無効になっています。
Ftpsecureがうまく構成されているようです...完全に恥ずかしいです!
私が確認したログファイルは次のとおりです。
/var/log/messages
/var/log/xferlog #empty
/var/log/vsftpd.log #empty
/var/log/secure
何かを見つけました/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'
確認してみるべきだと思います/var/log/wtf-is-wrong.help
:-)
追加情報:
/etc/pam.d/vsftpdは次のとおりです。
#%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
答え1
呼ぶこの問題を解決しました。設定と同じですが、/etc/pam.d/vsftpdにあります。
SSHセッションは成功し、FTPセッションは失敗したため
/etc/pam.d/vsftpd、その中にあるすべてを削除し、代わりにルールと正確に一致するように./sshdの内容を配置しました。みんな一番いい!
アンインストール中に問題がある行は次のとおりです。
auth required pam_shells.so
これを削除すると続行できます。
"pam_shellsは、ユーザーのシェルが/ etc / shellsにリストされている場合にのみシステムへのアクセスを許可するPAMモジュールです。探してみると混同もなく何もありませんでした。私はこれがvsftpd設定のバグだと思います。文書のどこにも/etc/shellsを編集できる内容がないからです。したがって、デフォルトのインストールと指示は指定されたとおりに機能しません。
それでは、バグを提出できる場所を探してみましょう。
答え2
Ubuntuを使用していますが、同じ問題に直面しました
解決策:
add-shell /sbin/nologin
sudo usermod -s /sbin/nologin ftpme
sudo vi /etc/pam.d/vsftpd
次にコメントを付けて、次の行を追加します。
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/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
@include common-auth
@include common-account
@include common-password
@include common-session
答え3
私の場合は、認証行にコメントを付けることを選択しました。/etc/pam.d/vsftpd構成ファイル
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/f$
#auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
これがあなたの理由です。追加すると/sbin/nologinシェルシステムとして、システムで不要なバックドアを開くことができます。代わりに、このファイルを変更すると確かに影響を与えます。VSFTPD。
他のコースがあるかどうかはわかりませんが、SSHD私はシステムシェルを探していますが、他のものよりもpam.dファイルを変更する方が良い解決策だと思います。
答え4
vsftpdが次のエラーで失敗する場合
vsftpd.service:制御プロセスはコード=終了ステータス= 2で終了します。
pasv_addr_resolve=YES
もう1つの可能性は、ファイルに設定されていることを確認することです/etc/vsftpd/vsftpd.conf
。これにより、FTPサーバーのホスト名がDNSを介して解決されます。 DNSが解決しない場合は、DNS解決の問題を解決するか、少なくともvsftpdがエラーなしで起動するようにping yourhostname.example.com
設定する必要があります。pasv_addr_resolve=NO
/etc/vsftpd/vsftpd.conf