Gibt es eine Möglichkeit, bashrc zu bearbeiten, ohne sich bei einem Benutzerkonto anzumelden?

Gibt es eine Möglichkeit, bashrc zu bearbeiten, ohne sich bei einem Benutzerkonto anzumelden?

Ich habe ein Problem mit Manjaro Linux. Ich habe mit Android Studio gearbeitet und der Bashrc-Datei einige Zeilen hinzugefügt.

Jetzt. Jedes Mal, wenn ich versuche, mich als dieser Benutzer anzumelden, bleibt er hängen, nachdem ich ein gültiges Passwort eingegeben habe. Wenn ich ein falsches eingebe, wird „Falsches Passwort“ angezeigt und ich werde aufgefordert, mich erneut anzumelden.

Ich bin zu 90 % sicher, dass das Problem in der Bashrc-Datei liegt, aber ich kann sie nicht öffnen, um sie zu bearbeiten.

Ich habe mich als Root bei tty angemeldet, aber die Bashrc-Datei dort ist nicht dieselbe wie in meinem Benutzerkonto.

Also. Gibt es eine Möglichkeit, meine Bashrc von TTY oder etwas Ähnlichem aus zu bearbeiten? Ich möchte eine Neuinstallation des Systems vermeiden.

Danke schön.

Antwort1

Erstens bin ich mir nicht ganz sicher, worauf bashrcSie sich beziehen. Es gibt ein .bashrcim Home-Bereich eines Benutzers: ~/.bashrc, es gibt auch eines in /etc/bash.bashrc.

Ich nehme an, du meinst ~/.bashrcdeinen Benutzer. Dann hast du den ersten Teil, also die Anmeldung als Root, bereits erledigt. Anschließend musst du nur noch zum Benutzer-Home navigieren und dort die Datei bearbeiten.

Ich denke, Sie sehen einen Unterschied ~/.bashrc, denn wenn Sie sich als Root anmelden, befinden Sie sich im Root-Home. Wenn Sie also einfach etwas eingeben, ist es so, als würden $ vi .bashrcSie die Root- .bashrcDatei öffnen.

Antwort2

Wenn ich ein falsches Passwort eingebe, erhalte ich die Meldung „Falsches Passwort“ und die Aufforderung, mich erneut anzumelden.

Es kann nicht sein, dass es an liegt .bashrc. Sie (als Root) können das Passwort des Benutzers ändern:

# as root
passwd username

usernameVersuchen Sie anschließend, sich mit und dem neuen Passwort anzumelden .


Dieses Fragment ist für den Fall, dass es wirklich um den Benutzer geht .bashrc.

~username/.bashrcsollte auf den Pfad .bashrcim Home-Verzeichnis desbestehendeBenutzer username. Auf diese Weise können Sie die Datei lokalisieren (z. B. printf '%s\n' ~username/.bashrc).

Das Bearbeiten als Root ist möglicherweise keine gute Idee, da die vorhandene Datei dadurch möglicherweise nicht geändert wird. Es kann eine neue Kopie erstellt und dann die alte Datei überschrieben werden. Dies kann zu falschen Eigentümern und Berechtigungen führen.

Das sollte funktionieren:

# as root
sudo -u username nano ~username/.bashrc

( nanoist nur eine Möglichkeit, verwenden Sie einen beliebigen Editor).

Hinweis: Wenn eine Verschlüsselung im Spiel ist, kann es sein, dass das Home-Verzeichnis des Benutzers erst nach der Anmeldung des Benutzers entschlüsselt und gemountet wird. In diesem Fall sind zusätzliche (verschlüsselungsbezogene) Schritte erforderlich, um an die richtige .bashrcDatei zu gelangen.

verwandte Informationen