Случайно сделал & ldquo; chmod -777 / & rdquo;

Похоже, я смог ответить на свой вопрос небольшим руководством. Вам нужен пакет: msttcorefonts

или инструкции командной строки:

sudo apt-get install msttcorefonts
sudo fc-cache -fv

В этой ссылке подробно объясняется, как переустанавливать основные шрифты:

Ссылка [ ! d3]
1
задан 25 May 2014 в 11:42

2 ответа

Обратите внимание, что chmod -777 подобен chmod 000. Таким образом, OP, вероятно, просто изменил разрешения папки /, а не рекурсивно, и он или она может восстановить систему просто с помощью

chmod 755 /

из загрузки восстановления. Например, загрузитесь с установочного носителя, выберите «Попробуйте Ubuntu», откройте терминал и перейдите к суперпользователю (выполните трижды проверку и только после того, как поняли, что вы делаете)

sudo -i
mount /dev/yourrootpartitonhere /mnt
cd /mnt
chmod 755 .
cd ..
umount /mnt

И перезагрузитесь нормально, все должно быть в порядке.

Если вы использовали -R, сделайте резервную копию своих данных (см. другие ответы здесь) и переустановите.

3
ответ дан 24 May 2018 в 07:24
  • 1
    Привет, Рмано, спасибо за ответ, я выполнил ваши инструкции, но это не сработало – YasirAzzu 25 May 2014 в 13:55
  • 2
    Я сделал все, что Рмано сказал, что я не получил никаких ошибок (кроме «chmod 755». Я сделал «cd ..», чтобы выйти из mnt), ничего не изменилось. Я получаю такое же диалоговое окно после перезагрузки – YasirAzzu 25 May 2014 в 21:46
  • 3
    Вы уверены, что установили правильный корневой раздел? – Rmano 26 May 2014 в 01:05
  • 4
    Да, я сделал правильно, я установил раздел '/' – YasirAzzu 26 May 2014 в 22:07
  • 5
    Если вы загрузились с носителя для восстановления, раздел «/» не является нужным вам разделом, а является корнем носителя для восстановления. Вы должны найти свой HD и найти корень вашего реального HD, а не корень восстановления. – daviewales 28 May 2014 в 16:49

Если вы выполнили команду chmod -777 /foo, у нее может быть какая-то странная функциональность. Скорее всего, это приведет к отрицанию бит, который вы передаете в восьмеричном отрицании 777 (что очень важно для 111111111 в двоичном формате), что на самом деле невозможно представить, поскольку chmod использует 9-битный набор для разрешений файлов (1 бит на разрешение для чтения, записи, выполнения * владельца, группы, пользователя), который является неподписанным числом (не может быть отрицательным).

Предположим, что вы можете представлять числа со знаком (отрицательные и положительные значения ). Если вы найдете дополнение 2 777 (0b111111111), то вы можете определить точное поведение (и числа, которое вы передаете):

 111111111
-000000000
----------
 111111111
+000000001
----------
1000000000 #this number will cause an overflow because it is 512
           #since our range is only -256 -> 255

Что все это значит? Вы сказали ядру «Эй, сделайте разрешения для этой папки 1000000000». Ядро ответил «Ок» и сделал то, что вы просили. Теперь ваши права на файловую систему точно такие, --------- root root /. Все это предполагает, что I (и ваше ядро ​​/ CPU) правильно выполнили математику.

Recovery

Корневая файловая система (какие / есть) разрешения по умолчанию обычно 755. Самый простой способ исправить это - войти в систему и переключиться на tty с помощью Ctrl + F1 ( который приведет вас к tty1, tty2-6 также открыты, причем tty7 является местом текущего сеанса X). Вы можете войти в систему как root (или как обычный пользователь, но использовать sudo перед каждой приведенной ниже командой) и запустить эту команду:

chmod 755 /

Это должно устранить проблему, с которой вы сталкиваетесь. [!d7 ]

1
ответ дан 24 May 2018 в 07:24
  • 1
    Привет, Крис, спасибо за ваш ответ. При запуске sudo chmod 755 / я получаю sudo: эффективный uid не равен 0, sudo установлен setuid root? & Quot; Когда я пробовал без sudo, я получил " chmod: изменение разрешений s '/': операция не разрешена & quot ;. – YasirAzzu 25 May 2014 в 14:04
  • 2
    Если вы знаете пароль root, вы можете просто su, ввести пароль root и запустить команду как root. – ChrisR. 25 May 2014 в 23:49
  • 3
    Вы не можете использовать sudo, пока не исправите свои / разрешения ... поэтому необходимо сделать это из среды восстановления. – Rmano 26 May 2014 в 01:09
  • 4
    @ChrisR Я не знаю пароль root, есть ли что-то вроде пароля по умолчанию – YasirAzzu 26 May 2014 в 22:05
  • 5
    Если вы никогда не настраивали его, и ваша система находится в текущем состоянии, у вас есть один из двух вариантов: 1) загрузить Ubuntu Live CD или 2) установить с нуля. – ChrisR. 26 May 2014 в 23:23

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

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