Sudo là gì? Cấp quyền User cho Sudo, lệnh Sudo trong Linux

Ngày đăng: 06/02/2023
Tác giả: Hostingviet
Lượt xem: 1599
Theo dõi:

Sudo là gì? Lệnh Sudo trong Linux như thế nào. Những chia sẻ sau của Hosting Việt về sudo là gì và cách tạo user mới có quyền truy cập sudo trong linux sẽ giúp bạn hiểu thêm về “câu thần chú ngầm” này. Hãy xem ngay bài viết để nắm thêm thông tin nhé!

Sudo là gì?

Sudo là từ viết tắt của “substitute user do“, hay “super user do”. Đây là một chương trình của Linux. Nó cho phép user chạy chương trình với những đặc quyền bảo mật của user khác trong Linux (thường là root user).

Những hoạt động mà sudo làm cực kỳ quan trọng đối với các bản phân phối của Linux. Vì thế, dù bạn đang sử dụng bản phân phối nào của Linux thì cũng đến lúc nên tận dụng các lợi thế mà sudo mang lại.

sudo la gi

Lệnh Sudo trong Linux

Dưới đây là một số lệnh Sudo trong Linux được biểu diễn một cách súc tích và hấp dẫn:

  • Thêm quyền Poweroff

## Allow root to run any commands anywhere
root ALL=(ALL) ALL

user localhost= NOPASSWD: /sbin/poweroff

  • Cho phép User tắt máy mà không cần xác nhận mật khẩu

user localhost= NOPASSWD: /sbin/shutdown

  • Cho phép thực hiện lệnh nào đó trong /usr/bin

user linux01 = /usr/bin/*

  • Cho phép thực hiện nhiều lệnh với quyền Root

user ALL=(root) /sbin/shutdown, /bin/kill, /etc/init.d/httpd

Lưu ý: Các lệnh Sudo trong Linux đều cần được sử dụng một cách cẩn thận để tránh nguy cơ bảo mật. Việc cấu hình đúng và hiểu rõ về quyền hạn là rất quan trọng.

Sự khác biệt giữa sudo trong linux và su

Sudo có thể khởi động một cửa sổ mới của quyền Root. Với bảng phân phối Linux, người dùng có thể đăng nhập với tư cách ngưởi sử dụng Root bằng cách gõ lệnh Su. Từ đó, người dùng đăng nhập account, password của tài khoản Root và truy cập tài khoản của người dùng bằng cửa sổ Terminal. 

Sudo chỉ chạy dòng lệnh khi được Root cho phép. Tức là, khi chạy Sudo, bạn cần nhập thông tin về tài khoản, mật khẩu mới có thể chạy câu lệnh như người dùng Root. Bên cạnh đó, để xác nhận quyền của các User, Sudo còn dùng file config (/ etc / sudoers).  

Từ đó có thể thấy, sự khác nhau giữa Su và Sudo trong Linux đó là:

  • Su: Người dùng bắt buộc phải chia sẻ Root Password với User khác. Su khởi động cửa sổ Shell mới.
  • Sudo: Để chạy câu lệnh của hệ thống, người dùng sẽ sử dụng tài khoản của mình. Ngược lại với Su, Sudo không khởi động bất cứ Sheet mới nào.

sudo la gi

Sử dụng sudo trong các distro linux

Ubuntu là bản phân phối linux đầu tiên sử dụng mặc định sudo (sudo Ubuntu). Khi người dùng cài đặt Ubuntu thì tài khoản root cũng tự động tạo và không có password. Vì thế, bạn cần phải tạo password cho tài khoản thì mới có thể login vào root. Với Ubuntu và các bản distro trên nền Debian, người dùng phải ghi nhớ password. Theo cách này, Ubuntu cũng khuyến khích người dùng tránh đăng nhập vào root. Còn trên nền tảng Fedora, người dùng phải tạo password khác nhau cho tài khoản của mình và tài khoản root. 

Thực tế cũng cho thấy có cách kết hợp khá thú vị giữa sudo và su khiến người dùng Linux vô cùng thích thú. Đó là, sudo yêu cầu password, sau khi nhập xong thì nó sẽ chạy câu lệnh như người dùng root. Tiếp đến, để chạy câu lệnh đơn với quyền root thì bạn sử dụng cú pháp “su -c "command"”.

Tại sao sudo lại thần thánh đến vậy?

Sudo là cách tốt nhất và an toàn nhất để nâng cao các đặc quyền. Theo cách thông thường, “su” sẽ yêu cầu bạn nhập roor password và cung cấp cho bạn lời nhắc superuser, được biểu thị bằng ký hiệu #.

Biểu tượng # đó có nghĩa là “NGUY HIỂM! BẠN ĐANG ĐĂNG NHẬP ROOT!”

- Command đầu tiên của bạn có thể diễn ra tốt đẹp. Nhưng nếu bạn hay quên mà vẫn đăng nhập quyền root?

- Một lỗi đánh máy và bạn đã xoá bỏ mọi thứ. => Web server và cả business của bạn sẽ biến mất hoàn toàn 

- Với lệnh sudo, bạn phải nhập vào sudo trước mỗi command.

=> Do đó, bạn không cần phải nhớ quay lại chế độ người dùng thông thường và sẽ ít xảy ra sai sót. 

Cách cấu hình cho phép user dùng lệnh sudo trong linux

Để có thể cấu hình và cấp quyền sudo cho user trong Ubuntu, bạn đăng nhập với tư cách user root.

- Bước 1: Dùng lệnh “adduser ” để tạo user vào hệ thống.

- Bước 2: Dùng lệnh “passwd ” để cập nhật password cho user vừa tạo.

Lưu ý: mật khẩu phải đủ mạnh theo yêu cầu và bạn cũng được đề nghị thực hiện xác nhận lại mật khẩu.

- Bước 3: Dùng lệnh “usermod -aG wheel username” để thêm user vừa khởi tạo vào nhóm wheel.

- Bước 4: Kiểm tra user sử dụng lệnh sudo được chưa, bằng cách nhập lệnh sau:

su -

sudo ls –la

Cách cấp quyền sudo cho user trong Ubuntu

- Bước 1: Dùng lệnh “adduser ” để tạo user.

Trên Ubuntu hay Debian thì không cần thiết lập password mà lệnh adduser sẽ kiêm nhiệm luôn việc hỏi mật khẩu người dùng.

- Bước 2: Dùng lệnh “adduser sudo” để thêm tài khoản mới vào nhóm sudo.

- Bước 3: Kiểm tra user sử dụng lệnh sudo được chưa, bằng câu lệnh sau:

su -

sudo ls –la

sudo la gi

>>Xem thêm: Cách xóa Memcached trên Server Linux (CentOS , Ubuntu)

Khi user đã được thêm vào nhóm thì lệnh của user được thực thi dưới quyền root. Và trong một vài trường hợp, quản trị viên giới hạn quyền root của user, chỉ cho họ dùng lệnh sudo thực hiện một số lệnh thì có thể cấu hình file visudo để phân quyền cho user.

Cách thực hiện cụ thể cho một số quyền thông dụng:

- Thêm quyền poweroff: đây là quyền dùng sudo để tắt máy. Để phân quyền này, bạn dùng câu lệnh sau.

## Allow root to run any commands anywhere

root All=(All) All

user localhost= NOPASSWD: /sbin/poweroff

- Cấu hình cho user dùng lệnh sudo: cấu hình cho phép user dùng lệnh sudo để thực hiện toàn bộ lệnh hay chỉ vài lệnh của user root.

  • Cho phép thực hiện nhiều lệnh với quyền roof:  

user ALL=(root) /sbin/shutdown, /bin/kill, /etc/init.d/httpd.

  • Cho phép user tắt máy không cần xác nhận mật khẩu: 

user localhost= NOPASSWD: /sbin/shutdown.

  • Cho phép user thực hiện bất kỳ một lệnh nào đó trong /usr/bin:

 user linux01 = /usr/bin/*

Trên đây là chia sẻ của Hosting Việt về sudo là gì cũng như cách tạo và thiết lập quyền sudo linux cho user mới. Mặc dù chỉ là những thông tin cơ bản về sudo nhưng nếu nắm vững và áp dụng chúng, bạn sẽ thấy được tính ứng dụng hiệu quả của lệnh này. Nếu có thắc mắc gì bạn hãy để lại bình luận bên dưới nhé! 

Bài viết liên quan
 
 
2023/12/22

GNU là gì? Những Kiến thức cần biết về hệ điều hành GNU Linux

GNU/Linux là một hệ điều hành mã nguồn mở phát triển dựa trên nhân Linux và bộ công cụ GNU, tạo nên một m&...
Tác giả:
Đọc thêm
 
 
2023/11/22

Mua Tên Miền Và Hosting Như Thế Nào? Hướng Dẫn Chi Tiết

Mua Tên Miền Và Hosting Ở Đâu Tốt Nhất? Gợi Ý Đơn Vị Cung Cấp Gói Hosting Và Tên Miền Uy Tín I. Hướng dẫn c&a...
Tác giả:
Đọc thêm
 
 
2023/02/06

Top 13+ Web Hosting Miễn Phí Tốt Nhất Cho Trang Web Của Bạn

Tìm hiểu về Web hosting miễn phí Web hosting là một không gian của máy chủ giúp cài đặt những dịch vụ internet như w...
Tác giả:
Đọc thêm
 
 
2023/02/06

Có Nên Mua Hosting Tại Việt Nam Thay Vì Mua Host Nước Ngoài?

  Chính sách hỗ trợ đặc biệt chỉ có tại HostingViet.vn HostingViet là đơn vị duy nhất hỗ trợ Khách hàng ...
Tác giả:
Đọc thêm
 
 
2023/02/06

Cách Kiểm Tra Hosting Của Website: Đặt Ở Đâu, Thông Tin, Dung Lượng

  Cách kiểm tra Hosting của website Dưới đây, chúng tôi sẽ hướng dẫn bạn cách kiểm tra hosting của website ở đâu v&agra...
Tác giả:
Đọc thêm
 
 
2023/02/06

Cài Đặt Wordpress Trên cPanel: Hướng Dẫn Cực Chi Tiết Từ A - Z

Khái niệm WordPress WordPress rất phổ biến trong cộng đồng lập trình cũng như người xây dựng website. Đây là một hệ thống quản l&ya...
Tác giả:
Đọc thêm