Lệnh sudo trong Linux

Giới thiệu

Trong lab này, bạn sẽ tìm hiểu về mục đích và tầm quan trọng của lệnh sudo trong Linux. Lệnh sudo cho phép người dùng thực thi các lệnh với đặc quyền bảo mật của một người dùng khác, thường là siêu người dùng hoặc người dùng root. Điều này rất cần thiết cho các tác vụ systemadmin, vì nó cho phép người dùng thực hiện các hành động yêu cầu quyền nâng cao, chẳng hạn như cài đặt phần mềm, sửa đổi cấu hình hệ thống hoặc truy cập các tài nguyên được bảo vệ, đồng thời duy trì tính bảo mật của hệ thống. Bạn sẽ khám phá cách sử dụng lệnh sudo, tìm hiểu cách quản lý quyền của người dùng và hiểu tầm quan trọng của việc sử dụng sudo đúng cách để bảo mật hệ thống Linux của bạn.

Tìm hiểu Mục đích và Tầm quan trọng của Lệnh sudo

Trong bước này, bạn sẽ tìm hiểu về mục đích và tầm quan trọng của lệnh sudo trong Linux. Lệnh sudo cho phép người dùng thực thi các lệnh với đặc quyền bảo mật của một người dùng khác, thường là siêu người dùng hoặc người dùng root.

Lệnh sudo rất cần thiết cho các tác vụ systemadmin, vì nó cho phép người dùng thực hiện các hành động yêu cầu quyền nâng cao, chẳng hạn như cài đặt phần mềm, sửa đổi cấu hình hệ thống hoặc truy cập các tài nguyên được bảo vệ. Bằng cách sử dụng sudo, người dùng có thể duy trì tính bảo mật của hệ thống trong khi vẫn có thể thực hiện các tác vụ cần thiết.

Hãy bắt đầu bằng cách khám phá lệnh sudo và hiểu cách sử dụng nó.

Đầu tiên, hãy kiểm tra người dùng hiện tại và quyền của họ:

whoami
id

Ví dụ đầu ra:

labex
uid=1000(labex) gid=1000(labex) groups=1000(labex),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lxd),128(lxcfs),129(lxd-client)

Như bạn có thể thấy, người dùng hiện tại labex là thành viên của nhóm sudo, điều này có nghĩa là họ có khả năng sử dụng lệnh sudo.

Bây giờ, hãy thử thực thi một lệnh yêu cầu quyền nâng cao, chẳng hạn như cập nhật các gói hệ thống:

sudo apt-get update

Ví dụ đầu ra:

[sudo] password for labex:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
...

Lưu ý rằng lệnh sudo nhắc nhập mật khẩu của người dùng trước khi thực thi lệnh. Đây là một biện pháp bảo mật để đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể thực hiện các hành động với quyền nâng cao.

Lệnh sudo rất quan trọng để duy trì tính bảo mật và toàn vẹn của một hệ thống Linux. Bằng cách cấp cho người dùng cụ thể khả năng thực thi các lệnh với quyền root, các systemadmin có thể kiểm soát và giám sát các hành động được thực hiện trên hệ thống, giảm nguy cơ sửa đổi trái phép hoặc vô tình.

Trong bước tiếp theo, bạn sẽ tìm hiểu cách quản lý quyền của người dùng với lệnh sudo.

Quản lý Quyền của Người dùng với sudo

Trong bước này, bạn sẽ tìm hiểu cách quản lý quyền của người dùng bằng lệnh sudo. Hiểu quyền của người dùng là rất quan trọng để duy trì tính bảo mật và toàn vẹn của hệ thống Linux của bạn.

Hãy bắt đầu bằng cách tạo một tài khoản người dùng mới:

sudo useradd -m newuser

Bây giờ, hãy xác minh quyền của người dùng mới:

sudo id newuser

Ví dụ đầu ra:

uid=1001(newuser) gid=1001(newuser) groups=1001(newuser)

Như bạn có thể thấy, người dùng mới newuser đã được tạo, nhưng họ không có bất kỳ quyền đặc biệt nào. Để cấp cho newuser quyền truy cập để thực thi các lệnh với quyền nâng cao, chúng ta cần thêm họ vào nhóm sudo.

sudo usermod -aG sudo newuser

Bây giờ, hãy xác minh lại quyền của người dùng:

sudo id newuser

Ví dụ đầu ra:

uid=1001(newuser) gid=1001(newuser) groups=1001(newuser),27(sudo)

Đầu ra cho thấy rằng newuser đã được thêm vào nhóm sudo, điều này có nghĩa là giờ đây họ có thể thực thi các lệnh với quyền nâng cao bằng lệnh sudo.

Hãy kiểm tra quyền của người dùng mới bằng cách yêu cầu họ chạy một lệnh yêu cầu quyền truy cập sudo:

sudo -u newuser apt-get update

Ví dụ đầu ra:

[sudo] password for newuser:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
...

Lưu ý rằng lệnh sudo nhắc newuser nhập mật khẩu của họ trước khi thực thi lệnh. Đây là một biện pháp bảo mật để đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể thực hiện các hành động với quyền nâng cao.

Trong bước tiếp theo, bạn sẽ tìm hiểu cách bảo mật hệ thống của mình bằng cách sử dụng sudo đúng cách.

Bảo mật Hệ thống của bạn với Việc Sử dụng sudo Đúng cách

Trong bước cuối cùng này, bạn sẽ tìm hiểu cách bảo mật hệ thống Linux của mình bằng cách sử dụng lệnh sudo đúng cách.

Mặc dù lệnh sudo là một công cụ mạnh mẽ, nhưng điều quan trọng là phải sử dụng nó một cách thận trọng để duy trì tính bảo mật của hệ thống. Dưới đây là một số phương pháp hay nhất để sử dụng sudo một cách an toàn:

  1. Hạn chế quyền truy cập sudo: Tránh cấp quyền truy cập sudo cho tất cả người dùng. Thay vào đó, chỉ cấp quyền sudo cho những người dùng cần thực hiện các tác vụ quản trị.
sudo usermod -aG sudo authorized_user
  1. Sử dụng lệnh sudo một cách thận trọng: Khuyến khích người dùng chỉ sử dụng sudo khi cần thiết và tránh chạy các lệnh không cần thiết với quyền nâng cao.

  2. Cấu hình thời gian chờ sudo: Theo mặc định, sudo lưu trữ thông tin xác thực của người dùng trong một khoảng thời gian nhất định, cho phép họ chạy nhiều lệnh mà không cần nhập lại mật khẩu. Bạn có thể định cấu hình thời gian chờ để cải thiện tính bảo mật:

sudo visudo

Thêm dòng sau vào tệp:

Defaults timestamp_timeout=5

Điều này đặt thời gian chờ thành 5 phút. Điều chỉnh giá trị khi cần thiết để cân bằng giữa bảo mật và sự tiện lợi.

  1. Kiểm tra việc sử dụng sudo: Giám sát và xem xét việc sử dụng lệnh sudo trên hệ thống của bạn. Bạn có thể sử dụng tệp nhật ký sudo để theo dõi hoạt động sudo:
sudo tail -n 20 /var/log/auth.log
  1. Triển khai xác thực đa yếu tố: Cân nhắc triển khai xác thực đa yếu tố (MFA) cho quyền truy cập sudo để tăng thêm một lớp bảo mật.

Bằng cách tuân theo các phương pháp hay nhất này, bạn có thể giúp đảm bảo rằng lệnh sudo được sử dụng một cách an toàn và hệ thống Linux của bạn vẫn được bảo vệ khỏi truy cập hoặc lạm dụng trái phép.

Tóm tắt

Trong lab này, trước tiên bạn đã tìm hiểu về mục đích và tầm quan trọng của lệnh sudo trong Linux. Lệnh sudo cho phép người dùng thực thi các lệnh với đặc quyền bảo mật của một người dùng khác, thường là siêu người dùng hoặc người dùng root. Điều này rất cần thiết cho các tác vụ systemadmin, vì nó cho phép người dùng thực hiện các hành động yêu cầu quyền nâng cao, chẳng hạn như cài đặt phần mềm hoặc sửa đổi cấu hình hệ thống, đồng thời duy trì tính bảo mật của hệ thống. Bạn cũng đã khám phá cách sử dụng lệnh sudo và hiểu các biện pháp bảo mật đang được áp dụng, chẳng hạn như yêu cầu nhập mật khẩu của người dùng trước khi thực thi một lệnh với quyền nâng cao.

Tiếp theo, bạn sẽ tìm hiểu cách quản lý quyền của người dùng với sudo và bảo mật hệ thống của mình bằng cách sử dụng sudo đúng cách.

400+ câu lệnh phổ biến trong Linux