[SOLVED] Сбились владелец и группа всех файлов
citx 21 июля, 2010 - 21:27
Недавно мне потребовалось переразметить диск. Решил перенести все файлы на другой носитель. Но в силу то ли невнимательности, то ли криворукости вместо
# cp -rp /* /mnt/backup
набрал
# cp -r /* /mnt/backup
Теперь все файлы имеют владельца и группу root:root. В итоге ничего не работает.
В сети ничего не нашёл (видимо в такую глупую ситуацию больше никто не попадал). Если кто знает, что тут можно сделать кроме переустановки системы, прошу помочь.
»
- Для комментирования войдите или зарегистрируйтесь
Дык а хде старая система, ты
Дык а хде старая система, ты откуда форматил корень-то?
По теме видел какой-то скрипт, но он для бинарного дистра смотрел, что на лайве и менял права.
Алсо, новая установка. Ты бы для верности все равно все бы пересобирал
Не могу удержаться...
cp -a
rsync -a
С live-системы
С live-системы форматировал.
Видимо переустанавить проще, чем что-либо ещё. Ну как говриться сам дурак:). Всё равно собиралься этим заняться в ближайшее время. Теперь повод есть. Невовремя конечно, но можно и на live пожить недолго, раз такая ситуация. Ладно, спасибо)
Я могу ошибаться, но можно
Я могу ошибаться, но можно попробовать:
1. Зайти от имени root в скопированную систему, тогда права точно будут
2. Создайте нового пользователя, при создании нового пользователя, для файлов этого пользователя будут созданы права соответствующие..
3. Теперь копируем файлы пользователя из бэкапа новому, созданному юзеру
4. Владельца скопированным файлам назначаем так: chown user:group путь к файлу и права - chmod
А вообще, я предполагаю, что есть файлы, которые должны иметь пользовательские разрешения, но находятся они вне пользовательских каталогов, такие файлы точно есть, возможно вам поможет полное обновление системы:
1. Создаем пользователя, как я и писал выше, далее от рута...
2. Обновляем всю систему полностью emerge -euvDN world (я думаю, но могу ошибаться, что все перекомпилируется и права переназначатся, хотя может и не переназначатся!)
Т.е. вам как бы нужно переустановить систему со stage3, но уже в установленной системе, с вашими конфигами....
Все пользовательские файлы
Все пользовательские файлы как раз на отдельном разделе и не тронуты (и это просто замечательно).
eix-sync и emerge -e world могут конечно помочь, но всё-таки есть файлы, которые не принадлежат никаким пакетам (например логи, дистфайлы). И они вполне могут мешаться. Думаю переустановить будет менее хлопотно.
А вариант без переустановки
А вариант без переустановки пакетов, создания нового пользователя и командной строки??
Зайти из-под root в новой системе, в свойствах папок /home/... выбрать соответствующего владельца, в правах системных папок указать "чтение для всех, правка только root"
Выполнимо даже из-под X-ов с помощью мышки.... )))
"...но всё-таки есть файлы, которые не принадлежат никаким пакетам..." а вот принадлежность пакетам от прав доступа и владельца не зависит. Сбились настройки и соотношения, что чему принадлежит - revdep-rebuild и им подобное, а на права доступа пенять не стоит.
Как я уже сказал, home в
Как я уже сказал, home в полном порядке. А вот многие из остальных файлов должны иметь группу, отличную от root (portage, apache, pulseaudio и т.д.). Причём соответствующим группам они должны быть доступны для редактирования.
> а вот принадлежность пакетам от прав доступа и владельца не зависит...
Я это к тому сказал, что emerge -e world переустановит все файлы, которые принадлежат какому-нибудь пакету (equery belongs file) с соответствующими правами. Но не затронет ничейные файлы, которые, в свою очередь, некоторые приложения смогут захотеть переписать, но не смогут.
У вас portage имеет доступ на
У вас portage имеет доступ на изменение отличный от root?
Я могу и ошибаться, но
Я могу и ошибаться, но по-моему, если поменять у его файлов группу с portage на root, то начнуться всякие баги. У меня такое когда-то давно было
у меня (да и спросим у
у меня (да и спросим у других) практически все кроме /home/... имеет во владельцах root, ибо кому кроме него системные файлы нужны.
Если же вы пытались настроить доступ к установке пакетов различным пользователям - да, возможно и будут сбои...
Пользователь - root. А группы
Владелец - root. А группы - самые разные. И от этих групп много что зависит
Если уж на то пошло, до даже
Если уж на то пошло, до даже sudo su - выдаёт ошибку и отказывается выполняться:). Так что единственный вариант - chroot (а здесь отсутствие консольки не свитит).
В общем-то я выбрал из существующих способ решения, который больше подходит мне:)
Рад, если смог что-нибудь объяснить:)
"...до даже sudo su - выдаёт
"...до даже sudo su - выдаёт ошибку..." - это как "масло маслянное", я бы тоже ошибку выдал.
А вообще, если "sudo ...." выдает ошибку проверьте файл sudoers и доступ к нему.
Он как раз не поменялся:).
Он как раз не поменялся:). Ругается, что не может setuid сделать. А "sudo su -" - это нормальная практика. Предпочитаю не давать пароля пользователю root
"А "sudo su -" - это
"А "sudo su -" - это нормальная практика. Предпочитаю не давать пароля пользователю root"
хоть и вопрос для другого топика - но почему??
Для домашнего компьютера это
Для домашнего компьютера это не имеет особого смысла. А вообще - одна из мер безопасности. Делаю так только в силу привычки