По ошибке я выполнил глупую команду с опечаткой. Я создал пользователя «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
не является владельцем всех файлов / папок.
Думаю, у вас есть два варианта:
Проблема была исправлена, техник центра обработки данных завел ее и сказал:
машина была остановлена в 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
Вы по-прежнему можете загрузиться с компакт-диска, смонтировать диск и восстановить нужные файлы.