Назад | Перейти на главную страницу

вернуть chmod 777 / -R

при выполнении команды я сделал ошибку и выполнил (ubuntu 10)

sudo chmod 777 / -R # ладно, можешь смеяться

теперь вся моя файловая система имеет 777 разрешений, очевидно, я не знаю, где находятся разрешения для каждой папки и файла на моем диске 1 ТБ: D

есть ли способ вернуть это?

Заранее спасибо !!!

Вау ... это очень плохо ... Лучшее, что вы можете сделать сейчас, - это создать резервную копию ваших личных данных и переустановить систему.

Поскольку это, вероятно, не то, что вы хотели услышать, второй лучший (и, вероятно, значительно более болезненный) поступок - это что-то вроде:

for package in `dpkg -l | awk '{print $2}'`; do
    apt-get install --reinstall $package
done

Обратите внимание, что это исправление чисто теоретическое (я никогда не пробовал его), но оно переустановит каждый пакет в вашей системе (потому что, насколько я могу судить apt и dpkg не имеют функции «исправлять разрешения», например RPM). Переустановка должна исправить разрешения для всех файлов в пакетах.

Это "исправление" может сломать другие вещи, и у вас, вероятно, все еще будет несколько файлов 777, плавающих вокруг этого не часть любых пакетов, поэтому вам следует findвключив все, что есть в режиме 777, и убедившись, что список выглядит нормальным.

Попробуйте следующую команду

rpm --setperms $(rpm -qa)

Это сбросит все разрешения до значений по умолчанию, хранящихся в базе данных rpm.

Или, если вы хотите перейти от пакета к пакету и получить больше результатов, попробуйте:

for p in $(rpm -qa) ; do echo "$p" ; rpm --setperms $p ; done

Это будет только возвращать файлы, установленные с помощью rpm, а не другие файлы, которые вы создали вручную, в вашем / home или установили иным способом, кроме как пакет rpm.

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