Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

My system is Ubuntu 11.10 (installed from 0, without upgrades/updates). When I enter into any tty (1, 2, 3..) it ask me my login name and password but I can not move forward.

When I enter an user without password or the root (I have enabled the account) the prompt show me this:

Module is unknown

What is this? Why it is happening? There isn't any way to fix?

NOTE: My boot stop when Cheking battery state [OK] so I cannot go to the GUI. I did never use any TTY but now I am forced to do so.


The auth.log file:

Top 10 lines:

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)

Last 3 lines (last attempt to access through 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

The complete auth.log file here.

share|improve this question
    
"or similar" normaly doesn't cut it; please post the exact error message you are getting. –  Tom Regner Sep 14 '12 at 16:22
    
@TomRegner I've updated the answer. –  Lucio Sep 15 '12 at 2:13
    
@Lucio Is that happen only when you try to login with user who do not have password? –  Anwar Shah Sep 21 '12 at 13:03
    
This happen with any user, with or without password. –  Lucio Sep 22 '12 at 1:43
    
Have you just upgraded the machine? There was a difference in the way PAM worked between 11.10 and earlier versions. An upgrade that didn't finish correctly could cause this problem. Boot off the LiveCd or LiveUSB and mount the hard drive: "sudo mount /dev/sda1 /mnt" and then look in file: /mnt/var/log/auth.log - paste the top 10 lines of this file here. –  fabricator4 Sep 22 '12 at 11:21

1 Answer 1

up vote 4 down vote accepted
+100

Your logs show that you're missing a file called /lib/security/pam_access.so. So, it seems that your PAM setup is broken. You'll need to reinstall whatever package owns that file. Unfortunately, I wasn't able to determine which package that is (I'm running 12.04 and apparently that file isn't needed on my machine).

Here's a suggestion about what you can do:

  1. Boot into a chroot environment (follow steps 1-5 here) or into recovery mode. If you use a liveCD or USB, be sure that you use one for the same version that you have installed!
  2. Try to see if dpkg knows about the file:

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

    If it finds the package, you're all set. Just reinstall that package:

    apt-get reinstall package-name
    
  3. If step 2 fails, it's time to get the big guns out. You'll want to reinstall every PAM-related package on your system.

    1. Save the following Python script somewhere. It will list all your PAM packages that are currently installed.

      #!/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. Reinstall away:

      apt-get reinstall $(python name_of_your_script.py)
      
  4. If that isn't enough, you can get really heavy-handed, but think very carefully before doing this as it can easily have lots of unintended consequences. It could potentially install a bunch of unrelated stuff on your system. You should first check whether you can find another way of repairing PAM.

    If you determine that you need to take this step, modify the script you created in step 3. Remove the following from the script: i.is_installed and. Make sure you remove exactly that and double-check that you didn't make a mistake. Then install, and do another reinstall just to be sure you got everything:

    apt-get install $(python name_of_your_script.py)
    apt-get reinstall $(python name_of_your_script.py)
    
  5. If all of the previous instructions fail, then you have a seriously messed up system. In that case, reinstalling Ubuntu is probably the best way to go. Remember to back up /home before reinstalling.

share|improve this answer
    
Your method was useful. Now my system is working perfectly. Thanks for your time. –  Lucio Oct 3 '12 at 21:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.