Могу ли я удалить / etc / nologin без побочных эффектов?

Если вы выполнили команду 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
задан 27 March 2017 в 05:22

0 ответов

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

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