Этот ответ предполагает, что у вас нет резервной копии.
Поскольку информация -метаданные разрешений -были утеряны в вашей системе, пути назад без внешнего источника нет.
Это может быть другой Linux, в идеале тот же дистрибутив и выпуск, что и у вас.
Во-первых, установите права доступа: для всех каталогов — 755, а для всех файлов — 644. Вы можете сделать это в /etc
с помощью следующего скрипта:
find -type d -print0|xargs -n 500 -P 1 -0 chmod 755
find -type f -print0|xargs -n 500 -P 1 -0 chmod 644
Во-вторых, выгрузите данные разрешений в текстовый файл в другой системе с помощью команды
find -print 0|xargs -0 -P 1 -n 500 ls -ld|sort -k +9 > permdata_ok.txt
Вы получите permdata.txt
в удаленной системе. Нужна сортировка, позже объясню, зачем.Переместите этот файл из удаленной системы в локальную.
Выполните тот же сценарий в своей локальной системе, но вместо permdata_ok.txt
используйте permdata_bad.txt
.
А теперь самое интересное. Сравните эти файлы вместе!
Команда:diff -urNw permdata_bad.txt permdata_ok.txt
. Его синтаксис вывода будет не очень красивым для вас, если вы не разработчик, но вы можете его освоить.
Вы увидите различия в файловых режимах и в самом файле. Если разница слишком велика, установите ее обратно вручную.
Поскольку не все файлы существуют в обеих системах, вам потребуется рациональное мышление.
Если ваша система чувствительна к безопасности, лучше установить все на 700
/ 600
на первом шаге. Тогда у вас будет гораздо больше проблем, связанных с разрешением -, но вы не станете причиной нарушения безопасности.
Неправда, что «процесс, связанный с ЦП -, получает длинные кванты, но с низким приоритетом, тогда как процесс, связанный с вводом-выводом -, получает короткие кванты с высоким приоритетом».
Было бы идеально, если бы это было так -, но часто случается так, что каждый процесс получает почти одинаковый квант времени. Процесс, связанный с вводом-выводом, довольно быстро освободит ЦП.
Упорядочить различные приоритеты динамически или иным образом было бы очень сложно, и, поскольку ядро не может -упреждать, неясно, как будет реализована такая расстановка приоритетов.