Хорошо, я случайно chomdded все на 755, что не так ужасно, как chowning все локальному пользователю. Насколько это небезопасно и как мне восстановить это легко, без переустановки?
решение1
Переустановка — лучший вариант. Лично у меня всегда будет неприятное чувство, что что-то сделано неправильно, даже если следующее сработает.
- Используйте другую систему Ubuntu для ссылки на ваши разрешения. Та же версия Ubuntu и архитектура.
reference$ find / ! -type l \ -path "^/tmp" -prune \ -o -path "^/dev" -prune \ -o -path "^/sys" -prune \ -o -printf "%m %p\n" > /root/perms.txt
- скопируйте
/root/perms.txt
в свою основную систему Используйте
/root/perms.txt
для ссылки и изменения разрешений.main$ cat /root/perms.txt | while read LINE; do perm=echo -E "$LINE" | awk '{print $1}' filename=echo -E "$LINE" | sed 's/^$perm //'
if [ -a $filename ]; then echo -E "$filename" >> /root/chmod-success.log chmod $perm $filename else echo -E "$filename" >> /root/chmod-failure.log fi done
- проверьте ошибки в
/root/chmod-success.log
и/root/chmod-failure.log
В любом случае, здесь слишком много пограничных случаев, что я даже не могу себе представить, будет ли это работать идеально. Сначала протестируйте на другой непроизводственной системе. И chmod $perm $filename
сначала протестируйте на основной производственной системе без линии
решение2
Если у вас дистрибутив на основе RPM, такой как Fedora/Redhat или CentOS, вы можете запустить
rpm -qa | xargs rpm --setperms
Это исправит все файлы, которые были установлены через RPM. Остальные придется исправлять вручную.