ユーザーアカウントにログインせずにbashrcを編集する方法はありますか

ユーザーアカウントにログインせずにbashrcを編集する方法はありますか

Manjaro Linux で問題が発生しました。Android Studio を使用して、bashrc ファイルにいくつかの行を追加しました。

現在、そのユーザーにログインしようとするたびに、有効なパスワードを入力した後で停止します。間違ったパスワードを入力すると、「パスワードが間違っています」と表示され、再度ログインするように指示されます。

問題は bashrc ファイルにあると 90% 確信していますが、問題はそれを開いて編集できないことです。

私は tty に root としてログインしましたが、そこにある bashrc ファイルは私のユーザー アカウントのファイルと同じではありません。

それで、tty またはそれに似たものから bashrc を編集する方法はありますか。システムの再インストールは避けたいです。

ありがとう。

答え1

bashrcまず、あなたが何を指しているのかよく分かりません。.bashrcユーザーのホームには があり~/.bashrc、 にも が 1 つあります/etc/bash.bashrc

ユーザーのことを言っているのだと思います~/.bashrc。そうであれば、最初の部分、つまり root としてログインすることはすでにできています。その後は、ユーザーのホームに移動して、そこでファイルを編集するだけです。

~/.bashrcルートとしてログインするとルート ホームにいるので、何かを入力すると$ vi .bashrcルートのファイルを開くので、違いがわかると思います.bashrc

答え2

間違ったパスワードを入力すると、「パスワードが間違っています」と表示され、再度ログインするように指示されます。

原因は ではないかもしれません.bashrc。root としてユーザーのパスワードを変更できます。

# as root
passwd username

その後、username新しいパスワードを使用してログインしてみてください。


このフラグメントは、実際にはユーザーの に関するものである場合に備えてあります.bashrc

~username/.bashrc.bashrcのホームディレクトリのパスに展開する必要があります既存 ユーザーusername。この方法で、ファイル (例printf '%s\n' ~username/.bashrc) を見つけることができます。

ルートとして編集するのは、ファイルをその場で変更しない可能性があるため、良い考えではないかもしれません。新しいコピーが作成され、古いファイルが上書きされる可能性があります。これにより、所有権と権限が間違ってしまう可能性があります。

これは動作するはずです:

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

(nanoこれは単なる 1 つの可能性に過ぎません。お好きなエディターを使用してください)。

注: 暗号化が関係している場合は、ユーザーのホーム ディレクトリが復号化され、ユーザーがログインした後にのみマウントされる可能性があります。この場合、適切な.bashrcファイルを取得するには、追加の (暗号化関連の) 手順が必要です。

関連情報