Если у Вас есть доступ к корневой учетной записи, можно изменить оболочку для пользователя, оттуда использующего chsh -u user -s $SHELL
.
Если у Вас есть доступ к процессу начальной загрузки, можно добавить init=$SHELL
быть отброшенным к однопользовательской оболочке, где можно зафиксировать это, снова с chsh -u user -s $SHELL
(некоторые системы с помощью двухэтапной начальной загрузки с изображением initrd могут потребовать, чтобы Вы использовали real_init
вместо этого). Необходимо будет, вероятно, повторно смонтировать файловую систему, содержащую /etc/passwd
как чтение-запись (использование mount -o remount,rw /
или подобный).
Иначе, если Вы можете su
в пользователя от другого пользователя попробовать su user -c $SHELL
, или если Вы можете ssh в пользователя, Вы могли бы попробовать что-то как ssh user@localhost $SHELL
.
Вы могли также загрузиться в живой CD/USB, смонтироваться /
и зафиксируйте /etc/passwd
вручную.
Восстановление после удаления становится все большим количеством мифа особенно с современными аппаратными средствами (SSD), где что-либо, что удалено, также обнуляется, (ОБРЕЗАЮТ) сразу же, таким образом, существует нулевой шанс возвращения чего-либо.
Ваш лучший выбор состоял бы в том, чтобы сделать изображение того, что Вы имеете прямо сейчас и затем видите, существует ли что-нибудь, чтобы быть найденным с помощью любых инструментов, Вы желаете. Что-то как:
ssh -C remoteserver dd if=/dev/theserverdisk bs=1M > local/disk.img
Лучше всего, чтобы иметь поле в спасательной системе или иначе заморозить все поле (только для чтения) для этой операции, поскольку, любой и все записи только наносят дальнейший ущерб в этой точке.
После того как изображение сделано, можно создать циклическое устройство только для чтения для него:
losetup --find --show --partscan --read-only disk.img
И затем продолжите использовать безотносительно спасательных инструментов по Вашему выбору на циклическом устройстве (устройствах).
Если у Вас есть доступ к другому Linux/Unix/OSX и т.д. машина, могло бы быть возможно использовать sshfs
смонтировать удаленную папку и назад до того (инструкции, адаптированные отсюда).
Установка sshfs
на сервере
yum install fuse sshfs
Вам, возможно, придется включить EPEL repo если не уже включенный.
Загрузите модуль FUSE (на сервере)
modprobe fuse
Выбрал каталог из Вашего домашнего компьютера, и смонтируйте это на сервере CentOS
redleon@local$ mkdir /remote_backup
Теперь, на удаленном сервере, выполняет это
mkdir /backup
sshfs root@1.2.3.4:/remote_backup /backup
Необходимо будет измениться 1.2.3.4
к фактическому IP Вашей локальной машины.
После того как это сделано, Вам смонтируют удаленную файловую систему локально, и можно попытаться работать ext4magic
и скажите этому копировать к /backup
. Я не могу гарантировать, что это будет работать, но это кажется стоящим попытки.
Вы могли попытаться использовать a tmpfs
электронный диск для восстановления. Это, конечно, требует, чтобы у Вас было достаточно свободной памяти для объема данных, который Вы хотите восстановить.
Обычно, хотя, я думаю, что ответ frostschutz попадает в точку - "восстанавливающий после удаления", редко работает. Позвольте этому быть уроком для Вас и сделать резервные копии.
файловые системы семейства "расширений" действительно поддерживают бесспорный, восстанавливают после удаления способность, которая даже иногда работает. Утилиты как следующие могут быть удобными:
http://www.mynitor.com/2010/01/19/10-tools-to-recover-deleted-files-in-linux/ http://extundelete.sourceforge.net/
(Я попробовал некоторые из них сам с разумными результатами).
Многие из вас здесь принизили жертву вместо того, чтобы ответить на вопрос. Жертва идентифицировала систему как облачную. Вместо того чтобы предполагать, что он удалил без резервной копии, почему бы не предположить, что есть резервная копия, и ему нужно восстановить каталог из резервной копии? Это то, что вы (принижающие) сделали бы, если бы вам пришлось восстанавливать удаление, не так ли?
Если ваша система размещена в системе, предоставляемой вашим интернет-провайдером, они будут делать резервные копии на регулярной основе. Вы должны задать им правильный вопрос, чтобы они поняли и правильно ответили, но вы должны иметь возможность ВОССТАНОВИТЬ или ВОССТАНОВИТЬ каталог из их резервной копии. Некоторые данные могут быть потеряны, в зависимости от времени последнего резервного копирования.
Ответ здесь зависит от того, как выполняется резервное копирование системы и как часто. Cron и Tar часто используются небольшими системами, и из-за своей простоты они также используются во многих крупных системах. Однако есть и другие инструменты.
Если это НЕ система одного человека, вероятно, есть ИТ-отдел и метод резервного копирования. ИТ-отдел может вам помочь, и вам следует обратиться к ним, а не пытаться восстановить папку / каталог самостоятельно.
Если это домашняя система, и вы ЯВЛЯЕТесь ИТ-отделом, а резервные копии выполняются строго локально, вы можете делать резервные копии с помощью CRON и TAR. Проверьте настройки CRON, чтобы узнать, куда вы помещаете свои файлы TAR. Посмотрите в tar-файле точный путь и имя:
tar -tvf <backup name>.tar
Разверните его.
tar -xvf <backup name>.tar <directory name>
Используйте man tar для получения дополнительной информации или, конечно, другой Google для tar и информации о резервных копиях.
Будущие соображения включают другие варианты резервного копирования, а также удаление типа корзины вместо реального удаления.Удаление типа корзины включает создание псевдонима для rm, который перемещает элементы в каталог с именем "trash", а не удаляет их. Затем вы очищаете его либо с помощью Cron, либо вручную, когда вам хочется, либо у вас начинает заканчиваться место.