Vô tình sửa đổi .bashrc và bây giờ tôi không thể đăng nhập mặc dù nhập mật khẩu chính xác


23

Tôi đã làm rối tung thời gian lớn với tệp bashrc. Tôi đã cài đặt Gurobi và tôi phải đặt các biến đường dẫn trong tệp bashrc. Vì vậy, tôi đã thay thế tất cả văn bản trong bashrc bằng các biến đường dẫn và lưu tệp bashrc. Và tôi cũng đảm bảo, nếu có bất cứ điều gì xấu xảy ra, tôi có một bản sao lưu của tập tin này. Tệp sao lưu chưa sửa đổi ban đầu nằm trong thư mục Tải xuống.

Bây giờ khi tôi khởi động lại hệ thống, tôi không thể đăng nhập mặc dù đã cung cấp mật khẩu phù hợp. Do đó, tôi muốn nhờ bạn giúp đỡ. Loại sửa lỗi nào có thể xảy ra với thực tế là tôi vẫn có tệp bashrc trong thư mục Tải xuống


1
sử dụng cứu hộ grub hoặc một phiên trực tiếp để sao chép nó từ thư mục tải xuống sai.
Rinzwind

bạn có thể vui lòng giải thích đề nghị của bạn? Tôi vẫn là một người mới bắt đầu khi nói đến ubuntu
crypto

1
Bây giờ bạn đã khiến tôi tự hỏi điều gì đã xảy ra với tùy chọn fail-safe đã từng tồn tại trên màn hình đăng nhập cho loại kịch bản này.
kasperd

3
Tại sao không đăng nhập bằng root và sửa tệp .bashrc của người dùng của bạn?
jamesqf

3
Cách cổ điển là khởi động vào chế độ người dùng. Bạn phải làm gián đoạn bộ tải khởi động và thêm "đơn" vào dòng chỉ định kernel và tham số khởi động của bạn, như được mô tả ví dụ ở đây .
Peter - Phục hồi Monica

Câu trả lời:


38

Sử dụng LiveUSB hoặc LiveDVD.

Khởi động vào phiên trực tiếp, gắn ổ cứng của bạn và sao chép .bashrctệp gốc của bạn qua bản sửa đổi.

Sau đó, bạn có thể khởi động lại một cách an toàn (đẩy USB hoặc DVD).

Thông tin chung: Trong trường hợp bạn không có bản sao lưu .bashrctệp, bạn có thể sử dụng tệp từ liveUSB / DVD.


Tôi giả sử toàn bộ quan điểm của việc sao lưu là khi các tệp của bạn khác với các tệp mặc định từ CD cài đặt.
Dmitry Grigoryev

2
Đúng là như vậy, nhưng cũng có khả năng là bạn đã phá hỏng thứ gì đó và không biết chính xác là gì, hoặc bạn không có bản sao lưu. Đó là lý do tại sao tôi thêm vào để trả lời câu hỏi của OP cũng là thông tin chung cho bất kỳ ai có thể không có bản sao lưu;)
Michal Polovka

Chà, nếu bạn không có bản sao lưu của thứ gì đó bạn đã làm hỏng, bạn sẽ phải bắt đầu lại từ đầu. May mắn thay, OP có một.
Dmitry Grigoryev

25

Bạn sẽ có thể khởi động vào chế độ phục hồi , điều này sẽ cho phép bạn thả vào một vỏ gốc và sau đó sửa lỗi từ đó. Điều này tránh sự cần thiết phải tải xuống một hệ điều hành bổ sung.

Hướng dẫn lấy từ Ubuntu wiki:

  1. Bật máy tính của bạn.
  2. Đợi cho đến khi BIOS tải xong, hoặc gần như đã hoàn thành. (Trong thời gian này, bạn có thể sẽ thấy logo của nhà sản xuất máy tính của mình.)
  3. Bấm nhanh và giữ phím Shift, phím này sẽ hiển thị menu GNU GRUB. (Nếu bạn thấy logo Ubuntu, bạn đã bỏ lỡ điểm bạn có thể vào menu GRUB.)

  4. Chọn dòng bắt đầu bằng " Advanced options".

  5. Chọn dòng kết thúc bằng " (recovery mode)", có thể là dòng thứ hai, đại loại như:

    Ubuntu GNU/Linux, with Linux 3.8.0-26-generic (recovery mode)

  6. Nhấn Return và máy của bạn sẽ bắt đầu quá trình khởi động.

  7. Sau một lát, máy trạm của bạn sẽ hiển thị một menu với một số tùy chọn. Một trong các tùy chọn (bạn có thể cần cuộn xuống cuối danh sách) sẽ là " Drop to root shell prompt". Nhấn Return với tùy chọn này được tô sáng.

  8. Phân vùng gốc được gắn chỉ đọc. Để gắn kết nó đọc / ghi, nhập lệnh

    mount -o remount,rw /

  9. Nếu bạn có / home, / boot, / tmp hoặc bất kỳ điểm gắn kết nào khác trên một phân vùng riêng, bạn có thể gắn kết chúng bằng lệnh

    mount --all

    (Điều này phải được thực hiện theo bước 8 để có /etc/mtabthể ghi được.)

Nếu bạn không có tùy chọn khôi phục, bạn có thể nhấn etrong GRUB để chỉnh sửa tùy chọn khởi động tiêu chuẩn và thêm recoveryvào cuối linuxdòng (theo dòng thứ hai theo mặc định, ngay trước đó initrd). Sau đó nhấn F10để chạy nó.


9

Sử dụng đĩa CD trực tiếp

  1. Khởi động bằng đĩa CD / DVD trực tiếp. Trong trường hợp bạn không có iso và không muốn tải xuống iso lớn, hãy tải xuống Tiny Core - 10MB.
  2. Trên một loại dòng lệnh sudo mount /dev/sdXn /mnt, sdXnphân vùng Ubuntu của bạn.
  3. Loại cd /mnt/home/<your user name>/Downloads.
  4. Bây giờ khôi phục lại .bashrcnhư là mới của bạn .bashrcbằng cách sử dụng lệnh này mv ../.bashrc ../.bashrc_old && cp ./.bashrc ../.
  5. Bây giờ khởi động lại vào hệ thống của bạn và bạn nên đi.

8

Chèn dvd hoặc USB bạn đã sử dụng để cài đặt Ubuntu và khởi động từ nó. Chọn "dùng thử Ubuntu" và đợi nó trả về máy tính để bàn.

Kiểm tra các đĩa trong máy giặt cho cái có nhà của bạn. Nhấp vào nó gắn kết nó vào / media /

Mở một thiết bị đầu cuối và cdvào nó vào Tải xuống của bạn và sao chép tệp vào nhà của bạn. Đó sẽ là:

cd /media/home/{your_username}/Downloads/
sudo cp .bashrc ../

và khởi động lại mà không cần dvd / USB.


Tôi nhận được một cái gì đó như cp: không thể tạo tệp thông thường '../bashrc': Quyền bị từ chối. :(
crypto

ah dùng sudo! :)
Rinzwind

Đó là một câu hỏi khập khiễng. Lấy làm tiếc. Bài học kinh nghiệm! Và như bạn đề xuất, tôi chấp nhận câu trả lời của Michal. Hope thats ổn
crypto

không thành vấn đề, tôi đang ở trên 200 dù sao> :)
Rinzwind

6

Kết nối qua SFTP

Kết nối với hệ thống thông qua SFTP, từ sftplệnh tích hợp sẵn của máy Linux khác hoặc PC có WinSCP hoặc FileZilla và sửa chữa tệp. Các .bashrctập tin được thường không tham gia vào SFTP (nó có thể tinh chỉnh của bạn authorized_keystập tin để làm cho nó có liên quan, nhưng nghi ngờ bạn đã làm điều đó).


Hoặc, tương tự, kết nối với ssh dash(hoặc bất kỳ shell không bash nào khác).
Peter Taylor

5

Tôi đề nghị luôn luôn có HAI tài khoản sudo. Đây là những tài khoản có thể đóng vai trò root trong ALMOST trong mọi trường hợp, nếu bạn cung cấp mật khẩu bình thường cho tài khoản đó. Bạn tạm thời có thể hoạt động như root.

Nếu bạn vặn một tài khoản lên, bạn có thể sửa nó bằng tài khoản khác.

Tuy nhiên, có thể bạn có thể ở trong tài khoản REGULAR và 'su vít-up-sudo-account-name' nếu bạn biết mật khẩu. Sau đó, bạn sẽ đóng vai trò là tài khoản bị vặn và có thể 'sudo cp sao lưu .bashrc' sau 'dc / home / vít-up-account' Tôi bây giờ có thể mà không bị lừa, nhưng không chắc trong trường hợp cụ thể của bạn.


4

Như một số người đã nói, nhiều hơn một tài khoản "sudo" là cách tốt nhất để sử dụng. Thứ hai, nếu bạn thực hiện nhiều mod cho tệp .bashrc của mình, hãy thả một bản sao vào thẻ nhớ trước khi bạn bắt đầu mày mò, sau đó bạn không phải bắt đầu lại từ một khoảng trống, bạn có thể quay lại mục tốt nhất đã biết. tập tin bashrc mà không mất tất cả sự mày mò trước đây của bạn. Điều đầu tiên tôi từng làm khi mày mò với .bashrc hoặc .vimrc hoặc. . . bất kỳ tập tin cấu hình nào cũng tạo một bản sao vào thẻ nhớ tiện dụng của tôi trước khi tôi bắt đầu. Tôi là con người Tôi có những đứa trẻ tôi bị phân tâm lol. Tôi có một thẻ nhớ chứa đầy đủ các tệp cấu hình cho bash, vim, conky, openbox, tint2 và hơn thế nữa.


Một mẹo khác là sử dụng RCS để lịch sử phiên bản của các tệp cấu hình (chẳng hạn như bashrc, vimrc hoặc bất cứ thứ gì trong / etc).
ChuckCottrill

0

Thay vào đó, hãy đăng nhập bằng root và sử dụng bản sao lưu của bạn để sửa .bashrc của bạn như trong các câu trả lời khác.

Để đảm bảo an toàn tối ưu, đừng đăng nhập vào môi trường X Windows bình thường. Thay vào đó, nhấn control-alt-F2để đi đến bảng điều khiển văn bản và đăng nhập. Khi bạn đã khắc phục sự cố, hãy chạy exitđể đăng xuất khỏi vỏ gốc, sau đó nhấn control-alt-F7để quay lại X Windows. (Lưu ý rằng X Windows có thể trên tty1 thay vì tty7, vì vậy bạn có thể cần phải sử dụng control-alt-F1thay thế. đã làm như vậy. Thử nghiệm để tìm hiểu xem hệ thống của bạn được cấu hình theo cách nào.)


Tài khoản root bị vô hiệu hóa trong Ubuntu, vì vậy trừ khi bạn kích hoạt nó, không có cách nào để đăng nhập với quyền root.
Seth

1
@Seth Nếu bạn có quyền truy cập vào bộ tải khởi động, bạn có thể khởi động vào chế độ phục hồi và lấy shell gốc ở đó.
Bob

@Bob đúng, nhưng đó không phải là câu trả lời. Điều đó nên làm việc mặc dù.
Seth

1
@Seth Yea, tôi đã thêm câu trả lời của riêng mình với nhiều chi tiết hơn ở đó. Ồ, btw @ db48x, bình thường X11 chạy trên tty7(Ctrl + Alt + F7), không tty1.
Bob

Ôi, tôi không biết rằng họ đã vô hiệu hóa tài khoản root. Có lẽ tôi sẽ không nâng cấp một máy Ubuntu của mình sau tất cả ...
db48x

0

Mỗi lần tôi bật PC sau sự cố này, tôi được chào đón với màn hình đăng nhập ubfox thông thường ngoại trừ sau khi nhập mật khẩu, màn hình nhấp nháy trong giây lát và màn hình đăng nhập lại xuất hiện.

Tôi không biết đây có phải là vấn đề của bạn không, nhưng điều này đã xảy ra với tôi một lần. Nếu bất kỳ tệp nào được tải trên shell-start (.bashrc, .bash_profile, .profile) xuất văn bản thành thiết bị xuất chuẩn, bạn sẽ không thể đăng nhập bằng đồ họa. Bạn vẫn có thể truy cập vào một tty (ctrl + alt + f1), đăng nhập từ đó và sau đó khôi phục tệp của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.