ログインする代わりに、PAM
は、パスワードを入力した後、「指定されたセッションのエントリを作成/削除できません "」というメッセージで挨拶します。それはどのエントリについて話しているのですか(そしてどのセッション)?
エラーメッセージのある文字列は、libpam.so.0
(。83.1)にあります。
私のシステムは、Fedoraリリース20(ハイゼンブルク)のバイナリに基づいています。
PAMをトラブルシューティングして、正常にログインするために必要なものを特定するにはどうすればよいですか?私はsyslogを持っていません(そして永続ディスクもありません、initramfsだけです)。
SELinuxは無効です。
私は、PAM構成全体を、仮想コンソールでのみログイン(通常のユーザーとルート)を許可する単純なものに置き換えてもかまいません。
Linux-PAM-1.1.8のソースコードlibpam/pam_strerror.c
は、メッセージがエラーコードPAM_SESSION_ERR
からのものであることを示しています。これは、メモリ割り当てエラーやユーザーのホームディレクトリを見つけます。エラーメッセージを解釈しようとするのはこれだけです。 :
以下は、開始点として/etc/pam.d/login
を示すコメントに基づく私の設定ファイルです。
(また、pam_loginuid.so
を含むすべての行を目立った違いなしに削除しようとしました)
---(/ etc/pam.d/login:
auth [user_unknown = ignore success = ok ignore = ignore default = bad] pam_securetty.so auth substack system-auth auth include postlogin account requiredpam_nologin。 so account include system-auth password include system-auth session required pam_selinux.so close session required pam_loginuid.so session optional pam_console .so session required pam_selinux.so open session required pam_namespace.so session optional pam_keyinit.so force revoke session include system-auth セッションにはpostlogin -sessionオプションのpam_ck_connector.so が含まれます
/ etc/pam.d/postlogin:
session [success = 1 default = ignore] pam_succeed_if.so service!〜gdm * service!〜su * quiet session [default = 1] pam_lastlog.so nowtmp showfailed sessionオプションのpam_lastlog.soサイレントnoupdateshowfailed
/ etc/pam.d/system-auth:
[.________________ 。] auth required pam_deny.so account required pam_unix.so account十分なpam_localuser.so account十分なpam_succeed_if.so uid <1000 quiet account required pam_permit。 so password requisite pam_pwquality.so try_first_pass local_users_only try = 3 authtok_type = password such pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so [.____ pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success = 1 default = ignore] pam_succeed_if.so service in crond quiet use_uid セッションr同等のpam_unix.so
これらの共有PAM関連ライブラリがあります:
libpam_misc.so.0 libpam.so.0 pam_access.so pam_console.so pam_deny.so pam_env .so pam_fprintd.so pam_gnome_keyring.so pam_keyinit.so pam_lastlog.so pam_limits.so pam_localuser.so pam_loginuid.so pam_namespace.so pam_nologin.so pam_permit.so pam_pkcs11.so pam_pwquality.so pam_rootok.so pam_securetty.so pam_selinux_permit.so pam_selinux.so pam_sepermit.so pam_succeed_if.so [.___ ] pam_systemd.so pam_timestamp.so pam_unix_acct.so pam_unix_auth.so pam_unix.so pam_xauth.so
および上記の共有ライブラリによって参照されるこれら(ldd
による):
libattr.so.1 libaudit.so.1 libcap.so.2 libcrack.so.2 libcrypt.so.1 libc.so.6 libdbus-1.so.3 libdbus-glib-1.so.2 libdl.so.2 libffi.so.6 libfreebl3.so libgcc_s.so.1 libgio-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 liblzma.so.5 libnsl.so.1 libnspr4.so libnss3.so libnssutil3.so libpcre.so.1 libpcre.so.3 libplc4.so libplds4 .so libpthread.so.0 libpwquality.so.1 libresolv.so.2 librt.so.1 libselinux.so .1 libsmime3.so libssl3.so libutil.so.1 libz.so.1
私の場合、Centos 6を使用していて、これは/ var/log/secureにあります。
Mar 13 10:13:02 server Sudo(pam_google_authenticator)[24911]: Unrecognized option "user=root"
Mar 13 10:13:02 server Sudo: ralph : pam_authenticate: Cannot make/remove an entry for the specified session ; TTY=pts/2 ; PWD=/home/ralph ; USER=root ; COMMAND=/usr/local/bin/become root
最終的には、GA PAMモジュールのバーフィングでPAMが何をすべきかわからないため、エラーが発生します。異なるPAMモジュールに関する他の多くの問題が同じ動作を引き起こす可能性があると確信しています。 (Google Authenticatorだけではありません)しかし、何が起こっているのかを知るには、おそらく何らかのログが唯一の方法です。
ツールaudit2allowを使用して、自分のシステムでこの問題を解決しました。チェック 私の投稿 。