Невозможно ничего установить из терминала

Невозможно ничего установить из терминала

У меня Ubuntu 16.04 и каждый раз, когда я пытаюсь установить приложение с помощью терминала (например apt-get install git, ,), я получаю это сообщение:

dpkg: error: requested operation requires superuser privilege
W: Could not open file '/var/log/apt/term.log' - OpenLog (13: Permission denied)
E: Sub-process /usr/bin/dpkg returned an error code (2)

Итак, я выполнил это sudo apt-get install gitи получил следующее:

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

Как это исправить?

решение1

Ваша проблема, скорее всего, связана с владением файлом и разрешениями. Вам нужно будет стать пользователем root без помощи sudo, а затем использовать привилегии root, чтобы убедиться, что root владеет /usr/lib/sudo/sudoers.so и может читать и писать в него.

Сначала проверьте, является ли root владельцем /usr/lib/sudo/sudoers.so

ls -l /usr/lib/sudo/sudoers.so

Вам будет интересно увидеть:

-rw-r--r-- 1 root root [...] /usr/lib/sudo/sudoers.so

Но если вы не видите "root root", то это проблема. Вам необходимо перезагрузиться в режиме восстановления и выполнить команду ниже. Причина использования режима восстановления заключается в том, что по умолчанию Ubuntu не позволяет входить в систему напрямую как root без помощи sudo.

Находясь в режиме восстановления, выполните:

chown root:root /usr/lib/sudo/sudoers.so

Вы также можете убедиться, что установлены правильные разрешения, выполнив:

chmod 644 /usr/lib/sudo/sudoers.so

Вы сможете перезагрузиться и снова использовать sudo.

Проверитьhttps://askubuntu.com/a/637437так как ваш вопрос, похоже, является дубликатом вопроса с похожим ответом. Также проверьте вопросsudo: /usr/lib/sudo/sudoers.so должен принадлежать uid 0для другой альтернативы использованию режима восстановления.

Я проверил эту проблему, изменив права на /usr/lib/sudo/sudoers.so на своего пользователя вместо root. В результате я получил почти такую ​​же ошибку, как у вас:

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

Я также проверил это, сделав /usr/lib/sudo/sudoers.so недоступным для записи пользователем root. По какой-то причине это изменение не создало для меня точно такую ​​же ошибку, хотя права на запись — это то, что ваша информация об ошибке указывает как причину проблемы. Однако я не зашел так далеко, чтобы перезагрузиться в режим восстановления, поскольку у меня уже был открыт терминал root до того, как я сделал sudo недоступным для использования. Мне помог ответ от aldwinaldwin https://askubuntu.com/a/637437.

Связанный контент