при выполнении команды я сделал ошибку и выполнил (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.
Если у вас есть полная резервная копия, вы можете получить оттуда разрешения.