Tin tức và phân tích của tất cả các thiết bị di động

Cách sử dụng lệnh Sudo trong Linux (kèm ví dụ)

Bạn đã bao giờ thử thực thi một lệnh trên hệ thống Linux của mình và nhận được lỗi “Quyền bị từ chối” chưa? Giải pháp đơn giản nhất để khắc phục lỗi này là sử dụng lệnh “sudo”. Trong bài viết này, chúng ta sẽ đi sâu vào thế giới của sudo và khám phá chức năng của nó để khắc phục lỗi “Permission Denied” khét tiếng trong Linux. Chúng ta sẽ tìm hiểu cách sử dụng lệnh sudo trong Linux cùng với một số ví dụ tại đây.

Đặc quyền người dùng trong Linux

Trước khi chúng ta tiếp tục, điều quan trọng là phải tìm hiểu về đặc quyền của người dùng trong Linux. Cách thức hoạt động bảo mật của Linux là giới hạn các đặc quyền giữa những người dùng. Có ba loại người dùng trong Linux:

  • Siêu người dùng: Họ có mức độ bảo mật cao nhất vì họ có thể thực thi bất kỳ lệnh nào cũng như mở và sửa đổi bất kỳ tệp nào trong hệ thống.
  • Người dùng thông thường: Những loại người dùng này có quyền truy cập hạn chế vào hệ thống, điều đó có nghĩa là họ được phép truy cập một số lượng tệp và lệnh giới hạn để thực thi.
  • Người dùng không đăng nhập: Những người dùng này không có shell đăng nhập cũng như không có thư mục chính. Chúng chỉ được sử dụng để thực thi một số dịch vụ như tạo bản sao lưu hoặc cập nhật hệ thống.

Nếu bạn cần tìm hiểu thêm về quyền trong Linux, hãy xem hướng dẫn mở rộng của chúng tôi về quyền đối với tệp Linux.

Lệnh Sudo trong Linux là gì

Bây giờ bạn đã biết rằng người dùng root nắm giữ toàn bộ quyền quản trị của hệ thống Linux, bạn có thể tự hỏi liệu mình có thể cấp quyền quản trị cho tất cả người dùng hay không. Chà, điều này có thể dẫn đến một thảm họa hoàn toàn dẫn đến nhiều rủi ro bảo mật khác nhau trong hệ thống.

Đây là lúc lệnh sudo trong Linux phát huy tác dụng. sudo là viết tắt của “Siêu người dùng làm” và cho phép quản trị viên hệ thống cấp các quyền cụ thể cho nhiều người dùng hệ thống khác nhau, cho phép họ chỉ chạy các tác vụ quản trị cụ thể. Do đó, nó cung cấp một cách tiếp cận chính xác và có kiểm soát hơn nhiều để quản lý đặc quyền người dùng.

Cách sử dụng lệnh sudo trong Linux

Với các chức năng của sudo đã sẵn sàng, bây giờ chúng ta hãy xem cách sử dụng lệnh sudo trong Linux. Quản lý đặc quyền người dùng bằng lệnh sudo khá đơn giản:

1. Cấp quyền truy cập Sudo cho người dùng

Đặc quyền hệ thống của người dùng được lưu trữ trong tệp ‘/etc/sudoers’. Tệp này là tệp cấu hình chứa một bộ quy tắc xác định từng người dùng hoặc nhóm được phép chạy các lệnh có quyền truy cập sudo. Thực hiện theo các bước sau để cấp quyền truy cập sudo cho người dùng:

  • Mở một phiên cuối. Đảm bảo rằng bạn có quyền truy cập sudo để sửa đổi các tệp sudoers.
  • Chạy lệnh này để mở và chỉnh sửa tệp sudoers:
sudo visudo
  • Khi tệp sudoers được mở, hãy cuộn xuống phần có tên “# Đặc tả đặc quyền người dùng”. Thêm một mục mới trong phần này với cú pháp sau –
<username>     <hosts>=(<users>:<groups>) <commands>

Đây là ý nghĩa của cú pháp trên:

  1. Thay thế bằng tên tài khoản của người dùng mà bạn muốn cấp quyền truy cập.
  2. đề cập đến cái nào máy chủ người dùng sẽ có quyền truy cập vào.
  3. giới thiệu tới người dùng người dùng có thể chuyển sang.
  4. biểu thị các nhóm mà người dùng có thể chạy các lệnh dưới dạng.
  5. đề cập đến cái nào lệnh người dùng có thể chạy.

Ví dụ: nếu bạn muốn thêm vẹt người dùng vào nhóm sudoers và biến nó thành một phần của tất cả người dùng và nhóm (cũng có quyền truy cập vào tất cả các lệnh), lệnh sẽ giống như sau:

user    ALL=(ALL:ALL) ALL

Lưu các thay đổi được thực hiện đối với tệp sudoers và thoát khỏi trình chỉnh sửa. Note: Hãy hết sức cẩn thận với người mà bạn cấp quyền truy cập sudo và chỉ cấp quyền truy cập cho những người dùng cần quyền quản trị.

2. Lệnh Sudo: Cú pháp và tùy chọn

Khi bạn đã cấp quyền truy cập sudo cho người dùng, giờ đây họ có thể chạy các lệnh Linux Terminal với tư cách là người dùng sudo. Cú pháp sử dụng lệnh sudo trong Linux là:

sudo <options> <command>

Một số tùy chọn phổ biến để ghép nối với lệnh sudo là:

Tùy chọnMô tả
-bChạy ở chế độ nền
-g nhómChạy lệnh với nhóm được chỉ định làm nhóm chính
-NTránh nhắc người dùng nhập bất kỳ loại nào
-p dấu nhắcSử dụng lời nhắc mật khẩu tùy chỉnh với các chuỗi thoát tùy chọn
-uChạy lệnh với tư cách người dùng không phải người dùng mặc định (thường là root)

Lệnh Sudo trong Linux: Ví dụ

Bây giờ bạn đã quen với cú pháp cơ bản, chúng ta hãy xem một số ví dụ về cách sử dụng lệnh sudo để bảo mật Linux hiệu quả.

Chạy lệnh với tư cách là người dùng Root

Để chạy lệnh với tư cách người dùng root, chỉ cần thêm sudo trước lệnh:

sudo <command>

Ví dụ: để chạy lệnh whoami với tư cách là người dùng root:

sudo whoami

Thực thi lệnh với tư cách người dùng khác

Để chạy lệnh với tư cách người dùng khác, hãy sử dụng cờ -u với sudo:

sudo -u <username> <command>

Ví dụ: để chạy lệnh whoami với tư cách là người dùng “người dùng”, hãy sử dụng lệnh này:

sudo -u user whoami

Thực thi một chương trình ở chế độ nền

Chạy lệnh ở chế độ nền có nghĩa là lệnh sẽ không đưa ra kết quả nào trong khi hoàn tất quá trình thực thi ở chế độ nền. Để thực thi một chương trình ở chế độ nền, hãy sử dụng cú pháp sau:

sudo -b <command>

Ví dụ: để mở một phiên bản Vim, hãy sử dụng lệnh sudo như:

sudo -b vim

Khắc phục sự cố lệnh Sudo cơ bản

Với sức mạnh lớn đến trách nhiệm lớn. Lệnh sudo có thể giúp cải thiện đáng kể quy trình làm việc Linux của bạn. Tuy nhiên, đôi khi bạn có thể gặp phải một số vấn đề khi sử dụng lệnh sudo. Dưới đây là một số mẹo khắc phục sự cố cho các sự cố lệnh Sudo phổ biến mà bạn có thể gặp phải:

1. Lỗi cú pháp: Đây là vấn đề Sudo phổ biến nhất mà người dùng gặp phải. Luôn luôn sử dụng lệnh “visudo” để chỉnh sửa các tệp sudoers nhằm ngăn chặn bất kỳ cú pháp nào có thể xâm nhập.

2. Quyền không chính xác: Luôn kiểm tra kỹ xem tệp sudoers có thuộc quyền sở hữu của root hay không và các quyền đọc và ghi chỉ được đặt cho root.

3. Khóa máy: Luôn chuẩn bị sẵn shell gốc đề phòng trường hợp xảy ra hiện tượng khóa hệ thống khi bạn sửa đổi tệp sudoers sai cách.

Thực tiễn tốt nhất về lệnh Sudo

Một số phương pháp hay nhất được khuyến nghị nên thực hiện với lệnh sudo trong Linux:

1. Thường xuyên xem xét và cập nhật file sudoers: Thường xuyên xem lại tệp sudoers để đảm bảo quyền chỉ được cấp cho người dùng đáng tin cậy. Xóa các mục lỗi thời hoặc các mục không xác định để giảm thiểu các mối đe dọa bảo mật.

2. Sử dụng mật khẩu mạnh: Luôn sử dụng mật khẩu mạnh kết hợp chữ thường, chữ hoa, số và ký tự đặc biệt. Ngoài ra, tránh sử dụng các mật khẩu phổ biến như tên người dùng hoặc ngày sinh của bạn.

3. Theo dõi nhật ký sudo: Thường xuyên theo dõi hoạt động sudo thông qua nhật ký sudo và báo cáo mọi hoạt động độc hại hoặc chưa xác định cho cơ quan chức năng thích hợp.

4. Luôn cập nhật và sao lưu hệ thống: Thường xuyên sao lưu hệ thống cập nhật mới nhất. Cập nhật định kỳ có thể giúp khắc phục một số lỗi nghiêm trọng và bản vá bảo mật.

Mục lục