Не удалось получить доступ к Интернету после запуска sudo chown -R $ USER $ USER / usr / lib /

Я хотел обновить PyCharm, а при запуске Pycharm это было невозможно, так как он сказал, что у меня недостаточно прав. Поэтому я запускаю следующую команду:

$ sudo chown -R $USER$USER /usr/lib/

Я смог успешно обновить PyCharm, но теперь мое подключение к Интернету не работает, и на самом деле я не смог запустить sudo после того, как я пришел в режим восстановления после это!

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

Я должен упомянуть, что я использую двойную загрузку.

1
задан 13 April 2017 в 15:24

1 ответ

На самом деле нет необходимости переустанавливать. Эта ситуация вполне оправдана. Я выполнил ту же самую команду в своей системе и исправил ее примерно через 10 минут.

Вам нужно либо загрузиться в режиме восстановления, либо использовать живой USB / DVD любой версии Linux (желательно Ubuntu!)

Если вы предпочитаете восстановление, см. раздел «Как загрузиться в режим восстановления?»

Я использовал живой USB-порт с Xubuntu 16.04, который мне пришлось сдать. При использовании живого сеанса, после загрузки, откройте терминал и определите свой корневой (основной) раздел, используя команды, такие как lsblk и sudo fdisk -l. Когда вы знаете, какой из них (вероятно, это раздел ext4), установите его. Здесь я называю корневой раздел /dev/sda1 - вам нужно заменить его на настоящую метку.

sudo mount /dev/sda1 /mnt

теперь проверьте, что это правильный раздел, выполнив ls /mnt - вы должны увидеть usr sys proc dev home root и другие вещи, которые вы ожидаете найти в верхней части дерева файловой системы. Хорошо, давайте исправим право собственности (во всех этих командах, пожалуйста, обратите внимание на : и обязательно поместите их в нужные места).

sudo chown -R root: /mnt/usr/lib

Это почти исправляет его. В моей системе, прежде чем я ее сломал, я проверил все владельцы в этом месте

$ find /usr/lib -not -user root

ничего не возвращает - root владеет всем, но

$ find /usr/lib -not -group root -ls

Включил это:

-rwxr-sr-x   1 root     mail          /usr/lib/emacs/24.5/x86_64-linux-gnu/movemail
-rwxr-sr-x   1 root     tty           /usr/lib/mc/cons.saver
-rwsr-xr--   1 root     messagebus    /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwxr-sr-x   1 root     utmp          /usr/lib/x86_64-linux-gnu/utempter/utempter

Ваша система не будет точно такой же, но вы должны chown те файлы, если они есть, и искать эквиваленты, если нет (например, если вы 32-разрядная система, вы будет иметь x86 вместо x86_64). Я исправил их с помощью:

sudo chown :mail /mnt/usr/lib/emacs/24.5/x86_64-linux-gnu/movemail
sudo chown :tty /mnt/usr/lib/mc/cons.saver
sudo chown :messagebus /mnt/usr/lib/dbus-1.0/dbus-daemon-launch-helper
sudo chown :utmp /mnt/usr/lib/x86_64-linux-gnu/utempter/utempter

(если вы используете режим восстановления, вам не понадобится /mnt в начале этих путей)

Как Как я загружаю в режим восстановления? by @grawity, вам также необходимо отремонтировать бит setuid на dbus-daemon-launch-helper, который очищается с помощью chown:

sudo chmod u+s /mnt/usr/lib/dbus-1.0/dbus-daemon-launch-helper
14
ответ дан 23 May 2018 в 03:08
  • 1
    Самое главное, что dbus-daemon-launch-хелпер нуждается в повторном наборе setuid (chmod u+s после chowning). Вы можете найти тех, кто использует find -perm /7000. – grawity 22 December 2016 в 11:55
  • 2
    @grawity спасибо за это :) отредактировал его в – Zanna 22 December 2016 в 12:24
  • 3
    Я думаю, вы забыли /mnt на пути utempter (от второго до последнего кода, последней строки) – chrki 22 December 2016 в 14:06
  • 4
    @fkraiem мы сделали опрос в чате, и все мы выяснили, что все принадлежит root с этими или очень похожими файлами с разным групповым участием (мотив предложил мне опубликовать ответ). Я считаю, что эта стратегия ремонта будет хорошо работать для большинства пользователей, и, вероятно, будет предпочтительнее переустановка. Я не предлагал ничего разрушительного здесь. – Zanna 22 December 2016 в 17:32
  • 5
    @fkraiem это по-прежнему действительный ответ. Это не только для OP. Если это работает для OP, это здорово; они получили то, что им нужно. Если это не так, все равно может работать кто-то другой, который посещает эту страницу. Кроме того, в этот момент, когда единственный вариант - переустановка, какой вред в попытке? – TheWanderer 22 December 2016 в 17:41

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

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