web-dev-qa-db-ja.com

「指定したセッションのエントリを作成/削除できない」とはどういう意味ですか?

ログインする代わりに、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 
2
MattBianco

私の場合、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だけではありません)しかし、何が起こっているのかを知るには、おそらく何らかのログが唯一の方法です。

1
Ralph Bolton

ツールaudit2allowを使用して、自分のシステムでこの問題を解決しました。チェック 私の投稿

0
Octavian