Всегда задавался вопросом об этом, я думаю, некоторые хакеры, вероятно, знают. Я сделал это на виртуальной машине и не мог понять, что мне делать ради жизни.
4 ответа
perl -e 'chmod 0755, "/bin/chmod";'
Это исправит это, если вы root. В большинстве ОС на основе Unix и Linux Perl установлен и доступен по умолчанию.
Скучный вариант: смонтировать этот раздел с live CD/ другой машины и chmod на ваш chmod ...
Если у вас установлен Python без изменений и у вас уже есть исполняемый скрипт Python, который вы можете редактировать, вы можете перехватить его, чтобы вызвать os.chmod. Или подобный вызов в любой еще выполняемой вещи, которая может делать системные вызовы.
cp /bin/ls new-chmod && cp /bin/chmod new-chmod && ./new-chmod +x /bin/chmod
Сначала создайте новый (должен быть новый, чтобы cp копировал разрешения) файл, который является копией существующего исполняемого файла (/bin/ls). Затем скопируйте содержимое chmod поверх нового исполняемого файла (cp не будет копировать разрешения для существующего файла). Затем используйте этот новый исполняемый файл chmod, чтобы сделать исполняемый файл /bin/chmod.
Переключитесь в однопользовательский режим (init 1
), и вы сможете восстановить свои разрешения.
По сути (хотя и не совсем так) эта запись ведется как «суперпользователь».