У меня проблема с Manjaro Linux. Я работал с Android Studio и добавил несколько строк в файл bashrc.
Теперь. Каждый раз, когда я пытаюсь войти под этим пользователем, он зависает после ввода правильного пароля. Когда я ввожу неправильный, он говорит «Неправильный пароль» и предлагает мне войти снова.
Я на 90% уверен, что проблема в файле bashrc, но дело в том, что я не могу открыть его, чтобы отредактировать.
Я вошел в tty как пользователь root, но файл bashrc там не тот же, что в моей учетной записи пользователя.
Итак. Есть ли способ редактировать мой bashrc из tty или что-то подобное. Я хочу избежать переустановки системы.
Спасибо.
решение1
Во-первых, я не совсем уверен, о чем bashrc
вы говорите. Есть .bashrc
в доме пользователя: ~/.bashrc
, есть также один в /etc/bash.bashrc
.
Я полагаю, вы имеете в виду ~/.bashrc
вашего пользователя. Тогда вы уже сделали первую часть, то есть вошли в систему как root. Затем вам просто нужно перейти в домашнюю папку пользователя и отредактировать файл там.
Я думаю, вы видите разницу, ~/.bashrc
потому что когда вы входите в систему как root, вы находитесь в корневом каталоге, поэтому, когда вы просто вводите что-то, $ vi .bashrc
вы открываете файл root .bashrc
.
решение2
Когда я ввожу неправильный пароль, появляется сообщение «Неверный пароль» и мне предлагается войти в систему снова.
Это может быть не из-за .bashrc
. Вы (как root) можете изменить пароль пользователя:
# as root
passwd username
После этого попробуйте войти в систему, username
используя новый пароль.
Этот фрагмент на тот случай, если речь действительно идет о пользователе .bashrc
.
~username/.bashrc
должен расширяться до пути .bashrc
в домашнем каталогесуществующийпользователь username
. Таким образом вы можете найти файл (например printf '%s\n' ~username/.bashrc
).
Редактирование его как root может быть не очень хорошей идеей, поскольку это может не изменить файл на месте; это может создать новую копию, а затем перезаписать старый файл. Это может привести к неправильному владельцу и разрешениям.
Это должно сработать:
# as root
sudo -u username nano ~username/.bashrc
( nano
это всего лишь один из вариантов, используйте любой понравившийся вам редактор).
Примечание: если используется шифрование, то домашний каталог пользователя может быть расшифрован и смонтирован только после входа пользователя в систему. В этом случае вам потребуются дополнительные (связанные с шифрованием) действия, чтобы добраться до нужного .bashrc
файла.