Я случайно выполнил команду chown -R root /, пытаясь изменить права доступа к публичной папке моего приложения rails. Я полагал, что это изменило права доступа ко всем моим папкам в каталоге /. Итак, мой вопрос: насколько это опасно, на самом деле лучше вопрос, есть ли способ отменить это?
linux
unix
permissions
filesystems
chmod
user1938700
источник
источник
find
все файлы, принадлежащие root, где группа не подходит, и разбейте их все на пользователя, который соответствует группе. Регистрируйте ошибки и разбирайтесь с ними в индивидуальном порядке.Ответы:
Один из способов смягчить проблему здесь (не решить, но помочь вам из дыры) - запустить процесс в аналогичной системе для сбора соответствующих прав владения файлами. Я ценю, что шансы на точное совпадение несколько невелики, но если оба варианта находятся на одном уровне с установленными схожими пакетами, возможно, вам повезет.
После того, как вы собрали права доступа к файлу в файл, вы можете запустить процесс в своей собственной системе, чтобы прочитать файлы и разрешения / владения из хорошего и заменить их на свой. У меня есть пара небольших домашних приложений для Linux, которые делают именно это.
Например
RWX * UID * GID * прочее * каталог * имя файла
источник
Прежде всего, остановите команду, если она все еще выполняется!
Теперь все будет принадлежать root, и это довольно проблематично.
Вы должны попытаться восстановить информацию из вашей последней резервной копии.
Также важно не перезагружать систему, прежде чем проверять все запущенные приложения и запускать их пользователем при загрузке. В противном случае некоторые из них могут не запуститься должным образом из-за проблем с разрешениями.
Удачи.
источник
Очень и не совсем.
«Очень» в том смысле, что если команда действительно прошла, ваша безопасность испорчена. Теперь вы не знаете, какие пути есть у каких владельцев, а кому и что разрешено делать.
«Не совсем» в том смысле - уверены ли вы, что вы были пользователем root, когда сделали это и выполнили ли команду до конца? Если вы отменили его, как только увидели, возможно, вам повезет, и ремонт может быть низким. Если вы не были пользователем root, эта команда не смогла бы это сделать, если вы не сделали что-то подобное
sudo ...
.Нет единого средства для этого. Если у вас есть резервная копия, вы можете восстановить ее. Возможно, вам придется проверить владельца в резервной копии и применить их. Если вы использовали средство проверки руткитов (скажем, rkhunter), он может иметь список самых основных прав собственности и, возможно, сможет исправить это. (Не совсем вероятно).
источник
По крайней мере, в Fedora команда RPM имеет параметры
--setperms
и--setugids
, используя их, вы можете исправить большинство системных файлов, таких какrpm --setugids -a
. Чтобы (несколько) исправить файлы для каждого пользователя, вы можете сделать для каждогоchown -R user /home/user
. Вероятно, будут остатки, которые не были исправлены вышеупомянутым, особенно если у вас есть какой-то сервер (web, ftp, другие), они должны будут обрабатываться один за другим.Вероятно, другие распределения имеют аналогичные механизмы. Или сделайте полное обновление (т.е. установите все заново, как будто оно было каким-то образом повреждено. Хорошо, оно было каким-то образом повреждено.)
[Да, это еще один довольно жестокий способ Unix научить ничего не подозревающих пользователей внимательно рассматривать каждую команду перед нажатием клавиши ENTER и экономно использовать root . Считай, что тебя учили.]
источник
setuid
иsetgid
разрешения должны быть установлены вручную.rpm
не восстановит их.Если вы используете OSX apple, предоставляет функцию восстановления в Disk Utilities, чтобы решить эту проблему. Если вы используете дистрибутив Linux, я вполне уверен, что вам придется заново редактировать все разрешения вручную. В любом случае, хлопайте руками и не делайте этого снова
источник
К сожалению, я не знаю ни одного способа «отменить» его, но вы, вероятно, можете оставить системные файлы как принадлежащие root и восстановить все файлы в вашем $ HOME, которые будут принадлежать вам (и сделать то же самое для всех пользователей система). На этом этапе вы можете установить права доступа и / или владельца для каждого файла, который не находится в каталоге $ HOME, который нуждается в нем по мере его появления. Да, это боль, но я не думаю, что это легко исправить. Это то, что я бы сделал в любом случае.
источник
Я бы сказал, что вы довольно "испорчены", как вы говорите. Лучший способ (и самый эффективный) - это переустановить и восстановить важные элементы из ваших хороших резервных копий. К сожалению, это не та ситуация, которая обычно имеет быстрое решение со счастливым концом. Удачи!
источник