Назад | Перейти на главную страницу

возвращение владельца файла в CentOS

По ошибке я выполнил глупую команду с опечаткой. Я создал пользователя «teampeak» и хотел изменить владельца файла текущего каталога и его подкаталогов, но по ошибке запустил его в «/».

Я был пользователем teampeak, пока я запускал команду, а не root и я запустил что-то вроде этого:

chown -r teamspeak:teamspeak /*

Я видел много строк, те, которые я смог прочитать, были о том, что НЕ удалось изменить владельца файла, прогресс был около / lib и, возможно, / boot, когда я нажал CTRL + C и остановил его.

Но сервер не становится доступным после перезагрузки (я на 90% уверен, что это владелец файла).

Теперь я собираюсь загрузить его в режиме аварийного образа, который предлагает мой хост.

Мне было интересно, есть ли способ отменить разрешение файла.

И / ИЛИ

Команда для поиска всех файлов, принадлежащих teampeak: teampeak и сделать их root: root

По крайней мере, я загружаю его правильно и получаю все базы данных со своего сервера.

«Команда для поиска всех файлов, принадлежащих teampeak: teampeak, и делает их root: root»

Пытаться

find / -user 'teamspeak' | xargs chown root:root

Странно то, что OP, по-видимому, отключил машину (или, по крайней мере, предотвратил перезагрузку), запустив команду от имени пользователя "teampeak" вместо root. Этого не должно происходить, если только перед запуском команды в поле уже не было проблем с разрешениями.

Ответ Янне не сработает, поскольку измененные файлы, вероятно, не должны изначально принадлежать root, но идея использования find может быть действительным.

Я не знаю, где находится adrianTNT в процессе восстановления, но вот проверка / валидация работоспособности, которую я бы сделал:

1) запустить это find / -user teamspeak и получите список измененных файлов 2) сравните этот список с владельцами файлов в другом блоке CentOS 3) если другой блок CentOS недоступен (или не может быть вызван достаточно быстро), по крайней мере, посмотрите на список файлов. Найдите системные файлы, владельцы которых сменили владельца.

Я думаю, вы все равно захотите взглянуть на другое окно CentOS, когда у вас будет этот список. Как уже было сказано, chown непривилегированным пользователем не следует так лажать коробку. Возможно, до вашей ошибки были проблемы с разрешениями.

Проблема в том, что изменение владельца файлов / папок обратно на root не может решить все ваши проблемы, поскольку root не является владельцем всех файлов / папок.

Думаю, у вас есть два варианта:

  1. Если возможно, переустановите ОС.
  2. Выполните утомительную задачу сравнения этой системы с другой работающей системой и при необходимости смените владельца. Вы можете начать с изменения владельца на root в качестве первого шага.

Проблема была исправлена, техник центра обработки данных завел ее и сказал:

машина была остановлена ​​в BIOS из-за ошибки, ожидая вмешательства.

Я жду дополнительной информации, но, вероятно, это было предупреждение о загрузке, потому что каталог / boot был установлен для другого пользователя, кроме root: root

Теперь я вошел в ssh и побежал find / -user 'teamspeak' чтобы увидеть файлы с неправильным набором пользователей, это было:

/mnt
/lib
/lost+found
/root
/etc
/lib64
/opt
/sbin
/var
/var/tmp/yum-teamspeak-6jBpFg
/usr
/boot
/home
/home/teamspeak
/home/teamspeak/.viminfo
/home/teamspeak/.bashrc
/home/teamspeak/.bash_profile
/home/teamspeak/.bash_logout
/home/teamspeak/.bash_history
/srv
/selinux
/tmp
/bin
/media

Это не так много измененных файлов / папок, и результат, похоже, также включает подкаталоги. Поэтому я сравнил их с другой машиной с такой же ОС (CentOS 6), все они должны были быть root: root, я изменил их обратно, я перезагрузился, и все началось нормально.

Пфью :)

Если у вас нет резервной копии, единственное решение, которое приходит мне в голову, - это переустановить сервер и никогда больше не запускать эту команду: D

Вы по-прежнему можете загрузиться с компакт-диска, смонтировать диск и восстановить нужные файлы.