Sudo là gì?

Ngày 16/01/2015 đăng bởi seo3.vdo@gmail.com

Sudo là gì?

Một trong những câu hỏi thường gặp nhất của người mới sử dụng Ubuntu là về sudo. Cơ chế bảo mật này được kích hoạt mặc định trong Ubuntu và mang lại nhiều ưu điểm hơn cơ chế chuyển sang người dùng khác bằng su truyền thống. Trong đó ưu điểm lớn nhất là cho phép nhà quản trị kiểm soát được các thao tác của người dùng có can thiệp đến hệ thống, giao quyền thực thi “đúng người đúng việc”. Ngoài ra khi thực thi lệnh từ xa thông qua telnet/SSH thì sudo thực sự thể hiện ưu thế. Vì vậy nắm vững cơ chế sudo sẽ giúp ích rất nhiều cho những ai đang sử dụng Ubuntu.

Sudo được dùng khi ta muốn thực thi một lệnh trên Linux với quyền của một user khác. Nếu được cho phép, ta sẽ thực thi một lệnh như là người quản trị hay một user nào khác. Các khai báo “ai được làm gì” đặc tả trong file “/etc/sudoers”. Những ghi nhận (log) của hệ thống khi sudo được sử dụng theo mặc định nằm trong file /var/log/secure (Red Hat/Fedora / CentOS Linux) hoặc /var/log/auth.log (Ubuntu / Debian Linux).

Nếu người triệu gọi sudo là root hoặc khi người triệu gọi và người được “mượn” quyền là một thì sẽ không có xác nhận mật khẩu. Còn ngoài ra, sudo yêu cầu người dùng phải tự xác nhận bằng mật khẩu. Lưu ý ở đây là trong cấu hình mặc định thì mật khẩu để xác nhận này là mật khẩu của người triệu gọi, chứ không phải mật khẩu của root. Khi người dùng đã được xác nhận xong, hệ thống sẽ thiết lập một khoảng thời gian cho phép người triệu gọi tiếp tục dùng sudo mà không cần phải xác nhận mật khẩu lại (mặc định là 15 phút).

Sudo là chữ viết tắt của Superuser Do, dịch nôm na là “Siêu thành viên làm [điều gì đó]“. Nghĩa là nó sẽ cho phép một thành viên có thể thực hiện một lệnh nào đó trong hệ thống dưới quyền của một thành viên khác (Superuser ở đây nghĩa là tài khoản root) mà họ không cần cấp quyền đặc biệt.

Ví dụ, một user bình thường sẽ không thể nào sử dụng các lệnh để dừng một tác vụ nào đó trên hệ thống. Nhưng nếu họ gõ một lệnh dừng tác vụ nào đó mà có kèm chữ sudo đằng trước thì yêu cầu này sẽ được gửi đến hệ thống, hệ thống sẽ kiểm tra xem user đang gửi yêu cầu có trong danh sách sudoers hay không, nếu có thì sẽ cho phép thành viên kia thực thi, không thì báo lỗi và lưu log lại (reported).

Đối với user gõ lệnh sudo, thì họ sẽ được hỏi mật khẩu của chính họ để xác nhận gửi yêu cầu thay vì sử dụng lệnh sulà chuyển sang tài khoản root và nhập mật khẩu của root vì không an toàn lắm.

Hotline tư vấn miễn phí