19

For some reason, when I try to run any programs (I am trying to run a rootkit hunter: rkhunter) as root on the command line with sudo like this:

sudo rkhunter

Then I get this message:

You must be the root user to run this program

and then I get these lines:

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must only be writable by owner
sudo: fatal error, unable to load plugins

I try typing in just sudo but that comes up with the same three errors as above. Also in /etc/ sudo.conf does not exist.

I cannot run any other programs as root through sudo. It was also strange because I could run as root a day ago. I would like it to work.
Just so you know, I am the only user of this computer, and the administrator, running Lubuntu 14.04.1.

ScriptKitty
  • 193
  • 1
  • 1
  • 5

3 Answers3

44

If you can login as root:

$ su root     #enter password
$ chmod 644 /usr/lib/sudo/sudoers.so
$ chown -R root /usr/lib/sudo

**

  • on ubuntu 22.04 the proper directory for sudoers.so is /usr/libexec/sudo/sudoers.so

**

If not, you'll have to startup in recovery mode, get write permission on your disk, and change the mode of that file. https://wiki.ubuntu.com/RecoveryMode

$ mount -o remount,rw /
$ chmod 644 /usr/lib/sudo/sudoers.so

**

on ubuntu 22.04 the proper directory for sudoers.so is /usr/libexec/sudo/sudoers.so

**

aldwinaldwin
  • 874
  • 7
  • 6
4

1st open your terminal then type and enter

pkexec su

it will log you in as a root user

now type (replace username with your PC's username):

chown -R username /usr/lib/

now open file explorer and goto /usr or type this in another terminal: nautilus /usr

now, right click on the lib folder and goto 'Permissions' tab.

From there change the access of 'Group' and 'Others' to- 'Access files'

now click on the button 'Change Permissions for Enclosed Files' now change the access of 'Group' and 'Others' to- 'Access files' or 'Read-only'.

now close that window and return to the terminal(the one with root user).

now type

chown -R root /usr/lib/

voila!

now you can use sudo again.

Mohd Zaid
  • 141
  • 2
0

If you can't login as root, then start Ubuntu in recovery mode, from the menu select "Drop to shell prompt", press Enter, and then type the following:

mount -o remount,rw /
mount --all
chmod 644 /usr/lib/sudo/sudoers.so
chown -R /usr/lib/sudo/

You should be able to run "sudo" commands now, including here, in recovery mode console, for example you can just run sudo to test if it was fixed.

**

on ubuntu 22.04 the proper directory for sudoers.so is /usr/libexec/sudo/sudoers.so

**