Sudo là gì? Các lệnh Sudo trong Linux cơ bản
25/02/2020 14:02 | Luợt xem : 37
Những câu hỏi thường gặp của người mới dùng Ubuntu là Sudo là gì? Những lệnh Sudo trong Linux? Cấp quyền Sudo cho User ra sao? Tham khảo bài viết sau đây của BKNS để rõ hơn về Sudo nhé!
Mục lục
1. Sudo là gì?
Sudo (/ˈsuːduː/ or /ˈsuːdoʊ/) là một chương trình cho các hệ điều hành tương tự Unix. Sudo 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 hệ điều hành Linux. Tức là, Sudo cho phép thành viên nào đó có thể thực hiện lệnh trong hệ thống dưới quyền của thành viên khác và không cần cấp quyền đặc biệt. Đối với các bản phân phối của Linux thì những hoạt động của Sudo cực kỳ quan trọng. Do đó, bạn nên tận dụng Sudo dù bạn đang sử dụng bất cứ bản phân phối nào của Linux.
Sudo ban đầu được gọi là “superuser do” vì các phiên bản cũ hơn của sudo được thiết kế để chỉ chạy các lệnh như superuser. Tuy nhiên, các phiên bản sau này các phiên bản sau này đã thêm hỗ trợ cho các lệnh chạy không chỉ là superuser mà còn là những người dùng khác (bị hạn chế), và do đó nó cũng thường được mở rộng thành “substitute user do“
Robert Coggeshall và Cliff Spencer đã viết hệ thống con ban đầu vào khoảng năm 1980 tại Department of Computer Science ở SUNY/Buffalo. Tính đến năm 2018 phiên bản hiện tại đang được phát triển tích cực, được duy trì bởi nhà phát triển OpenBSD Todd C. Miller và được phân phối theo giấy phép ISC-style.
Không giống lệnh Su, người dùng cung cấp mật khẩu cá nhân của họ cho sudo nếu cần. Sau khi xác thực và nếu tệp cấu hình cho phép người dùng truy cập, hệ thống sẽ gọi ra lệnh được yêu cầu dưới tư cách là superuser hoặc tài khoản được chỉ định.Theo mặc định, mật khẩu của người dùng có thể được giữ lại thông qua thời gian gia hạn 15 phút cho mỗi pseudo terminal, cho phép người dùng thực hiện một số lệnh liên tiếp như người dùng được yêu cầu mà không phải cung cấp lại mật khẩu.
2. Ưu điểm của Sudo
- Sudo cho phép nhà quản trị kiểm soát các thao tác của người dùng can thiệp đến hệ thống
- Sudo giao quyền thực thi với tiêu chí “đúng người đúng việc”
- Sudo thể hiện ưu thế khi thực thi lệnh từ xa thông qua Telnet/SSH
3. Điểm khác biệt giữa Su và Sudo là gì?
Su mang đến tính năng khởi động một cửa sổ mới của quyền Root. Với các 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. Sau đó, người dùng nhập tài khoản , mật khẩu của tài khoản Root và truy cập bằng tài khoản của người dùng khác trên 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, điểm khác biệt lớn nhất 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.
4. Các lệnh Sudo trong Linux
Các lệnh Sudo trong Linux như sau:
(1) Thêm quyền Poweroff
## Allow root to run any commands anywhere root All=(All) All user localhost= NOPASSWD: /sbin/poweroff
(2) Cho phép User tắt máy không cầu xác nhận mật khẩu
user localhost= NOPASSWD: /sbin/shutdown
(3) Cho phép thực hiện lệnh nào đó trong/usr/bin
user linux01 = /usr/bin/*
(4) 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
5. Cấp quyền Sudo cho User như thế nào?
5.1 Cấu hình Sudo cho User
Để cấu hình Sudo cho User bạn thực hiện lần lượt theo các bước sau đây:
Bước 1: Tạo User bằng lệnh: “adduser<new_user>”
Bước 2: Cập nhật Password cho User mới được tạo bằng lệnh: “passwd <new_user>”
(Lưu ý khi cập nhật Password đó là phải đủ mạnh)
Bước 3: Thêm User mới tạo vào nhóm Wheel bằng lệnh: “usermod -aG wheel username”
Bước 4: Nhập lệnh bên dưới để kiểm tra xem User đã dùng lệnh Sudo được chưa:
su - <new_user> sudo ls –la
5.2 Cấp quyền Sudo cho User
Để cấp quyền Sudo cho User bạn thực hiện lần lượt theo các bước sau đây:
Bước 1: Tạo User bằng lệnh:
“adduser <new_user>”
Bước 2: Thêm tài khoản mới vào nhóm Sudo bằng lệnh:
“adduser <new_user> sudo”
Bước 3: Kiểm tra xe, User có thể dùng lệnh Sudo hay chưa bằng lệnh:
su - <new_user> sudo ls –la
Bài viết giúp bạn hiểu được Sudo là gì? Các lệnh Sudo trong Linux? Ưu điểm của Sudo là gì? Đồng thời, bài viết cũng hướng dẫn cấp quyền Sudo cho User. Để lại comment bên dưới bài viết nếu bạn muốn thảo luận với BKNS hoặc còn thắc mắc bất cứ vấn đề gì. Để cập nhật thêm nhiều bài viết hữu ích khác, đừng quên truy cập https://www.bkns.vn/ thường xuyên bạn nhé!