![Невозможно ничего установить из терминала](https://rvso.com/image/886352/%D0%9D%D0%B5%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BD%D0%B8%D1%87%D0%B5%D0%B3%D0%BE%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B8%D0%B7%20%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D0%B0%20.png)
У меня 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.