Намного лучше использовать etckeeper вместо Вашего собственного решения собственной разработки. Существует количество глюков это адреса etckeeper приятно. Это - пакет в нескольких дистрибутивах Linux и также легко создать из источника.
Действительно хорошая функция в находящихся в Debian системах - то, что это соединяется с Кв. для автоматической фиксации прежде и после установки или обновления пакетов. Это помогает отличить изменения, Вы сделали себя из сделанными обновлениями пакета. Это также (дополнительно) делает ежедневную автоматическую фиксацию.
Если у Вас есть доступ к корневой учетной записи, можно изменить оболочку для пользователя, оттуда использующего 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
вручную.
У меня есть та же проблема, это решение работает для меня:
CARTWD ROOT
CAT ETC / SHOOLLS
Nano etc / Passwd
Удалите ссылки на рыб и поместите действительное имя консоли точки 4 При попытке войти в систему я получил следующее сообщение: Невозможно выполнить / sbin / nologin: нет такого файла или каталога
Это то, что я сделал, и у меня это сработало.
sudo chsh -u user -s $ SHELL
где пользователь - это имя учетной записи, в которой возникла проблема
Я также столкнулся с той же проблемой в Elementary OS Loki. Чтобы решить эту проблему, я выполнил следующее
mount
. Я попробовалinit=/bin/bash
и 'real_init =/bin/bash, ни один из них не работал. (3) Для метода № 3, это не может работать, поскольку у нас есть только одна учетная запись, корень, в сервере ОС. – xanpeng 08.06.2012, 13:01/etc
). Необходимо смочь к SSH в от другой машины. – Chris Down 08.06.2012, 13:52