sudo: / var / lib / sudo / navneet доступен для записи не владельцу (040777), должен быть в режиме 0700

Эта ошибка возникает всякий раз, когда я пытаюсь работать с sudo. Я изменил права доступа к папке /var/ на 777, и я думаю, что это вызывает ошибку. Пожалуйста, помогите мне вернуть функционал sudo и /var.

2
задан 12 January 2013 в 15:46

3 ответа

У меня была аналогичная ошибка, но я все еще мог использовать sudo (он отобразил сообщение об ошибке, и после этого он сделал то, что я ему сказал.), поэтому я исправил его с помощью:

sudo chmod -R 0700 /var/lib/sudo

(я работал с Ubuntu 14.04)

-1
ответ дан 12 January 2013 в 15:46

У вас действительно большая проблема. Прежде всего, для того, чтобы sudo снова заработал, вам нужно будет изменить права доступа к папке / var / lib / sudo и файлу navneet ] внутри него.

Но для этого вам понадобится root-доступ. Если вы изменили пароль root, вам нужно будет только su - и изменить разрешения, как показано ниже:

$ chmod 0755 /var/lib/sudo
$ chmod 0700 /var/lib/sudo/navneet

И все готово. Но, если вы не меняли свой пароль root, вам потребуется получить root-доступ другими способами. При стандартной установке Ubuntu это можно сделать, загрузившись в режиме восстановления. Это делается путем перезагрузки и нажатия клавиши Shift после исчезновения экрана BIOS. Желательно несколько раз, но медленно. Если вам это удастся, появится меню GRUB, и вы сможете выбрать второй вариант (отмечен режим восстановления). В следующем меню вы должны выбрать корневую оболочку. Это приведет вас к корневому запросу. 12.04 вам нужно будет сделать жесткий диск доступным для записи, чтобы внести какие-либо изменения. Для этого используется команда mount -o, remount, rw / . Чтобы открыть меню GRUB, потребуется несколько попыток.

В качестве альтернативы вы можете использовать загрузочный компакт-диск. Я предлагаю вам использовать минимальный установочный компакт-диск Gentoo, так как он небольшой по размеру и выполнит свою работу, также есть Доступно несколько специальных компакт-дисков для восстановления. Стандартный установочный компакт-диск часто работает, если вы выбираете живую загрузку, а не установку. Загрузите компьютер с компакт-диска и смонтируйте свой раздел, например, в / mnt / ( mount / dev / sda1 / mnt ). Затем вы можете изменить разрешения следующим образом:

chmod 0755 /mnt/var/lib/sudo
chmod 0700 /mnt/var/lib/sudo/navneet

Лучше всего использовать это для резервного копирования ваших данных, а затем получить новую установку. Поскольку другие приложения могут перестать работать из-за неправильных разрешений, могут быть другие последствия, которые могут поставить под угрозу безопасность вашего компьютера.

1
ответ дан 12 January 2013 в 15:46

У вас действительно большая проблема, но не на самом деле по причинам, указанным здесь .

Изменение разрешений для всех / var может привести к тому, что вы не вернете их все правильно, потому что вы не будете знать, какие разрешения каждый файл должен иметь . У вас могут возникнуть проблемы позже. В зависимости от обстоятельств ваши проблемы могут быть связаны с безопасностью.

Поэтому вы можете рассмотреть возможность переустановки Ubuntu. В качестве альтернативы вы можете попытаться получить разрешения от файлов в другой, похожей, непрерывной системе . Разрешения обычно такие же. Обычно. Более серьезная проблема заключается в том, что, вероятно, в вашей системе есть файлы в / var , которых нет в другом, поэтому, вероятно, не все разрешения будут исправлены.

Однако выполнение административных задач на настольной системе без работающего sudo обычно тривиально просто.

Сменить разрешения, когда вы знаете, какими они должны быть, легко, а редко требует загрузки в режим восстановления режим или с живого компакт-диска. Это потому, что, хотя это не так широко известно, настольные версии Ubuntu (и большинства других операционных систем GNU / Linux в наши дни) имеют два способа, настроенных для выполнения административных задач:

  • sudo , который не будет работать, потому что требует правильных разрешений в / var .
  • PolicyKit , который имеет тенденцию быть более терпимым к неправильным разрешениям и обычно все еще работает.

Хотя мы склонны Если рассматривать sudo как способ выполнения действий от имени root в Ubuntu, то на самом деле PolicyKit - это способ, которым большинство, хотя и не все, графические утилиты становятся root . (Так было уже несколько лет.)

На самом деле, запуск графической программы вручную с помощью PolicyKit иногда представляет собой серьезную задачу, поскольку графические приложения должны иметь специальные файлы конфигурации, чтобы PolicyKit мог их запускать. Но терминальные приложения этого не делают - запустить текстовую команду с PolicyKit так же просто, как и с sudo .

Для этого введите pkexec , где в противном случае вы бы набрали sudo . (Они не принимают все те же параметры командной строки, но наиболее распространенный синтаксис для sudo - это sudo command , а pkexec работает отлично на своем месте.)

Итак, поскольку sudo не работает, вы не можете запустить:

sudo chmod 0755 /mnt/var/lib/sudo
sudo chmod 0700 /mnt/var/lib/sudo/<username>

Но вы можете запустить:

pkexec chmod 0755 /mnt/var/lib/sudo
pkexec chmod 0700 /mnt/var/lib/sudo/<username>

Это хорошее начало, и оно будет возможно, заставит sudo снова работать. (Однако он не собирается исправлять все остальные файлы в / var .)

Связанные (но в большинстве случаев не идентичные) ситуации, в которых pkexec полезен:
Как изменить недопустимый файл / etc / sudoers? Это вызывает ошибку и не позволяет мне снова редактировать, чтобы исправить это
случайно заблокировал доступ к sudoers.d при попытке изменить конфигурацию ushare
'sudo' не работает после изменения разрешения каталога '/ usr'
Как исправить sudo после «chmod -R 777 / usr / bin»? , ошибка sudo, это режим 0777, должно быть 0440 ,
Как исправить «sudo: / etc / sudoers is mode 0640, должно быть 0440?»
Установка ZFS изменила мой файл sudoers
Пароль не работает для sudo ("Ошибка аутентификации")
Почему ничего не работает после того, как я случайно изменил права доступа к некоторым файлам?
изменил / etc разрешение в oneiric (ubuntu11.10) с помощью "sudo chmod 665 / etc "теперь нельзя использовать sudo
Как мне запускать определенные команды sudo без пароля? (только если что-то пойдет не так)
Невозможно записать / etc / sudoers с Live CD Ubuntu (просто если что-то пойдет не так)

5
ответ дан 12 January 2013 в 15:46

Другие вопросы по тегам:

Похожие вопросы: