Khắc phục: không tìm thấy lệnh sudo

Nếu bạn là một người dùng Linux có kinh nghiệm, thì có thể bạn sẽ thấy một lỗi lệnh sudo not found cực kỳ khó chịu. Nhiều khả năng bạn đã quen với việc đặt sudo trước bất kỳ lệnh nào bạn cần quyền truy cập quản trị viên đặc quyền. Điều này đúng gấp đôi nếu bạn là người dùng Ubuntu hoặc bất kỳ dẫn xuất nào của nó vì các hệ điều hành này mặc định băm tài khoản gốc, do đó đòi hỏi bạn phải sử dụng sudo khá thường xuyên.

Bản thân lệnh sudo không được bao gồm trong một số bản phân phối của Linux theo mặc định, thường bao gồm các bản phân phối hướng tới quản lý Web và bộ định tuyến. Nó cũng không có trong nhiều phiên bản của hệ điều hành BSD. May mắn thay, không khó để đăng nhập với quyền root và sau đó cài đặt gói riêng lẻ.

Phương pháp 1: Sửa lỗi không tìm thấy lệnh sudo trên GNU / Linux

Rất ít khả năng bạn đang sử dụng bản phân phối Linux không đi kèm với sudo, nhưng nếu bạn nhập một cái gì đó như sudo fdisk -l và chỉ push enter để tìm thì bạn gặp lỗi như sudo: command not found hoặc ash: sudo: không tìm thấy lệnh tùy thuộc vào việc bạn đang sử dụng trình bao bash hay Almquist, bạn có thể đang sử dụng một trình không có nó. Trong ví dụ của chúng tôi, chúng tôi thiết lập một máy ảo và cố gắng sử dụng sudo rm để xóa các tệp chỉ để gặp lỗi. Gõ whereis sudo để xem nếu điều đó cho bạn biết liệu nó được cài đặt ở đâu đó. Nếu bạn chỉ nhận được sudo: dưới dạng phản hồi từ lệnh đó, thì có thể bạn chưa cài đặt nó.

Bạn sẽ cần phải đăng nhập với tư cách là người dùng root để sửa lỗi không tìm thấy lệnh sudo, điều này rất khó vì bạn không có sudo trên hệ thống của mình để bắt đầu. Nhấn giữ Ctrl, Alt và F1 hoặc F2 để chuyển sang thiết bị đầu cuối ảo. Gõ root, nhấn enter rồi nhập mật khẩu cho người dùng root ban đầu. Bạn sẽ nhận được ký hiệu # cho dấu nhắc lệnh.

Nếu bạn có hệ thống dựa trên trình quản lý gói apt, hãy nhập apt-get install sudo và nhấn enter. Những người có hệ thống RPM yum dựa trên Fedora hoặc Red Hat Linux có thể sử dụng lệnh quản lý gói yum install sudo . Đồng ý với lời nhắc và sau đó đợi cài đặt. Nó sẽ rất nhanh chóng, nhưng bạn sẽ cần truy cập mạng để nó hoạt động.

Bây giờ từ dấu nhắc gốc gõ visudo và nhấn enter. Bạn sẽ nhận được một màn hình biên tập nano hoặc vi. Tất cả các cách ở cuối tệp bao gồm một dòng có tên người dùng của bạn theo sau là ALL = (TẤT CẢ) TẤT CẢ, hãy nhớ rằng tên người dùng của bạn có nhiều khả năng hơn trong trường hợp viết thường. Vì thế:

người dùng ALL = (TẤT CẢ) TẤT CẢ

Nếu bạn đang làm việc với vi, hãy nhấn Esc và gõ: wq để thoát. Những người sử dụng GNU nano nên giữ Ctrl và O để lưu tệp, sau đó nhấn Ctrl và X để thoát. Gõ exit tại lời nhắc và bây giờ bạn có thể sử dụng sudo như bình thường. Sẽ chỉ mất một vài lệnh rất đơn giản để khắc phục sự cố này, nhưng may mắn thay, với việc đưa sudo vào hầu hết các bản phân phối hiện đại, nó không có xu hướng trở thành vấn đề nữa. * Người dùng BSD có xu hướng gặp vấn đề lớn hơn.

Phương pháp 2: Sửa lỗi không tìm thấy lệnh sudo trên FreeBSD và các liên kết khác

Mặc dù hệ điều hành BSD thường đi kèm với su, nhưng chúng hiếm khi đi kèm với lệnh sudo thực sự. Đảm bảo rằng bạn đã đăng xuất khỏi tài khoản người dùng của mình và hiện đang ở màn hình đăng nhập Unix. Nhập root làm tên người dùng, sau đó nhấn enter, sau đó nhập mật khẩu gốc và nhấn enter lần nữa.

Bạn sẽ có một octothorpe trong lời nhắc của bạn để cho biết rằng bạn đang chạy với tư cách là một người dùng đặc quyền. Để thêm gói nhị phân cho sudo, hãy nhập pkg_add -rv sudo và nhấn enter. Đồng ý cài đặt nếu được yêu cầu và sau đó chờ cài đặt. Sau khi nó được cài đặt, hãy nhập visudo và nhấn enter. Giả sử bạn muốn cho phép người dùng có tên billy thực thi bất kỳ lệnh nào. Thêm dòng sau vào cuối tệp:

billy ALL = (TẤT CẢ) TẤT CẢ

Tất nhiên, bạn sẽ muốn thay thế billy bằng tên người dùng thực của mình. Nếu visudo thực sự sử dụng vi, hãy đẩy Esc và gõ: wq để thoát khỏi trình chỉnh sửa. Bạn có thể đăng xuất và sau đó sử dụng sudo như bình thường.