Я случайно запустил «chown -R ubuntu:ubuntu /» на кластере из 10 серверов. С тех пор мне удалось восстановить большую часть файловой системы, сначала отредактировав файл /etc/rc.local, поместив туда множество команд chown и перезагрузив компьютер.
В настоящее время системы работают нормально, но я хотел убедиться, что все исправил.
Чтобы определить правильные разрешения, я загрузил новую систему с тем же установленным программным обеспечением и просмотрел все файлы, не принадлежащие пользователю:root, не принадлежащие group:root, а также все биты SUID и GUID.
В частности, я выполнил эти команды:
while read line; do user=$(echo $line |cut -d ":" -f 1); if [ $user != "root" ]; then echo ------${user}------; find / -user $user 2> /dev/null; fi; done < /etc/passwd
while read line; do user=$(echo $line |cut -d ":" -f 1); if [ $user != "root" ]; then echo ------${user}------; find / -group $user 2> /dev/null; fi; done < /etc/group
find / -perm -1000
find / -perm -2000
find / -perm -3000
find / -perm -4000
find / -perm -5000
find / -perm -6000
find / -perm -7000
А затем вручную внес эти изменения в затронутые системы.
У меня вопрос, я что-то пропустил, и теперь эти системы так же хороши, как недавно установленная система?
Это на Ubuntu 12.04.2 LTS.
Благодарю.