web-dev-qa-db-ja.com

TTYにログインできません

私のシステムはUbuntu 11.10(0からインストールされ、アップグレード/更新なし)です。 tty(1、2、3 ..)に入ると、ログイン名とパスワードを尋ねられますが、先に進むことはできません。

パスワードまたはルートなしでユーザーを入力すると(アカウントを有効にした)、プロンプトに次のように表示されます。

Module is unknown

これは何ですか?なぜそれが起こっているのですか?修正する方法はありませんか?

NOTECheking battery state [OK] soのときにブートが停止するGUIにアクセスできない。 TTYを使用したことはありませんでしたが、今では使用を余儀なくされています。


auth.logファイル:

上位10行:

Sep  9 20:09:01 M68MT-S2P CRON[2749]: pam_unix(cron:session): session opened for user root by (uid=0)
Sep  9 20:09:01 M68MT-S2P CRON[2749]: pam_unix(cron:session): session closed for user root
Sep  9 20:17:01 M68MT-S2P CRON[2821]: pam_unix(cron:session): session opened for user root by (uid=0)
Sep  9 20:17:01 M68MT-S2P CRON[2821]: pam_unix(cron:session): session closed for user root
Sep  9 20:39:01 M68MT-S2P CRON[2961]: pam_unix(cron:session): session opened for user root by (uid=0)
Sep  9 20:39:01 M68MT-S2P CRON[2961]: pam_unix(cron:session): session closed for user root
Sep  9 20:50:36 M68MT-S2P Sudo:    lucio : TTY=pts/0 ; PWD=/home/lucio ; USER=root ; COMMAND=/usr/bin/apt-get update
Sep  9 20:52:42 M68MT-S2P polkitd(authority=local): Operator of unix-session:/org/freedesktop/ConsoleKit/Session2 successfully authenticated as unix-user:lucio to gain TEMPORARY authorization for action org.debian.apt.install-or-remove-packages for system-bus-name::1.71 [/usr/bin/python /usr/bin/update-manager --no-focus-on-map] (owned by unix-user:lucio)

最後の3行(TTYを介した最後のアクセス試行):

Oct  1 00:27:53 M68MT-S2P login[1429]: PAM unable to dlopen(/lib/security/pam_access.so): /lib/security/pam_access.so: cannot open shared object file: No such file or directory
Oct  1 00:27:53 M68MT-S2P login[1429]: PAM adding faulty module: /lib/security/pam_access.so
Oct  1 00:27:53 M68MT-S2P login[1429]: Module is unknown

完全なauth.logファイル ここ

4
Lucio

ログには、/lib/security/pam_access.soというファイルが欠落していることが示されています。そのため、PAMセットアップが壊れているようです。そのファイルを所有しているパッケージを再インストールする必要があります。残念ながら、どのパッケージかを判断できませんでした(12.04を実行していますが、このファイルはマシン上では必要ないようです)。

できることについての提案は次のとおりです。

  1. chroot環境( ここで手順1〜5を実行 )またはリカバリモードで起動します。 liveCDまたはUSBを使用する場合は、インストールしたバージョンと同じバージョンを使用してください!
  2. dpkgがファイルについて知っているかどうかを確認してください。

    dpkg --search /lib/security/pam_access.so
    

    パッケージが見つかったら、設定は完了です。そのパッケージを再インストールするだけです:

    apt-get reinstall package-name
    
  3. ステップ2が失敗した場合は、大きな銃を手に入れましょう。システムにすべてのPAM関連パッケージを再インストールする必要があります。

    1. 次のPythonスクリプトをどこかに保存します。現在インストールされているすべてのPAMパッケージがリストされます。

      #!/usr/bin/env python
      import apt
      import re
      
      exp = re.compile('^(lib)?pam')
      print ' '.join([i.name for i in apt.Cache() if i.is_installed and exp.search(i.name)])
      
    2. 再インストール:

      apt-get reinstall $(python name_of_your_script.py)
      
  4. それだけでは十分ではない場合、あなたは本当に重苦しくなりますが、これを行う前に非常に慎重に考えてください。関係のないものがシステムに大量にインストールされる可能性があります。最初に、PAMを修復する別の方法を見つけることができるかどうかを確認する必要があります。

    この手順を実行する必要があると判断した場合は、手順3で作成したスクリプトを変更します。スクリプトからi.is_installed andを削除します。それを正確に削除し、間違いを犯していないことを再確認してください。次に、インストールして、すべてを確実に取得するために別の再インストールを実行します。

    apt-get install $(python name_of_your_script.py)
    apt-get reinstall $(python name_of_your_script.py)
    
  5. 上記のすべての指示が失敗した場合、システムが非常に混乱しています。その場合、おそらくUbuntuを再インストールするのが最善の方法です。再インストールする前に必ず/homeをバックアップしてください。

4
Scott Severance