Cách sửa lỗi Sudo: Command Not Found trên Linux

Các bản phân phối Linux có một số tính năng được tích hợp sẵn để đảm bảo an toàn và bảo mật hoàn toàn cho hệ thống. Trong số này, có một số liên quan đến tài khoản user. Ví dụ: theo mặc định, tài khoản user trên HĐH Linux có các đặc quyền hạn chế và không thể thực hiện một số hành động quản trị nhất định, chẳng hạn như truy cập các phần nhất định của HĐH hoặc thực thi một số file nhất định. Trên Linux, một số hành động chỉ có thể được thực hiện bởi người dùng root hoặc bạn có thể dùng lệnh “sudo” cho chúng.

Sudo trong Linux là gì? Lệnh này, viết tắt của ‘superuser do’, cho phép bạn thực hiện các hành động bằng cách cấp cho bạn các quyền cấp cơ sở. Ngoài ra, sudo là gói được cài đặt mặc định trên hầu hết các hệ thống Linux.

Tuy nhiên, nếu vừa thiết lập một hệ thống Linux mới, bạn có thể gặp phải lỗi “Sudo: Command Not Found”. Điều này khá phổ biến và bạn có thể khắc phục lỗi khá dễ dàng bằng các phương pháp khác nhau mà chúng ta sẽ thảo luận ở đây.

Tại sao bạn gặp phải lỗi ‘Sudo: Command Not Found’?

Để chạy các lệnh với tư cách là người dùng root, bạn cần có gói Sudo, được cài đặt sẵn trên hầu hết các bản phân phối Linux. Tuy nhiên, nếu bạn đang chạy Arch, Fedora, CentOS, RHEL 8 trở lên và Debian 10 trở lên, nó có thể không được cài đặt. Đây có thể là một trong những lý do khiến bạn gặp lỗi.

Quảng cáo

Một lý do khác có thể là thư mục sudo bị thiếu trong biến PATH của hệ thống. PATH đề cập đến một biến môi trường được dùng để tìm kiếm lệnh trong Linux mà không chỉ định đường dẫn đầy đủ của nó. Thư mục sudo bị thiếu có nghĩa là hệ thống của bạn không thể định vị và dùng nó.

Có hai cách để bạn có thể giải quyết các vấn đề trên. Cách đầu tiên liên quan đến việc cài đặt Sudo Package và cách thứ hai là thêm sudo vào biến PATH.

1. Cài đặt Sudo Package

Để cài đặt Sudo, bạn cần đăng xuất khỏi tài khoản người dùng của mình và đăng nhập với tư cách người dùng root. Ngoài ra, bạn có thể chỉ cần chuyển trực tiếp sang người dùng root bằng cách làm theo các bước sau.

Quảng cáo

Nhấp vào biểu tượng terminal trên bảng điều khiển để mở nó.

Khi terminal mở ra, hãy nhập sudo sutrước khi nhấn phím ‘Enter’.

Nhấn phím ‘Enter’ sẽ khiến Mint hỏi mật khẩu của bạn. Vì vậy, hãy nhập nó vào và nhấn phím ‘Enter’ lần nữa.

Bây giờ bạn có đặc quyền người dùng root. Nhập apt install sudovà nhấn phím ‘Enter’ nếu bạn đang dùng bản phân phối dựa trên Debian.

Đối với Arch Linux, lệnh là pacman -S sudo.

Đối với các bản phân phối dựa trên RHEL, hãy dùng yum install sudo.

Đối với Gentoo, gõ emerge --ask app-admin/sudo.

Điều này sẽ cài đặt Sudo Package trên hệ thống. Trong trường hợp nó đã được cài đặt, bạn sẽ nhận được một thông báo tương tự.

Tiếp theo, nhập usermod -aG sudotheo tên người dùng của bạn để thêm tài khoản người dùng của bạn vào nhóm sudo và nhấn phím ‘Enter’.

Lệnh dành cho các hệ thống dựa trên Arch, Fedora và RHEL là usermod -aG wheel username.

Bạn sẽ thấy tên người dùng của mình đã được thêm vào nhóm sudo, cho phép bạn chạy các lệnh sudo mà không gặp lỗi “Sudo: Command Not Found”.

Quảng cáo

Bây giờ tất cả những gì bạn cần làm là nhập exitvào terminal và nhấn phím ‘Enter’ để chuyển về tài khoản người dùng thông thường của bạn.

2. Thêm Sudo vào Path

Nếu sudo được cài đặt trên hệ thống Linux của bạn nhưng không hoạt động, đây là cách bạn có thể thêm nó vào biến PATH.

Mở terminal và gõ which sudotrước khi nhấn phím ‘Enter’. Điều này sẽ cho bạn thấy sudo nằm ở đâu.

Tiếp theo, gõ echo $PATHvà nhấn phím ‘Enter’ lần nữa.

Để thêm sudo vào biến PATH, hãy nhập export PATH=$PATH:/usr/binvà nhấn phím ‘Enter’. Tuy nhiên, đây là giải pháp tạm thời và sẽ ngừng hoạt động sau khi bạn đóng terminal.

Để ngăn chặn điều đó, hãy mở trình duyệt file, trình duyệt này sẽ mở trong thư mục Home của bạn theo mặc định. Dùng phím tắt Ctrl + Hđể xem các tập tin ẩn.

Xác định vị trí file .bashrc và nhấp đúp vào nó. Nó sẽ mở trong một trình soạn thảo văn bản.

Quảng cáo

Đi xuống cuối file và gõ export PATH=$PATH:usr/bin:trước khi dùng phím tắt  Ctrl + O để lưu nó.

Giờ đây khi bạn dùng “sudo” cho bất kỳ lệnh nào, chẳng hạn như cài đặt, cập nhật hoặc xóa ứng dụng, bạn sẽ không gặp phải lỗi “command not found”.


Bằng cách làm theo các cách sửa lỗi trên, bạn có thể dễ dàng khắc phục lỗi “Sudo: Command Not Found” trên Linux. Tuy nhiên, khi chuyển sang người dùng root, hãy cẩn thận khi thực hiện các hành động thông qua nó vì người dùng root có toàn quyền truy cập vào toàn bộ hệ thống. Việc dùng không đúng các đặc quyền mà người dùng root có có thể làm hỏng hệ điều hành của bạn và bạn có thể cần phải cài đặt lại toàn bộ hệ điều hành. Đó là lý do tại sao mình khuyên bạn nên chuyển về tài khoản người dùng thông thường của mình ngay sau khi bạn thêm nó vào nhóm sudo.