Есть ли способ редактировать bashrc без входа в учетную запись пользователя?

Есть ли способ редактировать bashrc без входа в учетную запись пользователя?

У меня проблема с 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файла.

Связанный контент